lighthouse 9.6.8 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1431) hide show
  1. package/.gitattributes +4 -1
  2. package/CONTRIBUTING.md +15 -15
  3. package/build-tracker.config.js +0 -1
  4. package/cli/bin.d.ts +5 -0
  5. package/cli/bin.js +140 -0
  6. package/cli/cli-flags.d.ts +258 -0
  7. package/cli/cli-flags.js +553 -0
  8. package/cli/commands/commands.d.ts +4 -0
  9. package/cli/commands/commands.js +9 -0
  10. package/cli/commands/list-audits.d.ts +2 -0
  11. package/cli/commands/list-audits.js +15 -0
  12. package/cli/commands/list-locales.d.ts +2 -0
  13. package/cli/commands/list-locales.js +15 -0
  14. package/cli/commands/list-trace-categories.d.ts +2 -0
  15. package/cli/commands/list-trace-categories.js +14 -0
  16. package/cli/index.d.ts +3 -0
  17. package/cli/index.js +10 -0
  18. package/cli/printer.d.ts +28 -0
  19. package/cli/printer.js +99 -0
  20. package/cli/run.d.ts +24 -0
  21. package/cli/run.js +284 -0
  22. package/cli/sentry-prompt.d.ts +5 -0
  23. package/cli/sentry-prompt.js +78 -0
  24. package/cli/test/smokehouse/__snapshots__/report-assert-test.js.snap +71 -0
  25. package/cli/test/smokehouse/config/exclusions.d.ts +12 -0
  26. package/cli/test/smokehouse/config/exclusions.js +36 -0
  27. package/cli/test/smokehouse/core-tests.d.ts +4 -0
  28. package/cli/test/smokehouse/core-tests.js +134 -0
  29. package/cli/test/smokehouse/frontends/back-compat-util.d.ts +16 -0
  30. package/cli/test/smokehouse/frontends/back-compat-util.js +41 -0
  31. package/cli/test/smokehouse/frontends/lib.d.ts +8 -0
  32. package/cli/test/smokehouse/frontends/lib.js +48 -0
  33. package/cli/test/smokehouse/frontends/node.d.ts +2 -0
  34. package/cli/test/smokehouse/frontends/node.js +12 -0
  35. package/cli/test/smokehouse/frontends/smokehouse-bin.d.ts +3 -0
  36. package/cli/test/smokehouse/frontends/smokehouse-bin.js +258 -0
  37. package/cli/test/smokehouse/lib/child-process-error.d.ts +21 -0
  38. package/cli/test/smokehouse/lib/child-process-error.js +25 -0
  39. package/cli/test/smokehouse/lib/concurrent-mapper.d.ts +78 -0
  40. package/cli/test/smokehouse/lib/concurrent-mapper.js +125 -0
  41. package/cli/test/smokehouse/lib/local-console.d.ts +33 -0
  42. package/cli/test/smokehouse/lib/local-console.js +50 -0
  43. package/cli/test/smokehouse/lighthouse-runners/bundle.d.ts +16 -0
  44. package/cli/test/smokehouse/lighthouse-runners/bundle.js +158 -0
  45. package/cli/test/smokehouse/lighthouse-runners/cli.d.ts +18 -0
  46. package/cli/test/smokehouse/lighthouse-runners/cli.js +134 -0
  47. package/cli/test/smokehouse/lighthouse-runners/devtools.d.ts +23 -0
  48. package/cli/test/smokehouse/lighthouse-runners/devtools.js +72 -0
  49. package/cli/test/smokehouse/readme.md +208 -0
  50. package/cli/test/smokehouse/report-assert-test.d.ts +2 -0
  51. package/cli/test/smokehouse/report-assert-test.js +298 -0
  52. package/cli/test/smokehouse/report-assert.d.ts +50 -0
  53. package/cli/test/smokehouse/report-assert.js +520 -0
  54. package/cli/test/smokehouse/smokehouse.d.ts +35 -0
  55. package/cli/test/smokehouse/smokehouse.js +336 -0
  56. package/cli/test/smokehouse/version-check-test.d.ts +2 -0
  57. package/cli/test/smokehouse/version-check-test.js +43 -0
  58. package/cli/test/smokehouse/version-check.d.ts +15 -0
  59. package/cli/test/smokehouse/version-check.js +48 -0
  60. package/commitlint.config.js +0 -1
  61. package/core/audits/accessibility/accesskeys.d.ts +10 -0
  62. package/core/audits/accessibility/accesskeys.js +44 -0
  63. package/core/audits/accessibility/aria-allowed-attr.d.ts +10 -0
  64. package/core/audits/accessibility/aria-allowed-attr.js +44 -0
  65. package/core/audits/accessibility/aria-command-name.d.ts +10 -0
  66. package/core/audits/accessibility/aria-command-name.js +42 -0
  67. package/core/audits/accessibility/aria-hidden-body.d.ts +10 -0
  68. package/core/audits/accessibility/aria-hidden-body.js +42 -0
  69. package/core/audits/accessibility/aria-hidden-focus.d.ts +10 -0
  70. package/core/audits/accessibility/aria-hidden-focus.js +42 -0
  71. package/core/audits/accessibility/aria-input-field-name.d.ts +10 -0
  72. package/core/audits/accessibility/aria-input-field-name.js +42 -0
  73. package/core/audits/accessibility/aria-meter-name.d.ts +10 -0
  74. package/core/audits/accessibility/aria-meter-name.js +42 -0
  75. package/core/audits/accessibility/aria-progressbar-name.d.ts +10 -0
  76. package/core/audits/accessibility/aria-progressbar-name.js +42 -0
  77. package/core/audits/accessibility/aria-required-attr.d.ts +10 -0
  78. package/core/audits/accessibility/aria-required-attr.js +43 -0
  79. package/core/audits/accessibility/aria-required-children.d.ts +10 -0
  80. package/core/audits/accessibility/aria-required-children.js +47 -0
  81. package/core/audits/accessibility/aria-required-parent.d.ts +10 -0
  82. package/core/audits/accessibility/aria-required-parent.js +45 -0
  83. package/core/audits/accessibility/aria-roles.d.ts +10 -0
  84. package/core/audits/accessibility/aria-roles.js +44 -0
  85. package/core/audits/accessibility/aria-toggle-field-name.d.ts +10 -0
  86. package/core/audits/accessibility/aria-toggle-field-name.js +42 -0
  87. package/core/audits/accessibility/aria-tooltip-name.d.ts +10 -0
  88. package/core/audits/accessibility/aria-tooltip-name.js +42 -0
  89. package/core/audits/accessibility/aria-treeitem-name.d.ts +10 -0
  90. package/core/audits/accessibility/aria-treeitem-name.js +42 -0
  91. package/core/audits/accessibility/aria-valid-attr-value.d.ts +10 -0
  92. package/core/audits/accessibility/aria-valid-attr-value.js +44 -0
  93. package/core/audits/accessibility/aria-valid-attr.d.ts +10 -0
  94. package/core/audits/accessibility/aria-valid-attr.js +44 -0
  95. package/core/audits/accessibility/axe-audit.d.ts +17 -0
  96. package/core/audits/accessibility/axe-audit.js +113 -0
  97. package/core/audits/accessibility/button-name.d.ts +10 -0
  98. package/core/audits/accessibility/button-name.js +44 -0
  99. package/core/audits/accessibility/bypass.d.ts +10 -0
  100. package/core/audits/accessibility/bypass.js +46 -0
  101. package/core/audits/accessibility/color-contrast.d.ts +10 -0
  102. package/core/audits/accessibility/color-contrast.js +45 -0
  103. package/core/audits/accessibility/definition-list.d.ts +10 -0
  104. package/core/audits/accessibility/definition-list.js +46 -0
  105. package/core/audits/accessibility/dlitem.d.ts +10 -0
  106. package/core/audits/accessibility/dlitem.js +44 -0
  107. package/core/audits/accessibility/document-title.d.ts +10 -0
  108. package/core/audits/accessibility/document-title.js +44 -0
  109. package/core/audits/accessibility/duplicate-id-active.d.ts +10 -0
  110. package/core/audits/accessibility/duplicate-id-active.js +42 -0
  111. package/core/audits/accessibility/duplicate-id-aria.d.ts +10 -0
  112. package/core/audits/accessibility/duplicate-id-aria.js +42 -0
  113. package/core/audits/accessibility/form-field-multiple-labels.d.ts +10 -0
  114. package/core/audits/accessibility/form-field-multiple-labels.js +43 -0
  115. package/core/audits/accessibility/frame-title.d.ts +10 -0
  116. package/core/audits/accessibility/frame-title.js +43 -0
  117. package/core/audits/accessibility/heading-order.d.ts +10 -0
  118. package/core/audits/accessibility/heading-order.js +42 -0
  119. package/core/audits/accessibility/html-has-lang.d.ts +10 -0
  120. package/core/audits/accessibility/html-has-lang.js +46 -0
  121. package/core/audits/accessibility/html-lang-valid.d.ts +10 -0
  122. package/core/audits/accessibility/html-lang-valid.js +45 -0
  123. package/core/audits/accessibility/image-alt.d.ts +10 -0
  124. package/core/audits/accessibility/image-alt.js +44 -0
  125. package/core/audits/accessibility/input-image-alt.d.ts +10 -0
  126. package/core/audits/accessibility/input-image-alt.js +44 -0
  127. package/core/audits/accessibility/label.d.ts +10 -0
  128. package/core/audits/accessibility/label.js +44 -0
  129. package/core/audits/accessibility/link-name.d.ts +10 -0
  130. package/core/audits/accessibility/link-name.js +45 -0
  131. package/core/audits/accessibility/list.d.ts +10 -0
  132. package/core/audits/accessibility/list.js +46 -0
  133. package/core/audits/accessibility/listitem.d.ts +10 -0
  134. package/core/audits/accessibility/listitem.js +45 -0
  135. package/core/audits/accessibility/manual/custom-controls-labels.d.ts +8 -0
  136. package/core/audits/accessibility/manual/custom-controls-labels.js +27 -0
  137. package/core/audits/accessibility/manual/custom-controls-roles.d.ts +8 -0
  138. package/core/audits/accessibility/manual/custom-controls-roles.js +27 -0
  139. package/core/audits/accessibility/manual/focus-traps.d.ts +8 -0
  140. package/core/audits/accessibility/manual/focus-traps.js +27 -0
  141. package/core/audits/accessibility/manual/focusable-controls.d.ts +8 -0
  142. package/core/audits/accessibility/manual/focusable-controls.js +27 -0
  143. package/core/audits/accessibility/manual/interactive-element-affordance.d.ts +8 -0
  144. package/core/audits/accessibility/manual/interactive-element-affordance.js +27 -0
  145. package/core/audits/accessibility/manual/logical-tab-order.d.ts +8 -0
  146. package/core/audits/accessibility/manual/logical-tab-order.js +27 -0
  147. package/core/audits/accessibility/manual/managed-focus.d.ts +8 -0
  148. package/core/audits/accessibility/manual/managed-focus.js +27 -0
  149. package/core/audits/accessibility/manual/offscreen-content-hidden.d.ts +9 -0
  150. package/core/audits/accessibility/manual/offscreen-content-hidden.js +28 -0
  151. package/core/audits/accessibility/manual/use-landmarks.d.ts +8 -0
  152. package/core/audits/accessibility/manual/use-landmarks.js +27 -0
  153. package/core/audits/accessibility/manual/visual-order-follows-dom.d.ts +8 -0
  154. package/core/audits/accessibility/manual/visual-order-follows-dom.js +27 -0
  155. package/core/audits/accessibility/meta-refresh.d.ts +10 -0
  156. package/core/audits/accessibility/meta-refresh.js +45 -0
  157. package/core/audits/accessibility/meta-viewport.d.ts +10 -0
  158. package/core/audits/accessibility/meta-viewport.js +46 -0
  159. package/core/audits/accessibility/object-alt.d.ts +10 -0
  160. package/core/audits/accessibility/object-alt.js +44 -0
  161. package/core/audits/accessibility/tabindex.d.ts +10 -0
  162. package/core/audits/accessibility/tabindex.js +44 -0
  163. package/core/audits/accessibility/td-headers-attr.d.ts +10 -0
  164. package/core/audits/accessibility/td-headers-attr.js +48 -0
  165. package/core/audits/accessibility/th-has-data-cells.d.ts +10 -0
  166. package/core/audits/accessibility/th-has-data-cells.js +48 -0
  167. package/core/audits/accessibility/valid-lang.d.ts +10 -0
  168. package/core/audits/accessibility/valid-lang.js +44 -0
  169. package/core/audits/accessibility/video-caption.d.ts +10 -0
  170. package/core/audits/accessibility/video-caption.js +46 -0
  171. package/core/audits/audit.d.ts +157 -0
  172. package/core/audits/audit.js +405 -0
  173. package/core/audits/autocomplete.d.ts +36 -0
  174. package/core/audits/autocomplete.js +290 -0
  175. package/core/audits/bf-cache.d.ts +21 -0
  176. package/core/audits/bf-cache.js +120 -0
  177. package/core/audits/bootup-time.d.ts +26 -0
  178. package/core/audits/bootup-time.js +151 -0
  179. package/core/audits/byte-efficiency/byte-efficiency-audit.d.ts +82 -0
  180. package/core/audits/byte-efficiency/byte-efficiency-audit.js +260 -0
  181. package/core/audits/byte-efficiency/duplicated-javascript.d.ts +52 -0
  182. package/core/audits/byte-efficiency/duplicated-javascript.js +247 -0
  183. package/core/audits/byte-efficiency/efficient-animated-content.d.ts +23 -0
  184. package/core/audits/byte-efficiency/efficient-animated-content.js +92 -0
  185. package/core/audits/byte-efficiency/legacy-javascript.d.ts +100 -0
  186. package/core/audits/byte-efficiency/legacy-javascript.js +479 -0
  187. package/core/audits/byte-efficiency/modern-image-formats.d.ts +38 -0
  188. package/core/audits/byte-efficiency/modern-image-formats.js +186 -0
  189. package/core/audits/byte-efficiency/offscreen-images.d.ts +75 -0
  190. package/core/audits/byte-efficiency/offscreen-images.js +253 -0
  191. package/{lighthouse-core → core}/audits/byte-efficiency/polyfill-graph-data.json +0 -0
  192. package/core/audits/byte-efficiency/render-blocking-resources.d.ts +55 -0
  193. package/core/audits/byte-efficiency/render-blocking-resources.js +307 -0
  194. package/core/audits/byte-efficiency/total-byte-weight.d.ts +21 -0
  195. package/core/audits/byte-efficiency/total-byte-weight.js +109 -0
  196. package/core/audits/byte-efficiency/unminified-css.d.ts +36 -0
  197. package/core/audits/byte-efficiency/unminified-css.js +114 -0
  198. package/core/audits/byte-efficiency/unminified-javascript.d.ts +37 -0
  199. package/core/audits/byte-efficiency/unminified-javascript.js +118 -0
  200. package/core/audits/byte-efficiency/unused-css-rules.d.ts +16 -0
  201. package/core/audits/byte-efficiency/unused-css-rules.js +69 -0
  202. package/core/audits/byte-efficiency/unused-javascript.d.ts +27 -0
  203. package/core/audits/byte-efficiency/unused-javascript.js +163 -0
  204. package/core/audits/byte-efficiency/uses-long-cache-ttl.d.ts +61 -0
  205. package/core/audits/byte-efficiency/uses-long-cache-ttl.js +297 -0
  206. package/core/audits/byte-efficiency/uses-optimized-images.d.ts +33 -0
  207. package/core/audits/byte-efficiency/uses-optimized-images.js +145 -0
  208. package/core/audits/byte-efficiency/uses-responsive-images-snapshot.d.ts +16 -0
  209. package/core/audits/byte-efficiency/uses-responsive-images-snapshot.js +100 -0
  210. package/core/audits/byte-efficiency/uses-responsive-images.d.ts +45 -0
  211. package/core/audits/byte-efficiency/uses-responsive-images.js +201 -0
  212. package/core/audits/byte-efficiency/uses-text-compression.d.ts +14 -0
  213. package/core/audits/byte-efficiency/uses-text-compression.js +100 -0
  214. package/core/audits/content-width.d.ts +17 -0
  215. package/core/audits/content-width.js +76 -0
  216. package/core/audits/critical-request-chains.d.ts +44 -0
  217. package/core/audits/critical-request-chains.js +218 -0
  218. package/core/audits/csp-xss.d.ts +51 -0
  219. package/core/audits/csp-xss.js +186 -0
  220. package/core/audits/deprecations.d.ts +19 -0
  221. package/core/audits/deprecations.js +114 -0
  222. package/core/audits/diagnostics.d.ts +11 -0
  223. package/core/audits/diagnostics.js +79 -0
  224. package/core/audits/dobetterweb/charset.d.ts +19 -0
  225. package/core/audits/dobetterweb/charset.js +93 -0
  226. package/core/audits/dobetterweb/doctype.d.ts +21 -0
  227. package/core/audits/dobetterweb/doctype.js +120 -0
  228. package/core/audits/dobetterweb/dom-size.d.ts +26 -0
  229. package/core/audits/dobetterweb/dom-size.js +134 -0
  230. package/core/audits/dobetterweb/geolocation-on-start.d.ts +16 -0
  231. package/core/audits/dobetterweb/geolocation-on-start.js +69 -0
  232. package/core/audits/dobetterweb/inspector-issues.d.ts +45 -0
  233. package/core/audits/dobetterweb/inspector-issues.js +191 -0
  234. package/core/audits/dobetterweb/js-libraries.d.ts +15 -0
  235. package/core/audits/dobetterweb/js-libraries.js +87 -0
  236. package/core/audits/dobetterweb/no-document-write.d.ts +16 -0
  237. package/core/audits/dobetterweb/no-document-write.js +84 -0
  238. package/core/audits/dobetterweb/notification-on-start.d.ts +16 -0
  239. package/core/audits/dobetterweb/notification-on-start.js +68 -0
  240. package/core/audits/dobetterweb/paste-preventing-inputs.d.ts +15 -0
  241. package/core/audits/dobetterweb/paste-preventing-inputs.js +67 -0
  242. package/core/audits/dobetterweb/uses-http2.d.ts +72 -0
  243. package/core/audits/dobetterweb/uses-http2.js +264 -0
  244. package/core/audits/dobetterweb/uses-passive-event-listeners.d.ts +16 -0
  245. package/core/audits/dobetterweb/uses-passive-event-listeners.js +67 -0
  246. package/core/audits/errors-in-console.d.ts +31 -0
  247. package/core/audits/errors-in-console.js +120 -0
  248. package/core/audits/final-screenshot.d.ts +11 -0
  249. package/core/audits/final-screenshot.js +58 -0
  250. package/core/audits/font-display.d.ts +32 -0
  251. package/core/audits/font-display.js +193 -0
  252. package/core/audits/image-aspect-ratio.d.ts +30 -0
  253. package/core/audits/image-aspect-ratio.js +122 -0
  254. package/core/audits/image-size-responsive.d.ts +28 -0
  255. package/core/audits/image-size-responsive.js +332 -0
  256. package/core/audits/installable-manifest.d.ts +118 -0
  257. package/core/audits/installable-manifest.js +265 -0
  258. package/core/audits/is-on-https.d.ts +23 -0
  259. package/core/audits/is-on-https.js +123 -0
  260. package/core/audits/largest-contentful-paint-element.d.ts +14 -0
  261. package/core/audits/largest-contentful-paint-element.js +69 -0
  262. package/core/audits/layout-shift-elements.d.ts +15 -0
  263. package/core/audits/layout-shift-elements.js +74 -0
  264. package/core/audits/lcp-lazy-loaded.d.ts +21 -0
  265. package/core/audits/lcp-lazy-loaded.js +84 -0
  266. package/core/audits/long-tasks.d.ts +16 -0
  267. package/core/audits/long-tasks.js +124 -0
  268. package/core/audits/main-thread-tasks.d.ts +11 -0
  269. package/core/audits/main-thread-tasks.js +58 -0
  270. package/core/audits/mainthread-work-breakdown.d.ts +28 -0
  271. package/core/audits/mainthread-work-breakdown.js +135 -0
  272. package/core/audits/manual/manual-audit.d.ts +13 -0
  273. package/core/audits/manual/manual-audit.js +36 -0
  274. package/core/audits/manual/pwa-cross-browser.d.ts +12 -0
  275. package/core/audits/manual/pwa-cross-browser.js +40 -0
  276. package/core/audits/manual/pwa-each-page-has-url.d.ts +12 -0
  277. package/core/audits/manual/pwa-each-page-has-url.js +38 -0
  278. package/core/audits/manual/pwa-page-transitions.d.ts +12 -0
  279. package/core/audits/manual/pwa-page-transitions.js +38 -0
  280. package/core/audits/maskable-icon.d.ts +25 -0
  281. package/core/audits/maskable-icon.js +70 -0
  282. package/core/audits/metrics/cumulative-layout-shift.d.ts +21 -0
  283. package/core/audits/metrics/cumulative-layout-shift.js +79 -0
  284. package/core/audits/metrics/experimental-interaction-to-next-paint.d.ts +21 -0
  285. package/core/audits/metrics/experimental-interaction-to-next-paint.js +88 -0
  286. package/core/audits/metrics/first-contentful-paint-3g.d.ts +15 -0
  287. package/core/audits/metrics/first-contentful-paint-3g.js +69 -0
  288. package/core/audits/metrics/first-contentful-paint.d.ts +25 -0
  289. package/core/audits/metrics/first-contentful-paint.js +85 -0
  290. package/core/audits/metrics/first-meaningful-paint.d.ts +28 -0
  291. package/core/audits/metrics/first-meaningful-paint.js +89 -0
  292. package/core/audits/metrics/interactive.d.ts +31 -0
  293. package/core/audits/metrics/interactive.js +93 -0
  294. package/core/audits/metrics/largest-contentful-paint.d.ts +25 -0
  295. package/core/audits/metrics/largest-contentful-paint.js +94 -0
  296. package/core/audits/metrics/max-potential-fid.d.ts +23 -0
  297. package/core/audits/metrics/max-potential-fid.js +77 -0
  298. package/core/audits/metrics/speed-index.d.ts +27 -0
  299. package/core/audits/metrics/speed-index.js +88 -0
  300. package/core/audits/metrics/total-blocking-time.d.ts +32 -0
  301. package/core/audits/metrics/total-blocking-time.js +118 -0
  302. package/core/audits/metrics.d.ts +11 -0
  303. package/core/audits/metrics.js +73 -0
  304. package/core/audits/multi-check-audit.d.ts +28 -0
  305. package/core/audits/multi-check-audit.js +82 -0
  306. package/core/audits/network-requests.d.ts +11 -0
  307. package/core/audits/network-requests.js +129 -0
  308. package/core/audits/network-rtt.d.ts +15 -0
  309. package/core/audits/network-rtt.js +89 -0
  310. package/core/audits/network-server-latency.d.ts +15 -0
  311. package/core/audits/network-server-latency.js +88 -0
  312. package/core/audits/no-unload-listeners.d.ts +16 -0
  313. package/core/audits/no-unload-listeners.js +86 -0
  314. package/core/audits/non-composited-animations.d.ts +21 -0
  315. package/core/audits/non-composited-animations.js +205 -0
  316. package/core/audits/oopif-iframe-test-audit.d.ts +14 -0
  317. package/core/audits/oopif-iframe-test-audit.js +29 -0
  318. package/core/audits/performance-budget.d.ts +39 -0
  319. package/core/audits/performance-budget.js +154 -0
  320. package/core/audits/predictive-perf.d.ts +11 -0
  321. package/core/audits/predictive-perf.js +100 -0
  322. package/core/audits/preload-fonts.d.ts +29 -0
  323. package/core/audits/preload-fonts.js +106 -0
  324. package/core/audits/prioritize-lcp-image.d.ts +76 -0
  325. package/core/audits/prioritize-lcp-image.js +290 -0
  326. package/core/audits/redirects.d.ts +33 -0
  327. package/core/audits/redirects.js +164 -0
  328. package/core/audits/resource-summary.d.ts +16 -0
  329. package/core/audits/resource-summary.js +104 -0
  330. package/core/audits/screenshot-thumbnails.d.ts +33 -0
  331. package/core/audits/screenshot-thumbnails.js +168 -0
  332. package/core/audits/script-elements-test-audit.d.ts +14 -0
  333. package/core/audits/script-elements-test-audit.js +29 -0
  334. package/core/audits/script-treemap-data.d.ts +42 -0
  335. package/core/audits/script-treemap-data.js +287 -0
  336. package/core/audits/seo/canonical.d.ts +51 -0
  337. package/core/audits/seo/canonical.js +217 -0
  338. package/core/audits/seo/crawlable-anchors.d.ts +16 -0
  339. package/core/audits/seo/crawlable-anchors.js +93 -0
  340. package/core/audits/seo/font-size.d.ts +24 -0
  341. package/core/audits/seo/font-size.js +344 -0
  342. package/core/audits/seo/hreflang.d.ts +28 -0
  343. package/core/audits/seo/hreflang.js +148 -0
  344. package/core/audits/seo/http-status-code.d.ts +16 -0
  345. package/core/audits/seo/http-status-code.js +68 -0
  346. package/core/audits/seo/is-crawlable.d.ts +38 -0
  347. package/core/audits/seo/is-crawlable.js +223 -0
  348. package/core/audits/seo/link-text.d.ts +16 -0
  349. package/core/audits/seo/link-text.js +160 -0
  350. package/core/audits/seo/manual/structured-data.d.ts +12 -0
  351. package/core/audits/seo/manual/structured-data.js +37 -0
  352. package/core/audits/seo/meta-description.d.ts +16 -0
  353. package/core/audits/seo/meta-description.js +66 -0
  354. package/core/audits/seo/plugins.d.ts +15 -0
  355. package/core/audits/seo/plugins.js +150 -0
  356. package/core/audits/seo/robots-txt.d.ts +18 -0
  357. package/core/audits/seo/robots-txt.js +255 -0
  358. package/core/audits/seo/tap-targets.d.ts +50 -0
  359. package/core/audits/seo/tap-targets.js +352 -0
  360. package/core/audits/server-response-time.d.ts +21 -0
  361. package/core/audits/server-response-time.js +90 -0
  362. package/core/audits/service-worker.d.ts +46 -0
  363. package/core/audits/service-worker.js +182 -0
  364. package/core/audits/splash-screen.d.ts +37 -0
  365. package/core/audits/splash-screen.js +98 -0
  366. package/core/audits/themed-omnibox.d.ts +42 -0
  367. package/core/audits/themed-omnibox.js +102 -0
  368. package/core/audits/third-party-facades.d.ts +42 -0
  369. package/core/audits/third-party-facades.js +224 -0
  370. package/core/audits/third-party-summary.d.ts +59 -0
  371. package/core/audits/third-party-summary.js +257 -0
  372. package/core/audits/timing-budget.d.ts +43 -0
  373. package/core/audits/timing-budget.js +174 -0
  374. package/core/audits/unsized-images.d.ts +39 -0
  375. package/core/audits/unsized-images.js +162 -0
  376. package/core/audits/user-timings.d.ts +43 -0
  377. package/core/audits/user-timings.js +118 -0
  378. package/core/audits/uses-rel-preconnect.d.ts +37 -0
  379. package/core/audits/uses-rel-preconnect.js +253 -0
  380. package/core/audits/uses-rel-preload.d.ts +61 -0
  381. package/core/audits/uses-rel-preload.js +269 -0
  382. package/core/audits/valid-source-maps.d.ts +29 -0
  383. package/core/audits/valid-source-maps.js +160 -0
  384. package/core/audits/viewport.d.ts +17 -0
  385. package/core/audits/viewport.js +64 -0
  386. package/core/audits/violation-audit.d.ts +14 -0
  387. package/core/audits/violation-audit.js +49 -0
  388. package/core/audits/work-during-interaction.d.ts +82 -0
  389. package/core/audits/work-during-interaction.js +279 -0
  390. package/core/computed/computed-artifact.d.ts +15 -0
  391. package/core/computed/computed-artifact.js +62 -0
  392. package/core/computed/critical-request-chains.d.ts +40 -0
  393. package/core/computed/critical-request-chains.js +143 -0
  394. package/core/computed/entity-classification.d.ts +29 -0
  395. package/core/computed/entity-classification.js +103 -0
  396. package/core/computed/image-records.d.ts +24 -0
  397. package/core/computed/image-records.js +64 -0
  398. package/core/computed/js-bundles.d.ts +13 -0
  399. package/core/computed/js-bundles.js +120 -0
  400. package/core/computed/load-simulator.d.ts +28 -0
  401. package/core/computed/load-simulator.js +92 -0
  402. package/core/computed/main-resource.d.ts +25 -0
  403. package/core/computed/main-resource.js +35 -0
  404. package/core/computed/main-thread-tasks.d.ts +15 -0
  405. package/core/computed/main-thread-tasks.js +25 -0
  406. package/core/computed/manifest-values.d.ts +24 -0
  407. package/core/computed/manifest-values.js +136 -0
  408. package/core/computed/metrics/cumulative-layout-shift.d.ts +53 -0
  409. package/core/computed/metrics/cumulative-layout-shift.js +125 -0
  410. package/core/computed/metrics/first-contentful-paint-all-frames.d.ts +19 -0
  411. package/core/computed/metrics/first-contentful-paint-all-frames.js +37 -0
  412. package/core/computed/metrics/first-contentful-paint.d.ts +15 -0
  413. package/core/computed/metrics/first-contentful-paint.js +40 -0
  414. package/core/computed/metrics/first-meaningful-paint.d.ts +15 -0
  415. package/core/computed/metrics/first-meaningful-paint.js +44 -0
  416. package/core/computed/metrics/interactive.d.ts +61 -0
  417. package/core/computed/metrics/interactive.js +192 -0
  418. package/core/computed/metrics/lantern-first-contentful-paint.d.ts +48 -0
  419. package/core/computed/metrics/lantern-first-contentful-paint.js +204 -0
  420. package/core/computed/metrics/lantern-first-meaningful-paint.d.ts +12 -0
  421. package/core/computed/metrics/lantern-first-meaningful-paint.js +83 -0
  422. package/core/computed/metrics/lantern-interactive.d.ts +31 -0
  423. package/core/computed/metrics/lantern-interactive.js +113 -0
  424. package/core/computed/metrics/lantern-largest-contentful-paint.d.ts +25 -0
  425. package/core/computed/metrics/lantern-largest-contentful-paint.js +111 -0
  426. package/core/computed/metrics/lantern-max-potential-fid.d.ts +30 -0
  427. package/core/computed/metrics/lantern-max-potential-fid.js +93 -0
  428. package/core/computed/metrics/lantern-metric.d.ts +78 -0
  429. package/core/computed/metrics/lantern-metric.js +162 -0
  430. package/core/computed/metrics/lantern-speed-index.d.ts +38 -0
  431. package/core/computed/metrics/lantern-speed-index.js +150 -0
  432. package/core/computed/metrics/lantern-total-blocking-time.d.ts +31 -0
  433. package/core/computed/metrics/lantern-total-blocking-time.js +126 -0
  434. package/core/computed/metrics/largest-contentful-paint-all-frames.d.ts +20 -0
  435. package/core/computed/metrics/largest-contentful-paint-all-frames.js +45 -0
  436. package/core/computed/metrics/largest-contentful-paint.d.ts +15 -0
  437. package/core/computed/metrics/largest-contentful-paint.js +52 -0
  438. package/core/computed/metrics/max-potential-fid.d.ts +15 -0
  439. package/core/computed/metrics/max-potential-fid.js +45 -0
  440. package/core/computed/metrics/metric.d.ts +38 -0
  441. package/core/computed/metrics/metric.js +100 -0
  442. package/core/computed/metrics/navigation-metric.d.ts +16 -0
  443. package/core/computed/metrics/navigation-metric.js +46 -0
  444. package/core/computed/metrics/responsiveness.d.ts +87 -0
  445. package/core/computed/metrics/responsiveness.js +160 -0
  446. package/core/computed/metrics/speed-index.d.ts +10 -0
  447. package/core/computed/metrics/speed-index.js +40 -0
  448. package/core/computed/metrics/tbt-utils.d.ts +18 -0
  449. package/core/computed/metrics/tbt-utils.js +56 -0
  450. package/core/computed/metrics/timing-summary.d.ts +46 -0
  451. package/core/computed/metrics/timing-summary.js +157 -0
  452. package/core/computed/metrics/total-blocking-time.d.ts +23 -0
  453. package/core/computed/metrics/total-blocking-time.js +74 -0
  454. package/core/computed/module-duplication.d.ts +37 -0
  455. package/core/computed/module-duplication.js +138 -0
  456. package/core/computed/network-analysis.d.ts +20 -0
  457. package/core/computed/network-analysis.js +64 -0
  458. package/core/computed/network-records.d.ts +15 -0
  459. package/core/computed/network-records.js +22 -0
  460. package/core/computed/page-dependency-graph.d.ts +88 -0
  461. package/core/computed/page-dependency-graph.js +516 -0
  462. package/core/computed/processed-navigation.d.ts +21 -0
  463. package/core/computed/processed-navigation.js +37 -0
  464. package/core/computed/processed-trace.d.ts +14 -0
  465. package/core/computed/processed-trace.js +21 -0
  466. package/core/computed/resource-summary.d.ts +46 -0
  467. package/core/computed/resource-summary.js +118 -0
  468. package/core/computed/screenshots.d.ts +20 -0
  469. package/core/computed/screenshots.js +29 -0
  470. package/core/computed/speedline.d.ts +15 -0
  471. package/core/computed/speedline.js +55 -0
  472. package/core/computed/unused-css.d.ts +62 -0
  473. package/core/computed/unused-css.js +153 -0
  474. package/core/computed/unused-javascript-summary.d.ts +71 -0
  475. package/core/computed/unused-javascript-summary.js +155 -0
  476. package/core/computed/user-timings.d.ts +31 -0
  477. package/core/computed/user-timings.js +83 -0
  478. package/core/computed/viewport-meta.d.ts +35 -0
  479. package/core/computed/viewport-meta.js +56 -0
  480. package/core/config/budget.d.ts +74 -0
  481. package/core/config/budget.js +340 -0
  482. package/core/config/config-helpers.d.ts +94 -0
  483. package/core/config/config-helpers.js +630 -0
  484. package/core/config/config-plugin.d.ts +46 -0
  485. package/core/config/config-plugin.js +250 -0
  486. package/core/config/config.d.ts +28 -0
  487. package/core/config/config.js +344 -0
  488. package/core/config/constants.d.ts +86 -0
  489. package/core/config/constants.js +175 -0
  490. package/core/config/default-config.d.ts +5 -0
  491. package/core/config/default-config.js +637 -0
  492. package/core/config/desktop-config.d.ts +5 -0
  493. package/core/config/desktop-config.js +21 -0
  494. package/core/config/experimental-config.d.ts +13 -0
  495. package/core/config/experimental-config.js +29 -0
  496. package/core/config/filters.d.ts +83 -0
  497. package/core/config/filters.js +344 -0
  498. package/core/config/full-config.d.ts +9 -0
  499. package/core/config/full-config.js +13 -0
  500. package/core/config/lr-desktop-config.d.ts +4 -0
  501. package/core/config/lr-desktop-config.js +28 -0
  502. package/core/config/lr-mobile-config.d.ts +9 -0
  503. package/core/config/lr-mobile-config.js +33 -0
  504. package/core/config/metrics-to-audits.d.ts +19 -0
  505. package/core/config/metrics-to-audits.js +61 -0
  506. package/core/config/perf-config.d.ts +9 -0
  507. package/core/config/perf-config.js +16 -0
  508. package/core/config/validation.d.ts +77 -0
  509. package/core/config/validation.js +312 -0
  510. package/core/gather/base-artifacts.d.ts +16 -0
  511. package/core/gather/base-artifacts.js +95 -0
  512. package/core/gather/base-gatherer.d.ts +72 -0
  513. package/core/gather/base-gatherer.js +108 -0
  514. package/core/gather/driver/dom.d.ts +20 -0
  515. package/core/gather/driver/dom.js +57 -0
  516. package/core/gather/driver/environment.d.ts +35 -0
  517. package/core/gather/driver/environment.js +105 -0
  518. package/core/gather/driver/execution-context.d.ts +101 -0
  519. package/core/gather/driver/execution-context.js +262 -0
  520. package/core/gather/driver/navigation.d.ts +33 -0
  521. package/core/gather/driver/navigation.js +182 -0
  522. package/core/gather/driver/network-monitor.d.ts +82 -0
  523. package/core/gather/driver/network-monitor.js +260 -0
  524. package/core/gather/driver/network.d.ts +10 -0
  525. package/core/gather/driver/network.js +27 -0
  526. package/core/gather/driver/prepare.d.ts +52 -0
  527. package/core/gather/driver/prepare.js +244 -0
  528. package/core/gather/driver/service-workers.d.ts +16 -0
  529. package/core/gather/driver/service-workers.js +52 -0
  530. package/core/gather/driver/storage.d.ts +24 -0
  531. package/core/gather/driver/storage.js +149 -0
  532. package/core/gather/driver/target-manager.d.ts +61 -0
  533. package/core/gather/driver/target-manager.js +209 -0
  534. package/core/gather/driver/wait-for-condition.d.ts +116 -0
  535. package/core/gather/driver/wait-for-condition.js +544 -0
  536. package/core/gather/driver.d.ts +30 -0
  537. package/core/gather/driver.js +92 -0
  538. package/core/gather/fetcher.d.ts +63 -0
  539. package/core/gather/fetcher.js +143 -0
  540. package/core/gather/gatherers/accessibility.d.ts +23 -0
  541. package/core/gather/gatherers/accessibility.js +199 -0
  542. package/core/gather/gatherers/anchor-elements.d.ts +10 -0
  543. package/core/gather/gatherers/anchor-elements.js +132 -0
  544. package/core/gather/gatherers/bf-cache-failures.d.ts +43 -0
  545. package/core/gather/gatherers/bf-cache-failures.js +179 -0
  546. package/core/gather/gatherers/cache-contents.d.ts +11 -0
  547. package/core/gather/gatherers/cache-contents.js +58 -0
  548. package/core/gather/gatherers/console-messages.d.ts +39 -0
  549. package/core/gather/gatherers/console-messages.js +174 -0
  550. package/core/gather/gatherers/css-usage.d.ts +39 -0
  551. package/core/gather/gatherers/css-usage.js +150 -0
  552. package/core/gather/gatherers/devtools-log-compat.d.ts +13 -0
  553. package/core/gather/gatherers/devtools-log-compat.js +35 -0
  554. package/core/gather/gatherers/devtools-log.d.ts +48 -0
  555. package/core/gather/gatherers/devtools-log.js +115 -0
  556. package/core/gather/gatherers/dobetterweb/doctype.d.ts +10 -0
  557. package/core/gather/gatherers/dobetterweb/doctype.js +47 -0
  558. package/core/gather/gatherers/dobetterweb/domstats.d.ts +10 -0
  559. package/core/gather/gatherers/dobetterweb/domstats.js +102 -0
  560. package/core/gather/gatherers/dobetterweb/optimized-images.d.ts +61 -0
  561. package/core/gather/gatherers/dobetterweb/optimized-images.js +193 -0
  562. package/core/gather/gatherers/dobetterweb/response-compression.d.ts +30 -0
  563. package/core/gather/gatherers/dobetterweb/response-compression.js +155 -0
  564. package/core/gather/gatherers/dobetterweb/tags-blocking-first-paint.d.ts +53 -0
  565. package/core/gather/gatherers/dobetterweb/tags-blocking-first-paint.js +237 -0
  566. package/core/gather/gatherers/full-page-screenshot.d.ts +35 -0
  567. package/core/gather/gatherers/full-page-screenshot.js +258 -0
  568. package/core/gather/gatherers/gatherer.d.ts +46 -0
  569. package/core/gather/gatherers/gatherer.js +58 -0
  570. package/core/gather/gatherers/global-listeners.d.ts +27 -0
  571. package/core/gather/gatherers/global-listeners.js +91 -0
  572. package/core/gather/gatherers/iframe-elements.d.ts +11 -0
  573. package/core/gather/gatherers/iframe-elements.js +67 -0
  574. package/core/gather/gatherers/image-elements.d.ts +35 -0
  575. package/core/gather/gatherers/image-elements.js +378 -0
  576. package/core/gather/gatherers/inputs.d.ts +10 -0
  577. package/core/gather/gatherers/inputs.js +118 -0
  578. package/core/gather/gatherers/inspector-issues.d.ts +38 -0
  579. package/core/gather/gatherers/inspector-issues.js +126 -0
  580. package/core/gather/gatherers/installability-errors.d.ts +17 -0
  581. package/core/gather/gatherers/installability-errors.js +56 -0
  582. package/core/gather/gatherers/js-usage.d.ts +22 -0
  583. package/core/gather/gatherers/js-usage.js +74 -0
  584. package/core/gather/gatherers/link-elements.d.ts +39 -0
  585. package/core/gather/gatherers/link-elements.js +181 -0
  586. package/core/gather/gatherers/main-document-content.d.ts +27 -0
  587. package/core/gather/gatherers/main-document-content.js +53 -0
  588. package/core/gather/gatherers/meta-elements.d.ts +10 -0
  589. package/core/gather/gatherers/meta-elements.js +67 -0
  590. package/core/gather/gatherers/network-user-agent.d.ts +18 -0
  591. package/core/gather/gatherers/network-user-agent.js +41 -0
  592. package/core/gather/gatherers/script-elements.d.ts +26 -0
  593. package/core/gather/gatherers/script-elements.js +110 -0
  594. package/core/gather/gatherers/scripts.d.ts +27 -0
  595. package/core/gather/gatherers/scripts.js +139 -0
  596. package/core/gather/gatherers/seo/embedded-content.d.ts +10 -0
  597. package/core/gather/gatherers/seo/embedded-content.js +63 -0
  598. package/core/gather/gatherers/seo/font-size.d.ts +131 -0
  599. package/core/gather/gatherers/seo/font-size.js +339 -0
  600. package/core/gather/gatherers/seo/robots-txt.d.ts +10 -0
  601. package/core/gather/gatherers/seo/robots-txt.js +27 -0
  602. package/core/gather/gatherers/seo/tap-targets.d.ts +21 -0
  603. package/core/gather/gatherers/seo/tap-targets.js +389 -0
  604. package/core/gather/gatherers/service-worker.d.ts +16 -0
  605. package/core/gather/gatherers/service-worker.js +44 -0
  606. package/core/gather/gatherers/source-maps.d.ts +50 -0
  607. package/core/gather/gatherers/source-maps.js +155 -0
  608. package/core/gather/gatherers/stacks.d.ts +38 -0
  609. package/core/gather/gatherers/stacks.js +137 -0
  610. package/core/gather/gatherers/trace-compat.d.ts +13 -0
  611. package/core/gather/gatherers/trace-compat.js +35 -0
  612. package/core/gather/gatherers/trace-elements.d.ts +83 -0
  613. package/core/gather/gatherers/trace-elements.js +349 -0
  614. package/core/gather/gatherers/trace.d.ts +23 -0
  615. package/core/gather/gatherers/trace.js +130 -0
  616. package/core/gather/gatherers/viewport-dimensions.d.ts +10 -0
  617. package/core/gather/gatherers/viewport-dimensions.js +57 -0
  618. package/core/gather/gatherers/web-app-manifest.d.ts +32 -0
  619. package/core/gather/gatherers/web-app-manifest.js +106 -0
  620. package/core/gather/navigation-runner.d.ts +94 -0
  621. package/core/gather/navigation-runner.js +386 -0
  622. package/core/gather/runner-helpers.d.ts +39 -0
  623. package/core/gather/runner-helpers.js +159 -0
  624. package/core/gather/session.d.ts +50 -0
  625. package/core/gather/session.js +114 -0
  626. package/core/gather/snapshot-runner.d.ts +10 -0
  627. package/core/gather/snapshot-runner.js +67 -0
  628. package/core/gather/timespan-runner.d.ts +12 -0
  629. package/core/gather/timespan-runner.js +85 -0
  630. package/core/index.cjs +21 -0
  631. package/core/index.d.cts +4 -0
  632. package/core/index.d.ts +88 -0
  633. package/core/index.js +172 -0
  634. package/core/legacy/config/config.d.ts +107 -0
  635. package/core/legacy/config/config.js +566 -0
  636. package/core/legacy/config/legacy-default-config.d.ts +4 -0
  637. package/core/legacy/config/legacy-default-config.js +87 -0
  638. package/core/legacy/gather/connections/connection.d.ts +75 -0
  639. package/core/legacy/gather/connections/connection.js +181 -0
  640. package/core/legacy/gather/connections/cri.d.ts +27 -0
  641. package/core/legacy/gather/connections/cri.js +162 -0
  642. package/core/legacy/gather/connections/raw.d.ts +20 -0
  643. package/core/legacy/gather/connections/raw.js +57 -0
  644. package/core/legacy/gather/driver.d.ts +215 -0
  645. package/core/legacy/gather/driver.js +469 -0
  646. package/core/legacy/gather/gather-runner.d.ts +166 -0
  647. package/core/legacy/gather/gather-runner.js +590 -0
  648. package/core/lib/arbitrary-equality-map.d.ts +47 -0
  649. package/core/lib/arbitrary-equality-map.js +80 -0
  650. package/core/lib/asset-saver.d.ts +101 -0
  651. package/core/lib/asset-saver.js +451 -0
  652. package/core/lib/axe.d.ts +2 -0
  653. package/core/lib/axe.js +17 -0
  654. package/core/lib/bf-cache-strings.d.ts +121 -0
  655. package/core/lib/bf-cache-strings.js +661 -0
  656. package/core/lib/cdt/Common.d.ts +3 -0
  657. package/core/lib/cdt/Common.js +12 -0
  658. package/core/lib/cdt/Platform.d.ts +26 -0
  659. package/core/lib/cdt/Platform.js +57 -0
  660. package/core/lib/cdt/SDK.d.ts +2 -0
  661. package/core/lib/cdt/SDK.js +28 -0
  662. package/core/lib/cdt/generated/ParsedURL.d.ts +28 -0
  663. package/core/lib/cdt/generated/ParsedURL.js +178 -0
  664. package/core/lib/cdt/generated/SourceMap.d.ts +100 -0
  665. package/core/lib/cdt/generated/SourceMap.js +527 -0
  666. package/core/lib/cdt/package.json +4 -0
  667. package/core/lib/csp-evaluator.d.ts +41 -0
  668. package/core/lib/csp-evaluator.js +170 -0
  669. package/core/lib/dependency-graph/base-node.d.ts +161 -0
  670. package/core/lib/dependency-graph/base-node.js +364 -0
  671. package/core/lib/dependency-graph/cpu-node.d.ts +34 -0
  672. package/core/lib/dependency-graph/cpu-node.js +86 -0
  673. package/core/lib/dependency-graph/network-node.d.ts +43 -0
  674. package/core/lib/dependency-graph/network-node.js +99 -0
  675. package/core/lib/dependency-graph/simulator/connection-pool.d.ts +58 -0
  676. package/core/lib/dependency-graph/simulator/connection-pool.js +171 -0
  677. package/core/lib/dependency-graph/simulator/dns-cache.d.ts +42 -0
  678. package/core/lib/dependency-graph/simulator/dns-cache.js +74 -0
  679. package/core/lib/dependency-graph/simulator/network-analyzer.d.ts +166 -0
  680. package/core/lib/dependency-graph/simulator/network-analyzer.js +479 -0
  681. package/core/lib/dependency-graph/simulator/simulator-timing-map.d.ts +153 -0
  682. package/core/lib/dependency-graph/simulator/simulator-timing-map.js +220 -0
  683. package/core/lib/dependency-graph/simulator/simulator.d.ts +154 -0
  684. package/core/lib/dependency-graph/simulator/simulator.js +540 -0
  685. package/core/lib/dependency-graph/simulator/tcp-connection.d.ts +89 -0
  686. package/core/lib/dependency-graph/simulator/tcp-connection.js +230 -0
  687. package/core/lib/deprecations-strings.d.ts +66 -0
  688. package/core/lib/deprecations-strings.js +654 -0
  689. package/core/lib/emulation.d.ts +43 -0
  690. package/core/lib/emulation.js +163 -0
  691. package/core/lib/i18n/README.md +290 -0
  692. package/core/lib/i18n/i18n.d.ts +81 -0
  693. package/core/lib/i18n/i18n.js +229 -0
  694. package/core/lib/icons.d.ts +22 -0
  695. package/core/lib/icons.js +82 -0
  696. package/core/lib/lantern-trace-saver.d.ts +20 -0
  697. package/core/lib/lantern-trace-saver.js +260 -0
  698. package/core/lib/lh-env.d.ts +2 -0
  699. package/core/lib/lh-env.js +15 -0
  700. package/core/lib/lh-error.d.ts +328 -0
  701. package/core/lib/lh-error.js +425 -0
  702. package/core/lib/lh-trace-processor.d.ts +5 -0
  703. package/core/lib/lh-trace-processor.js +45 -0
  704. package/core/lib/lighthouse-compatibility.d.ts +8 -0
  705. package/core/lib/lighthouse-compatibility.js +139 -0
  706. package/core/lib/manifest-parser.d.ts +186 -0
  707. package/core/lib/manifest-parser.js +495 -0
  708. package/core/lib/median-run.d.ts +17 -0
  709. package/core/lib/median-run.js +92 -0
  710. package/core/lib/minification-estimator.d.ts +9 -0
  711. package/core/lib/minification-estimator.js +192 -0
  712. package/core/lib/minify-devtoolslog.d.ts +6 -0
  713. package/core/lib/minify-devtoolslog.js +86 -0
  714. package/core/lib/navigation-error.d.ts +39 -0
  715. package/core/lib/navigation-error.js +175 -0
  716. package/core/lib/network-recorder.d.ts +115 -0
  717. package/core/lib/network-recorder.js +341 -0
  718. package/core/lib/network-request.d.ts +247 -0
  719. package/core/lib/network-request.js +590 -0
  720. package/core/lib/page-functions.d.ts +149 -0
  721. package/core/lib/page-functions.js +544 -0
  722. package/core/lib/proto-preprocessor.d.ts +13 -0
  723. package/core/lib/proto-preprocessor.js +133 -0
  724. package/core/lib/rect-helpers.d.ts +100 -0
  725. package/core/lib/rect-helpers.js +251 -0
  726. package/core/lib/script-helpers.d.ts +17 -0
  727. package/core/lib/script-helpers.js +31 -0
  728. package/core/lib/sentry.d.ts +32 -0
  729. package/core/lib/sentry.js +143 -0
  730. package/core/lib/stack-packs.d.ts +16 -0
  731. package/core/lib/stack-packs.js +126 -0
  732. package/core/lib/statistics.d.ts +28 -0
  733. package/core/lib/statistics.js +103 -0
  734. package/core/lib/tappable-rects.d.ts +8 -0
  735. package/core/lib/tappable-rects.js +98 -0
  736. package/core/lib/third-party-web.d.ts +32 -0
  737. package/core/lib/third-party-web.js +52 -0
  738. package/core/lib/timing-trace-saver.d.ts +21 -0
  739. package/core/lib/timing-trace-saver.js +96 -0
  740. package/core/lib/tracehouse/cpu-profile-model.d.ts +228 -0
  741. package/core/lib/tracehouse/cpu-profile-model.js +591 -0
  742. package/core/lib/tracehouse/main-thread-tasks.d.ts +162 -0
  743. package/core/lib/tracehouse/main-thread-tasks.js +688 -0
  744. package/core/lib/tracehouse/task-groups.d.ts +66 -0
  745. package/core/lib/tracehouse/task-groups.js +111 -0
  746. package/core/lib/tracehouse/task-summary.d.ts +18 -0
  747. package/core/lib/tracehouse/task-summary.js +86 -0
  748. package/core/lib/tracehouse/trace-processor.d.ts +284 -0
  749. package/core/lib/tracehouse/trace-processor.js +1016 -0
  750. package/core/lib/traces/metric-trace-events.d.ts +65 -0
  751. package/core/lib/traces/metric-trace-events.js +200 -0
  752. package/core/lib/url-utils.d.ts +100 -0
  753. package/core/lib/url-utils.js +266 -0
  754. package/core/runner.d.ts +114 -0
  755. package/core/runner.js +563 -0
  756. package/core/scoring.d.ts +26 -0
  757. package/core/scoring.js +91 -0
  758. package/core/scripts/download-chrome.sh +36 -0
  759. package/core/scripts/manual-chrome-launcher.js +50 -0
  760. package/core/user-flow.d.ts +106 -0
  761. package/core/user-flow.js +354 -0
  762. package/dist/report/bundle.esm.js +1485 -1281
  763. package/dist/report/flow.js +37 -25
  764. package/dist/report/standalone.js +35 -19
  765. package/eslint-local-rules.cjs +106 -0
  766. package/eslint-local-rules.d.cts +6 -0
  767. package/esm-utils.d.ts +14 -0
  768. package/esm-utils.js +38 -0
  769. package/flow-report/api.d.ts +7 -0
  770. package/flow-report/assets/standalone-flow-template.html +1 -1
  771. package/flow-report/clients/standalone.d.ts +7 -0
  772. package/flow-report/src/app.d.ts +11 -0
  773. package/flow-report/src/app.tsx +1 -1
  774. package/flow-report/src/common.d.ts +20 -0
  775. package/flow-report/src/common.tsx +3 -3
  776. package/flow-report/src/header.d.ts +10 -0
  777. package/flow-report/src/header.tsx +1 -1
  778. package/flow-report/src/help-dialog.d.ts +10 -0
  779. package/flow-report/src/i18n/i18n.d.ts +212 -0
  780. package/flow-report/src/i18n/i18n.tsx +24 -19
  781. package/flow-report/src/i18n/localized-strings.d.ts +9 -0
  782. package/flow-report/src/i18n/ui-strings.d.ts +48 -0
  783. package/flow-report/src/icons.d.ts +18 -0
  784. package/flow-report/src/sidebar/flow.d.ts +8 -0
  785. package/flow-report/src/sidebar/sidebar.d.ts +17 -0
  786. package/flow-report/src/sidebar/sidebar.tsx +7 -4
  787. package/flow-report/src/summary/category.d.ts +19 -0
  788. package/flow-report/src/summary/category.tsx +10 -10
  789. package/flow-report/src/summary/summary.d.ts +18 -0
  790. package/flow-report/src/summary/summary.tsx +4 -4
  791. package/flow-report/src/topbar.d.ts +15 -0
  792. package/flow-report/src/topbar.tsx +14 -30
  793. package/flow-report/src/util.d.ts +30 -0
  794. package/flow-report/src/util.ts +2 -13
  795. package/flow-report/src/wrappers/category-score.d.ts +12 -0
  796. package/flow-report/src/wrappers/markdown.d.ts +10 -0
  797. package/flow-report/src/wrappers/report.d.ts +10 -0
  798. package/flow-report/src/wrappers/report.tsx +1 -1
  799. package/flow-report/src/wrappers/styles.d.ts +8 -0
  800. package/flow-report/test/app-test.d.ts +7 -0
  801. package/flow-report/test/common-test.d.ts +7 -0
  802. package/flow-report/test/common-test.tsx +11 -12
  803. package/flow-report/test/flow-report-pptr-test.d.ts +7 -0
  804. package/flow-report/test/flow-report-pptr-test.ts +21 -8
  805. package/flow-report/test/header-test.d.ts +7 -0
  806. package/flow-report/test/run-flow-report-tests.sh +20 -0
  807. package/flow-report/test/sample-flow.d.ts +7 -0
  808. package/flow-report/test/sample-flow.ts +1 -1
  809. package/flow-report/test/setup/env-setup.d.ts +11 -0
  810. package/flow-report/test/setup/env-setup.ts +47 -24
  811. package/flow-report/test/sidebar/flow-test.d.ts +7 -0
  812. package/flow-report/test/sidebar/sidebar-test.d.ts +7 -0
  813. package/flow-report/test/sidebar/sidebar-test.tsx +30 -3
  814. package/flow-report/test/summary/category-test.d.ts +7 -0
  815. package/flow-report/test/summary/summary-test.d.ts +7 -0
  816. package/flow-report/test/summary/summary-test.tsx +1 -1
  817. package/flow-report/test/topbar-test.d.ts +7 -0
  818. package/flow-report/test/topbar-test.tsx +11 -12
  819. package/flow-report/test/util-test.d.ts +7 -0
  820. package/flow-report/test/util-test.tsx +3 -3
  821. package/flow-report/test/wrappers/category-score-test.d.ts +7 -0
  822. package/flow-report/test/wrappers/markdown-test.d.ts +7 -0
  823. package/flow-report/tsconfig.json +5 -3
  824. package/flow-report/types/flow-report.d.ts +8 -1
  825. package/package.json +86 -80
  826. package/readme.md +27 -40
  827. package/report/README.md +8 -9
  828. package/report/assets/standalone-template.html +1 -1
  829. package/report/assets/styles.css +35 -17
  830. package/report/assets/templates.html +14 -37
  831. package/report/clients/bundle.d.ts +6 -0
  832. package/report/clients/bundle.js +1 -2
  833. package/report/clients/standalone.d.ts +2 -0
  834. package/report/clients/standalone.js +0 -1
  835. package/report/generator/file-namer.d.ts +35 -0
  836. package/report/generator/file-namer.js +7 -3
  837. package/report/generator/flow-report-assets.d.ts +9 -0
  838. package/report/generator/flow-report-assets.js +10 -6
  839. package/report/generator/report-assets.d.ts +8 -0
  840. package/report/generator/report-assets.js +8 -5
  841. package/report/generator/report-generator.d.ts +59 -0
  842. package/report/generator/report-generator.js +76 -34
  843. package/report/generator/tsconfig.json +1 -2
  844. package/report/renderer/api.d.ts +31 -0
  845. package/report/renderer/api.js +0 -2
  846. package/report/renderer/category-renderer.d.ts +176 -0
  847. package/report/renderer/category-renderer.js +39 -41
  848. package/report/renderer/components.d.ts +10 -0
  849. package/report/renderer/components.js +364 -448
  850. package/report/renderer/crc-details-renderer.d.ts +73 -0
  851. package/report/renderer/crc-details-renderer.js +28 -30
  852. package/report/renderer/details-renderer.d.ts +141 -0
  853. package/report/renderer/details-renderer.js +44 -92
  854. package/report/renderer/dom.d.ts +125 -0
  855. package/report/renderer/dom.js +13 -10
  856. package/report/renderer/drop-down-menu.d.ts +70 -0
  857. package/report/renderer/drop-down-menu.js +0 -1
  858. package/report/renderer/element-screenshot-renderer.d.ts +79 -0
  859. package/report/renderer/element-screenshot-renderer.js +11 -12
  860. package/report/renderer/features-util.d.ts +13 -0
  861. package/report/renderer/features-util.js +0 -1
  862. package/report/renderer/i18n-formatter.d.ts +100 -0
  863. package/report/renderer/i18n-formatter.js +263 -0
  864. package/report/renderer/logger.d.ts +47 -0
  865. package/report/renderer/logger.js +0 -1
  866. package/report/renderer/open-tab.d.ts +19 -0
  867. package/report/renderer/open-tab.js +4 -4
  868. package/report/renderer/performance-category-renderer.d.ts +56 -0
  869. package/report/renderer/performance-category-renderer.js +29 -26
  870. package/report/renderer/pwa-category-renderer.d.ts +55 -0
  871. package/report/renderer/pwa-category-renderer.js +8 -8
  872. package/report/renderer/report-globals.d.ts +21 -0
  873. package/report/renderer/report-globals.js +49 -0
  874. package/report/renderer/report-renderer.d.ts +57 -0
  875. package/report/renderer/report-renderer.js +54 -52
  876. package/report/renderer/report-ui-features.d.ts +71 -0
  877. package/report/renderer/report-ui-features.js +44 -39
  878. package/report/renderer/report-utils.d.ts +129 -0
  879. package/report/renderer/report-utils.js +448 -0
  880. package/report/renderer/snippet-renderer.d.ts +85 -0
  881. package/report/renderer/snippet-renderer.js +5 -5
  882. package/report/renderer/swap-locale-feature.d.ts +31 -0
  883. package/report/renderer/swap-locale-feature.js +2 -3
  884. package/report/renderer/text-encoding.d.ts +26 -0
  885. package/report/renderer/text-encoding.js +0 -1
  886. package/report/renderer/topbar-features.d.ts +82 -0
  887. package/report/renderer/topbar-features.js +2 -2
  888. package/report/test/clients/bundle-test.js +5 -10
  889. package/report/test/generator/file-namer-test.js +3 -4
  890. package/report/test/generator/report-generator-test.js +49 -24
  891. package/report/test/renderer/category-renderer-test.js +19 -15
  892. package/report/test/renderer/components-test.js +36 -37
  893. package/report/test/renderer/crc-details-renderer-test.js +11 -10
  894. package/report/test/renderer/details-renderer-test.js +91 -41
  895. package/report/test/renderer/dom-test.js +38 -14
  896. package/report/test/renderer/element-screenshot-renderer-test.js +14 -12
  897. package/report/test/renderer/i18n-formatter-test.js +179 -0
  898. package/report/test/renderer/performance-category-renderer-test.js +43 -31
  899. package/report/test/renderer/pwa-category-renderer-test.js +17 -13
  900. package/report/test/renderer/report-renderer-axe-test.js +12 -15
  901. package/report/test/renderer/report-renderer-test.js +17 -15
  902. package/report/test/renderer/report-ui-features-test.js +304 -89
  903. package/report/test/renderer/report-utils-test.js +219 -0
  904. package/report/test/renderer/snippet-renderer-test.js +11 -10
  905. package/report/test/renderer/text-encoding-test.js +2 -5
  906. package/report/test-assets/faux-psi.d.ts +34 -0
  907. package/report/tsconfig.json +1 -2
  908. package/report/types/augment-dom.d.ts +1 -1
  909. package/root.d.ts +3 -0
  910. package/root.js +9 -19
  911. package/shared/localization/format.d.ts +106 -0
  912. package/shared/localization/format.js +27 -21
  913. package/shared/localization/i18n-module.d.ts +4 -0
  914. package/shared/localization/i18n-module.js +7 -3
  915. package/shared/localization/locales/ar-XB.json +1658 -1007
  916. package/shared/localization/locales/ar.json +1659 -1008
  917. package/shared/localization/locales/bg.json +1657 -1006
  918. package/shared/localization/locales/ca.json +1664 -1013
  919. package/shared/localization/locales/cs.json +1659 -1008
  920. package/shared/localization/locales/da.json +1658 -1007
  921. package/shared/localization/locales/de.json +1794 -1143
  922. package/shared/localization/locales/el.json +1657 -1006
  923. package/shared/localization/locales/en-GB.json +1658 -1007
  924. package/shared/localization/locales/en-US.json +1471 -1066
  925. package/shared/localization/locales/en-XA.json +1658 -1007
  926. package/shared/localization/locales/en-XL.json +1471 -1066
  927. package/shared/localization/locales/es-419.json +1660 -1009
  928. package/shared/localization/locales/es.json +1665 -1014
  929. package/shared/localization/locales/fi.json +1658 -1007
  930. package/shared/localization/locales/fil.json +1659 -1008
  931. package/shared/localization/locales/fr.json +1660 -1009
  932. package/shared/localization/locales/he.json +1678 -1027
  933. package/shared/localization/locales/hi.json +1661 -1010
  934. package/shared/localization/locales/hr.json +1658 -1007
  935. package/shared/localization/locales/hu.json +1657 -1006
  936. package/shared/localization/locales/id.json +1658 -1007
  937. package/shared/localization/locales/it.json +1678 -1027
  938. package/shared/localization/locales/ja.json +1657 -1006
  939. package/shared/localization/locales/ko.json +1658 -1007
  940. package/shared/localization/locales/lt.json +1658 -1007
  941. package/shared/localization/locales/lv.json +1658 -1007
  942. package/shared/localization/locales/nl.json +1659 -1008
  943. package/shared/localization/locales/no.json +1662 -1011
  944. package/shared/localization/locales/pl.json +1657 -1006
  945. package/shared/localization/locales/pt-PT.json +1678 -1027
  946. package/shared/localization/locales/pt.json +1659 -1008
  947. package/shared/localization/locales/ro.json +1657 -1006
  948. package/shared/localization/locales/ru.json +1657 -1006
  949. package/shared/localization/locales/sk.json +1657 -1006
  950. package/shared/localization/locales/sl.json +1657 -1006
  951. package/shared/localization/locales/sr-Latn.json +1658 -1007
  952. package/shared/localization/locales/sr.json +1658 -1007
  953. package/shared/localization/locales/sv.json +1664 -1013
  954. package/shared/localization/locales/ta.json +1658 -1007
  955. package/shared/localization/locales/te.json +1688 -1037
  956. package/shared/localization/locales/th.json +1666 -1015
  957. package/shared/localization/locales/tr.json +1658 -1007
  958. package/shared/localization/locales/uk.json +1657 -1006
  959. package/shared/localization/locales/vi.json +1659 -1008
  960. package/shared/localization/locales/zh-HK.json +1658 -1007
  961. package/shared/localization/locales/zh-TW.json +1661 -1010
  962. package/shared/localization/locales/zh.json +1658 -1007
  963. package/shared/localization/locales.d.ts +7 -0
  964. package/shared/localization/locales.js +54 -51
  965. package/shared/localization/swap-flow-locale.d.ts +6 -0
  966. package/shared/localization/swap-flow-locale.js +6 -3
  967. package/shared/localization/swap-locale.d.ts +39 -0
  968. package/shared/localization/swap-locale.js +7 -8
  969. package/shared/test/localization/format-test.js +73 -56
  970. package/shared/test/localization/locales-test.js +2 -4
  971. package/shared/test/localization/swap-locale-test.js +10 -11
  972. package/shared/test/util-test.js +214 -0
  973. package/shared/tsconfig.json +1 -2
  974. package/shared/type-verifiers.d.ts +23 -0
  975. package/shared/type-verifiers.js +1 -2
  976. package/shared/types/shared.d.ts +2 -2
  977. package/shared/util.d.ts +122 -0
  978. package/shared/util.js +332 -0
  979. package/third-party/axe/valid-langs.d.ts +9 -0
  980. package/third-party/axe/valid-langs.js +1 -1
  981. package/third-party/chromium-synchronization/inspector-issueAdded-types-test.js +5 -7
  982. package/third-party/chromium-synchronization/installability-errors-test.js +4 -8
  983. package/third-party/download-content-shell/README.md +1 -0
  984. package/third-party/download-content-shell/download-content-shell.js +12 -6
  985. package/third-party/download-content-shell/utils.js +8 -8
  986. package/tsconfig-base.json +6 -1
  987. package/tsconfig.json +84 -90
  988. package/types/artifacts.d.ts +135 -78
  989. package/types/audit.d.ts +9 -8
  990. package/types/config.d.ts +26 -38
  991. package/types/externs.d.ts +9 -101
  992. package/types/gatherer.d.ts +35 -27
  993. package/types/internal/cssstyle.d.ts +23 -0
  994. package/types/{enquirer.d.ts → internal/enquirer.d.ts} +0 -0
  995. package/types/{es-main.d.ts → internal/es-main.d.ts} +0 -0
  996. package/types/internal/global.d.ts +15 -0
  997. package/types/{http-link-header/index.d.ts → internal/http-link-header.d.ts} +0 -0
  998. package/types/{jsonlint-mod.d.ts → internal/jsonlint-mod.d.ts} +0 -0
  999. package/types/internal/lighthouse-logger.d.ts +34 -0
  1000. package/types/internal/lookup-closest-locale.d.ts +13 -0
  1001. package/types/{metaviewport-parser/index.d.ts → internal/metaviewport-parser.d.ts} +0 -0
  1002. package/types/{node-fetch.d.ts → internal/node-fetch.d.ts} +0 -0
  1003. package/types/internal/node.d.ts +44 -0
  1004. package/types/{parse-cache-control/index.d.ts → internal/parse-cache-control.d.ts} +0 -0
  1005. package/types/{pretty-json-stringify/index.d.ts → internal/pretty-json-stringify.d.ts} +0 -0
  1006. package/types/internal/query-selector.d.ts +36 -0
  1007. package/types/{rollup-plugin-postprocess.d.ts → internal/rollup-plugin-postprocess.d.ts} +0 -0
  1008. package/types/internal/smokehouse.d.ts +83 -0
  1009. package/types/internal/test.d.ts +53 -0
  1010. package/types/lh.d.ts +81 -0
  1011. package/types/lh.js +13 -0
  1012. package/types/lhr/audit-details.d.ts +6 -53
  1013. package/types/lhr/audit-result.d.ts +2 -2
  1014. package/types/lhr/flow-result.d.ts +28 -0
  1015. package/types/lhr/lhr.d.ts +53 -6
  1016. package/types/lhr/settings.d.ts +18 -1
  1017. package/types/lhr/treemap.d.ts +5 -4
  1018. package/types/lhr/tsconfig.json +0 -2
  1019. package/types/protocol.d.ts +32 -18
  1020. package/types/puppeteer.d.ts +27 -0
  1021. package/types/user-flow.d.ts +27 -6
  1022. package/types/utility-types.d.ts +72 -0
  1023. package/vercel.json +6 -0
  1024. package/eslint-local-rules.js +0 -106
  1025. package/flow-report/.eslintrc.cjs +0 -51
  1026. package/flow-report/jest.config.js +0 -24
  1027. package/flow-report/package.json +0 -4
  1028. package/flow-report/test/setup/global-setup.ts +0 -11
  1029. package/jest.config.js +0 -30
  1030. package/lighthouse-cli/.eslintrc.cjs +0 -29
  1031. package/lighthouse-cli/bin.js +0 -152
  1032. package/lighthouse-cli/cli-flags.js +0 -530
  1033. package/lighthouse-cli/commands/commands.js +0 -10
  1034. package/lighthouse-cli/commands/list-audits.js +0 -16
  1035. package/lighthouse-cli/commands/list-locales.js +0 -16
  1036. package/lighthouse-cli/commands/list-trace-categories.js +0 -16
  1037. package/lighthouse-cli/index.js +0 -14
  1038. package/lighthouse-cli/package.json +0 -4
  1039. package/lighthouse-cli/printer.js +0 -100
  1040. package/lighthouse-cli/run.js +0 -286
  1041. package/lighthouse-cli/sentry-prompt.js +0 -79
  1042. package/lighthouse-cli/test/smokehouse/core-tests.js +0 -129
  1043. package/lighthouse-cli/test/smokehouse/frontends/back-compat-util.js +0 -42
  1044. package/lighthouse-cli/test/smokehouse/frontends/lib.js +0 -49
  1045. package/lighthouse-cli/test/smokehouse/frontends/node.js +0 -13
  1046. package/lighthouse-cli/test/smokehouse/frontends/smokehouse-bin.js +0 -262
  1047. package/lighthouse-cli/test/smokehouse/lib/child-process-error.js +0 -26
  1048. package/lighthouse-cli/test/smokehouse/lib/concurrent-mapper.js +0 -126
  1049. package/lighthouse-cli/test/smokehouse/lib/local-console.js +0 -51
  1050. package/lighthouse-cli/test/smokehouse/lighthouse-runners/bundle.js +0 -68
  1051. package/lighthouse-cli/test/smokehouse/lighthouse-runners/cli.js +0 -151
  1052. package/lighthouse-cli/test/smokehouse/lighthouse-runners/devtools.js +0 -106
  1053. package/lighthouse-cli/test/smokehouse/readme.md +0 -204
  1054. package/lighthouse-cli/test/smokehouse/report-assert.js +0 -493
  1055. package/lighthouse-cli/test/smokehouse/smokehouse.js +0 -284
  1056. package/lighthouse-cli/test/smokehouse/version-check-test.js +0 -46
  1057. package/lighthouse-cli/test/smokehouse/version-check.js +0 -49
  1058. package/lighthouse-core/audits/accessibility/accesskeys.js +0 -45
  1059. package/lighthouse-core/audits/accessibility/aria-allowed-attr.js +0 -45
  1060. package/lighthouse-core/audits/accessibility/aria-command-name.js +0 -43
  1061. package/lighthouse-core/audits/accessibility/aria-hidden-body.js +0 -43
  1062. package/lighthouse-core/audits/accessibility/aria-hidden-focus.js +0 -43
  1063. package/lighthouse-core/audits/accessibility/aria-input-field-name.js +0 -43
  1064. package/lighthouse-core/audits/accessibility/aria-meter-name.js +0 -43
  1065. package/lighthouse-core/audits/accessibility/aria-progressbar-name.js +0 -43
  1066. package/lighthouse-core/audits/accessibility/aria-required-attr.js +0 -44
  1067. package/lighthouse-core/audits/accessibility/aria-required-children.js +0 -48
  1068. package/lighthouse-core/audits/accessibility/aria-required-parent.js +0 -46
  1069. package/lighthouse-core/audits/accessibility/aria-roles.js +0 -45
  1070. package/lighthouse-core/audits/accessibility/aria-toggle-field-name.js +0 -43
  1071. package/lighthouse-core/audits/accessibility/aria-tooltip-name.js +0 -43
  1072. package/lighthouse-core/audits/accessibility/aria-treeitem-name.js +0 -43
  1073. package/lighthouse-core/audits/accessibility/aria-valid-attr-value.js +0 -45
  1074. package/lighthouse-core/audits/accessibility/aria-valid-attr.js +0 -45
  1075. package/lighthouse-core/audits/accessibility/axe-audit.js +0 -114
  1076. package/lighthouse-core/audits/accessibility/button-name.js +0 -45
  1077. package/lighthouse-core/audits/accessibility/bypass.js +0 -46
  1078. package/lighthouse-core/audits/accessibility/color-contrast.js +0 -46
  1079. package/lighthouse-core/audits/accessibility/definition-list.js +0 -47
  1080. package/lighthouse-core/audits/accessibility/dlitem.js +0 -45
  1081. package/lighthouse-core/audits/accessibility/document-title.js +0 -45
  1082. package/lighthouse-core/audits/accessibility/duplicate-id-active.js +0 -43
  1083. package/lighthouse-core/audits/accessibility/duplicate-id-aria.js +0 -43
  1084. package/lighthouse-core/audits/accessibility/form-field-multiple-labels.js +0 -44
  1085. package/lighthouse-core/audits/accessibility/frame-title.js +0 -44
  1086. package/lighthouse-core/audits/accessibility/heading-order.js +0 -43
  1087. package/lighthouse-core/audits/accessibility/html-has-lang.js +0 -47
  1088. package/lighthouse-core/audits/accessibility/html-lang-valid.js +0 -46
  1089. package/lighthouse-core/audits/accessibility/image-alt.js +0 -45
  1090. package/lighthouse-core/audits/accessibility/input-image-alt.js +0 -45
  1091. package/lighthouse-core/audits/accessibility/label.js +0 -45
  1092. package/lighthouse-core/audits/accessibility/link-name.js +0 -46
  1093. package/lighthouse-core/audits/accessibility/list.js +0 -47
  1094. package/lighthouse-core/audits/accessibility/listitem.js +0 -46
  1095. package/lighthouse-core/audits/accessibility/manual/custom-controls-labels.js +0 -28
  1096. package/lighthouse-core/audits/accessibility/manual/custom-controls-roles.js +0 -28
  1097. package/lighthouse-core/audits/accessibility/manual/focus-traps.js +0 -28
  1098. package/lighthouse-core/audits/accessibility/manual/focusable-controls.js +0 -28
  1099. package/lighthouse-core/audits/accessibility/manual/interactive-element-affordance.js +0 -28
  1100. package/lighthouse-core/audits/accessibility/manual/logical-tab-order.js +0 -28
  1101. package/lighthouse-core/audits/accessibility/manual/managed-focus.js +0 -28
  1102. package/lighthouse-core/audits/accessibility/manual/offscreen-content-hidden.js +0 -29
  1103. package/lighthouse-core/audits/accessibility/manual/use-landmarks.js +0 -28
  1104. package/lighthouse-core/audits/accessibility/manual/visual-order-follows-dom.js +0 -28
  1105. package/lighthouse-core/audits/accessibility/meta-refresh.js +0 -46
  1106. package/lighthouse-core/audits/accessibility/meta-viewport.js +0 -47
  1107. package/lighthouse-core/audits/accessibility/object-alt.js +0 -45
  1108. package/lighthouse-core/audits/accessibility/tabindex.js +0 -45
  1109. package/lighthouse-core/audits/accessibility/td-headers-attr.js +0 -49
  1110. package/lighthouse-core/audits/accessibility/th-has-data-cells.js +0 -48
  1111. package/lighthouse-core/audits/accessibility/valid-lang.js +0 -45
  1112. package/lighthouse-core/audits/accessibility/video-caption.js +0 -46
  1113. package/lighthouse-core/audits/apple-touch-icon.js +0 -72
  1114. package/lighthouse-core/audits/audit.js +0 -391
  1115. package/lighthouse-core/audits/autocomplete.js +0 -290
  1116. package/lighthouse-core/audits/bootup-time.js +0 -152
  1117. package/lighthouse-core/audits/byte-efficiency/byte-efficiency-audit.js +0 -258
  1118. package/lighthouse-core/audits/byte-efficiency/duplicated-javascript.js +0 -249
  1119. package/lighthouse-core/audits/byte-efficiency/efficient-animated-content.js +0 -92
  1120. package/lighthouse-core/audits/byte-efficiency/legacy-javascript.js +0 -472
  1121. package/lighthouse-core/audits/byte-efficiency/modern-image-formats.js +0 -186
  1122. package/lighthouse-core/audits/byte-efficiency/offscreen-images.js +0 -252
  1123. package/lighthouse-core/audits/byte-efficiency/render-blocking-resources.js +0 -309
  1124. package/lighthouse-core/audits/byte-efficiency/total-byte-weight.js +0 -111
  1125. package/lighthouse-core/audits/byte-efficiency/unminified-css.js +0 -117
  1126. package/lighthouse-core/audits/byte-efficiency/unminified-javascript.js +0 -120
  1127. package/lighthouse-core/audits/byte-efficiency/unused-css-rules.js +0 -71
  1128. package/lighthouse-core/audits/byte-efficiency/unused-javascript.js +0 -161
  1129. package/lighthouse-core/audits/byte-efficiency/uses-long-cache-ttl.js +0 -298
  1130. package/lighthouse-core/audits/byte-efficiency/uses-optimized-images.js +0 -145
  1131. package/lighthouse-core/audits/byte-efficiency/uses-responsive-images-snapshot.js +0 -100
  1132. package/lighthouse-core/audits/byte-efficiency/uses-responsive-images.js +0 -177
  1133. package/lighthouse-core/audits/byte-efficiency/uses-text-compression.js +0 -100
  1134. package/lighthouse-core/audits/content-width.js +0 -77
  1135. package/lighthouse-core/audits/critical-request-chains.js +0 -220
  1136. package/lighthouse-core/audits/csp-xss.js +0 -186
  1137. package/lighthouse-core/audits/deprecations.js +0 -115
  1138. package/lighthouse-core/audits/diagnostics.js +0 -79
  1139. package/lighthouse-core/audits/dobetterweb/charset.js +0 -96
  1140. package/lighthouse-core/audits/dobetterweb/doctype.js +0 -94
  1141. package/lighthouse-core/audits/dobetterweb/dom-size.js +0 -123
  1142. package/lighthouse-core/audits/dobetterweb/geolocation-on-start.js +0 -70
  1143. package/lighthouse-core/audits/dobetterweb/inspector-issues.js +0 -192
  1144. package/lighthouse-core/audits/dobetterweb/js-libraries.js +0 -88
  1145. package/lighthouse-core/audits/dobetterweb/no-document-write.js +0 -85
  1146. package/lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js +0 -225
  1147. package/lighthouse-core/audits/dobetterweb/notification-on-start.js +0 -69
  1148. package/lighthouse-core/audits/dobetterweb/password-inputs-can-be-pasted-into.js +0 -66
  1149. package/lighthouse-core/audits/dobetterweb/uses-http2.js +0 -258
  1150. package/lighthouse-core/audits/dobetterweb/uses-passive-event-listeners.js +0 -68
  1151. package/lighthouse-core/audits/errors-in-console.js +0 -118
  1152. package/lighthouse-core/audits/final-screenshot.js +0 -59
  1153. package/lighthouse-core/audits/font-display.js +0 -193
  1154. package/lighthouse-core/audits/full-page-screenshot.js +0 -43
  1155. package/lighthouse-core/audits/image-aspect-ratio.js +0 -122
  1156. package/lighthouse-core/audits/image-size-responsive.js +0 -331
  1157. package/lighthouse-core/audits/installable-manifest.js +0 -266
  1158. package/lighthouse-core/audits/is-on-https.js +0 -125
  1159. package/lighthouse-core/audits/largest-contentful-paint-element.js +0 -70
  1160. package/lighthouse-core/audits/layout-shift-elements.js +0 -75
  1161. package/lighthouse-core/audits/lcp-lazy-loaded.js +0 -85
  1162. package/lighthouse-core/audits/long-tasks.js +0 -124
  1163. package/lighthouse-core/audits/main-thread-tasks.js +0 -59
  1164. package/lighthouse-core/audits/mainthread-work-breakdown.js +0 -134
  1165. package/lighthouse-core/audits/manual/manual-audit.js +0 -37
  1166. package/lighthouse-core/audits/manual/pwa-cross-browser.js +0 -41
  1167. package/lighthouse-core/audits/manual/pwa-each-page-has-url.js +0 -39
  1168. package/lighthouse-core/audits/manual/pwa-page-transitions.js +0 -39
  1169. package/lighthouse-core/audits/maskable-icon.js +0 -71
  1170. package/lighthouse-core/audits/metrics/cumulative-layout-shift.js +0 -79
  1171. package/lighthouse-core/audits/metrics/experimental-interaction-to-next-paint.js +0 -88
  1172. package/lighthouse-core/audits/metrics/first-contentful-paint-3g.js +0 -67
  1173. package/lighthouse-core/audits/metrics/first-contentful-paint.js +0 -85
  1174. package/lighthouse-core/audits/metrics/first-meaningful-paint.js +0 -89
  1175. package/lighthouse-core/audits/metrics/interactive.js +0 -93
  1176. package/lighthouse-core/audits/metrics/largest-contentful-paint.js +0 -114
  1177. package/lighthouse-core/audits/metrics/max-potential-fid.js +0 -76
  1178. package/lighthouse-core/audits/metrics/speed-index.js +0 -88
  1179. package/lighthouse-core/audits/metrics/total-blocking-time.js +0 -117
  1180. package/lighthouse-core/audits/metrics.js +0 -73
  1181. package/lighthouse-core/audits/multi-check-audit.js +0 -83
  1182. package/lighthouse-core/audits/network-requests.js +0 -130
  1183. package/lighthouse-core/audits/network-rtt.js +0 -90
  1184. package/lighthouse-core/audits/network-server-latency.js +0 -89
  1185. package/lighthouse-core/audits/no-unload-listeners.js +0 -95
  1186. package/lighthouse-core/audits/non-composited-animations.js +0 -206
  1187. package/lighthouse-core/audits/oopif-iframe-test-audit.js +0 -30
  1188. package/lighthouse-core/audits/performance-budget.js +0 -154
  1189. package/lighthouse-core/audits/predictive-perf.js +0 -101
  1190. package/lighthouse-core/audits/preload-fonts.js +0 -107
  1191. package/lighthouse-core/audits/preload-lcp-image.js +0 -272
  1192. package/lighthouse-core/audits/redirects.js +0 -163
  1193. package/lighthouse-core/audits/resource-summary.js +0 -104
  1194. package/lighthouse-core/audits/screenshot-thumbnails.js +0 -163
  1195. package/lighthouse-core/audits/script-treemap-data.js +0 -288
  1196. package/lighthouse-core/audits/seo/canonical.js +0 -218
  1197. package/lighthouse-core/audits/seo/crawlable-anchors.js +0 -94
  1198. package/lighthouse-core/audits/seo/font-size.js +0 -344
  1199. package/lighthouse-core/audits/seo/hreflang.js +0 -149
  1200. package/lighthouse-core/audits/seo/http-status-code.js +0 -70
  1201. package/lighthouse-core/audits/seo/is-crawlable.js +0 -155
  1202. package/lighthouse-core/audits/seo/link-text.js +0 -158
  1203. package/lighthouse-core/audits/seo/manual/structured-data.js +0 -38
  1204. package/lighthouse-core/audits/seo/meta-description.js +0 -67
  1205. package/lighthouse-core/audits/seo/plugins.js +0 -152
  1206. package/lighthouse-core/audits/seo/robots-txt.js +0 -256
  1207. package/lighthouse-core/audits/seo/tap-targets.js +0 -352
  1208. package/lighthouse-core/audits/server-response-time.js +0 -106
  1209. package/lighthouse-core/audits/service-worker.js +0 -179
  1210. package/lighthouse-core/audits/splash-screen.js +0 -99
  1211. package/lighthouse-core/audits/themed-omnibox.js +0 -110
  1212. package/lighthouse-core/audits/third-party-facades.js +0 -221
  1213. package/lighthouse-core/audits/third-party-summary.js +0 -259
  1214. package/lighthouse-core/audits/timing-budget.js +0 -174
  1215. package/lighthouse-core/audits/unsized-images.js +0 -163
  1216. package/lighthouse-core/audits/user-timings.js +0 -120
  1217. package/lighthouse-core/audits/uses-rel-preconnect.js +0 -254
  1218. package/lighthouse-core/audits/uses-rel-preload.js +0 -267
  1219. package/lighthouse-core/audits/valid-source-maps.js +0 -157
  1220. package/lighthouse-core/audits/viewport.js +0 -65
  1221. package/lighthouse-core/audits/violation-audit.js +0 -50
  1222. package/lighthouse-core/audits/work-during-interaction.js +0 -280
  1223. package/lighthouse-core/computed/computed-artifact.js +0 -62
  1224. package/lighthouse-core/computed/critical-request-chains.js +0 -146
  1225. package/lighthouse-core/computed/image-records.js +0 -63
  1226. package/lighthouse-core/computed/js-bundles.js +0 -119
  1227. package/lighthouse-core/computed/load-simulator.js +0 -92
  1228. package/lighthouse-core/computed/main-resource.js +0 -34
  1229. package/lighthouse-core/computed/main-thread-tasks.js +0 -25
  1230. package/lighthouse-core/computed/manifest-values.js +0 -135
  1231. package/lighthouse-core/computed/metrics/cumulative-layout-shift.js +0 -129
  1232. package/lighthouse-core/computed/metrics/first-contentful-paint-all-frames.js +0 -37
  1233. package/lighthouse-core/computed/metrics/first-contentful-paint.js +0 -40
  1234. package/lighthouse-core/computed/metrics/first-meaningful-paint.js +0 -44
  1235. package/lighthouse-core/computed/metrics/interactive.js +0 -193
  1236. package/lighthouse-core/computed/metrics/lantern-first-contentful-paint.js +0 -204
  1237. package/lighthouse-core/computed/metrics/lantern-first-meaningful-paint.js +0 -83
  1238. package/lighthouse-core/computed/metrics/lantern-interactive.js +0 -113
  1239. package/lighthouse-core/computed/metrics/lantern-largest-contentful-paint.js +0 -111
  1240. package/lighthouse-core/computed/metrics/lantern-max-potential-fid.js +0 -93
  1241. package/lighthouse-core/computed/metrics/lantern-metric.js +0 -167
  1242. package/lighthouse-core/computed/metrics/lantern-speed-index.js +0 -150
  1243. package/lighthouse-core/computed/metrics/lantern-total-blocking-time.js +0 -126
  1244. package/lighthouse-core/computed/metrics/largest-contentful-paint-all-frames.js +0 -45
  1245. package/lighthouse-core/computed/metrics/largest-contentful-paint.js +0 -52
  1246. package/lighthouse-core/computed/metrics/max-potential-fid.js +0 -45
  1247. package/lighthouse-core/computed/metrics/metric.js +0 -100
  1248. package/lighthouse-core/computed/metrics/navigation-metric.js +0 -46
  1249. package/lighthouse-core/computed/metrics/responsiveness.js +0 -157
  1250. package/lighthouse-core/computed/metrics/speed-index.js +0 -40
  1251. package/lighthouse-core/computed/metrics/tbt-utils.js +0 -57
  1252. package/lighthouse-core/computed/metrics/timing-summary.js +0 -150
  1253. package/lighthouse-core/computed/metrics/total-blocking-time.js +0 -74
  1254. package/lighthouse-core/computed/module-duplication.js +0 -136
  1255. package/lighthouse-core/computed/network-analysis.js +0 -64
  1256. package/lighthouse-core/computed/network-records.js +0 -21
  1257. package/lighthouse-core/computed/page-dependency-graph.js +0 -488
  1258. package/lighthouse-core/computed/processed-navigation.js +0 -21
  1259. package/lighthouse-core/computed/processed-trace.js +0 -21
  1260. package/lighthouse-core/computed/resource-summary.js +0 -114
  1261. package/lighthouse-core/computed/screenshots.js +0 -29
  1262. package/lighthouse-core/computed/speedline.js +0 -54
  1263. package/lighthouse-core/computed/trace-of-tab.js +0 -30
  1264. package/lighthouse-core/computed/unused-css.js +0 -154
  1265. package/lighthouse-core/computed/unused-javascript-summary.js +0 -175
  1266. package/lighthouse-core/computed/user-timings.js +0 -83
  1267. package/lighthouse-core/computed/viewport-meta.js +0 -56
  1268. package/lighthouse-core/config/budget.js +0 -341
  1269. package/lighthouse-core/config/config-helpers.js +0 -590
  1270. package/lighthouse-core/config/config-plugin.js +0 -225
  1271. package/lighthouse-core/config/config.js +0 -544
  1272. package/lighthouse-core/config/constants.js +0 -169
  1273. package/lighthouse-core/config/default-config.js +0 -632
  1274. package/lighthouse-core/config/desktop-config.js +0 -21
  1275. package/lighthouse-core/config/experimental-config.js +0 -30
  1276. package/lighthouse-core/config/full-config.js +0 -14
  1277. package/lighthouse-core/config/lr-desktop-config.js +0 -25
  1278. package/lighthouse-core/config/lr-mobile-config.js +0 -31
  1279. package/lighthouse-core/config/metrics-to-audits.js +0 -61
  1280. package/lighthouse-core/config/perf-config.js +0 -17
  1281. package/lighthouse-core/fraggle-rock/api.js +0 -77
  1282. package/lighthouse-core/fraggle-rock/config/config.js +0 -281
  1283. package/lighthouse-core/fraggle-rock/config/default-config.js +0 -205
  1284. package/lighthouse-core/fraggle-rock/config/filters.js +0 -335
  1285. package/lighthouse-core/fraggle-rock/config/validation.js +0 -313
  1286. package/lighthouse-core/fraggle-rock/gather/base-artifacts.js +0 -99
  1287. package/lighthouse-core/fraggle-rock/gather/base-gatherer.js +0 -107
  1288. package/lighthouse-core/fraggle-rock/gather/driver.js +0 -88
  1289. package/lighthouse-core/fraggle-rock/gather/navigation-runner.js +0 -339
  1290. package/lighthouse-core/fraggle-rock/gather/runner-helpers.js +0 -160
  1291. package/lighthouse-core/fraggle-rock/gather/session.js +0 -182
  1292. package/lighthouse-core/fraggle-rock/gather/snapshot-runner.js +0 -68
  1293. package/lighthouse-core/fraggle-rock/gather/timespan-runner.js +0 -82
  1294. package/lighthouse-core/fraggle-rock/user-flow.js +0 -229
  1295. package/lighthouse-core/gather/connections/connection.js +0 -179
  1296. package/lighthouse-core/gather/connections/cri.js +0 -171
  1297. package/lighthouse-core/gather/connections/raw.js +0 -58
  1298. package/lighthouse-core/gather/devtools-log.js +0 -61
  1299. package/lighthouse-core/gather/driver/dom.js +0 -58
  1300. package/lighthouse-core/gather/driver/environment.js +0 -105
  1301. package/lighthouse-core/gather/driver/execution-context.js +0 -249
  1302. package/lighthouse-core/gather/driver/navigation.js +0 -179
  1303. package/lighthouse-core/gather/driver/network-monitor.js +0 -290
  1304. package/lighthouse-core/gather/driver/network.js +0 -28
  1305. package/lighthouse-core/gather/driver/prepare.js +0 -226
  1306. package/lighthouse-core/gather/driver/service-workers.js +0 -53
  1307. package/lighthouse-core/gather/driver/storage.js +0 -125
  1308. package/lighthouse-core/gather/driver/target-manager.js +0 -125
  1309. package/lighthouse-core/gather/driver/wait-for-condition.js +0 -535
  1310. package/lighthouse-core/gather/driver.js +0 -482
  1311. package/lighthouse-core/gather/fetcher.js +0 -318
  1312. package/lighthouse-core/gather/gather-runner.js +0 -622
  1313. package/lighthouse-core/gather/gatherers/accessibility.js +0 -172
  1314. package/lighthouse-core/gather/gatherers/anchor-elements.js +0 -133
  1315. package/lighthouse-core/gather/gatherers/cache-contents.js +0 -59
  1316. package/lighthouse-core/gather/gatherers/console-messages.js +0 -173
  1317. package/lighthouse-core/gather/gatherers/css-usage.js +0 -149
  1318. package/lighthouse-core/gather/gatherers/devtools-log-compat.js +0 -36
  1319. package/lighthouse-core/gather/gatherers/devtools-log.js +0 -66
  1320. package/lighthouse-core/gather/gatherers/dobetterweb/doctype.js +0 -46
  1321. package/lighthouse-core/gather/gatherers/dobetterweb/domstats.js +0 -103
  1322. package/lighthouse-core/gather/gatherers/dobetterweb/optimized-images.js +0 -192
  1323. package/lighthouse-core/gather/gatherers/dobetterweb/password-inputs-with-prevented-paste.js +0 -50
  1324. package/lighthouse-core/gather/gatherers/dobetterweb/response-compression.js +0 -154
  1325. package/lighthouse-core/gather/gatherers/dobetterweb/tags-blocking-first-paint.js +0 -238
  1326. package/lighthouse-core/gather/gatherers/full-page-screenshot.js +0 -235
  1327. package/lighthouse-core/gather/gatherers/gatherer.js +0 -59
  1328. package/lighthouse-core/gather/gatherers/global-listeners.js +0 -92
  1329. package/lighthouse-core/gather/gatherers/iframe-elements.js +0 -65
  1330. package/lighthouse-core/gather/gatherers/image-elements.js +0 -375
  1331. package/lighthouse-core/gather/gatherers/inputs.js +0 -113
  1332. package/lighthouse-core/gather/gatherers/inspector-issues.js +0 -127
  1333. package/lighthouse-core/gather/gatherers/installability-errors.js +0 -48
  1334. package/lighthouse-core/gather/gatherers/js-usage.js +0 -145
  1335. package/lighthouse-core/gather/gatherers/link-elements.js +0 -184
  1336. package/lighthouse-core/gather/gatherers/main-document-content.js +0 -56
  1337. package/lighthouse-core/gather/gatherers/meta-elements.js +0 -68
  1338. package/lighthouse-core/gather/gatherers/network-user-agent.js +0 -42
  1339. package/lighthouse-core/gather/gatherers/script-elements.js +0 -160
  1340. package/lighthouse-core/gather/gatherers/seo/embedded-content.js +0 -64
  1341. package/lighthouse-core/gather/gatherers/seo/font-size.js +0 -380
  1342. package/lighthouse-core/gather/gatherers/seo/robots-txt.js +0 -56
  1343. package/lighthouse-core/gather/gatherers/seo/tap-targets.js +0 -370
  1344. package/lighthouse-core/gather/gatherers/service-worker.js +0 -45
  1345. package/lighthouse-core/gather/gatherers/source-maps.js +0 -150
  1346. package/lighthouse-core/gather/gatherers/stacks.js +0 -125
  1347. package/lighthouse-core/gather/gatherers/trace-compat.js +0 -36
  1348. package/lighthouse-core/gather/gatherers/trace-elements.js +0 -349
  1349. package/lighthouse-core/gather/gatherers/trace.js +0 -131
  1350. package/lighthouse-core/gather/gatherers/viewport-dimensions.js +0 -58
  1351. package/lighthouse-core/gather/gatherers/web-app-manifest.js +0 -102
  1352. package/lighthouse-core/index.js +0 -80
  1353. package/lighthouse-core/lib/arbitrary-equality-map.js +0 -81
  1354. package/lighthouse-core/lib/asset-saver.js +0 -341
  1355. package/lighthouse-core/lib/axe.js +0 -13
  1356. package/lighthouse-core/lib/cdt/Platform.js +0 -55
  1357. package/lighthouse-core/lib/cdt/SDK.js +0 -28
  1358. package/lighthouse-core/lib/cdt/generated/SourceMap.js +0 -346
  1359. package/lighthouse-core/lib/csp-evaluator.js +0 -173
  1360. package/lighthouse-core/lib/dependency-graph/base-node.js +0 -363
  1361. package/lighthouse-core/lib/dependency-graph/cpu-node.js +0 -86
  1362. package/lighthouse-core/lib/dependency-graph/network-node.js +0 -99
  1363. package/lighthouse-core/lib/dependency-graph/simulator/connection-pool.js +0 -171
  1364. package/lighthouse-core/lib/dependency-graph/simulator/dns-cache.js +0 -73
  1365. package/lighthouse-core/lib/dependency-graph/simulator/network-analyzer.js +0 -498
  1366. package/lighthouse-core/lib/dependency-graph/simulator/simulator-timing-map.js +0 -212
  1367. package/lighthouse-core/lib/dependency-graph/simulator/simulator.js +0 -523
  1368. package/lighthouse-core/lib/dependency-graph/simulator/tcp-connection.js +0 -206
  1369. package/lighthouse-core/lib/deprecations-strings.js +0 -573
  1370. package/lighthouse-core/lib/emulation.js +0 -164
  1371. package/lighthouse-core/lib/i18n/README.md +0 -273
  1372. package/lighthouse-core/lib/i18n/i18n.js +0 -221
  1373. package/lighthouse-core/lib/icons.js +0 -85
  1374. package/lighthouse-core/lib/lantern-trace-saver.js +0 -198
  1375. package/lighthouse-core/lib/lh-env.js +0 -14
  1376. package/lighthouse-core/lib/lh-error.js +0 -421
  1377. package/lighthouse-core/lib/lh-trace-processor.js +0 -46
  1378. package/lighthouse-core/lib/manifest-parser.js +0 -513
  1379. package/lighthouse-core/lib/median-run.js +0 -92
  1380. package/lighthouse-core/lib/minification-estimator.js +0 -193
  1381. package/lighthouse-core/lib/minify-devtoolslog.js +0 -87
  1382. package/lighthouse-core/lib/minify-trace.js +0 -173
  1383. package/lighthouse-core/lib/navigation-error.js +0 -145
  1384. package/lighthouse-core/lib/network-recorder.js +0 -337
  1385. package/lighthouse-core/lib/network-request.js +0 -545
  1386. package/lighthouse-core/lib/page-functions.js +0 -559
  1387. package/lighthouse-core/lib/proto-preprocessor.js +0 -133
  1388. package/lighthouse-core/lib/rect-helpers.js +0 -252
  1389. package/lighthouse-core/lib/script-helpers.js +0 -24
  1390. package/lighthouse-core/lib/sentry.js +0 -144
  1391. package/lighthouse-core/lib/stack-packs.js +0 -120
  1392. package/lighthouse-core/lib/statistics.js +0 -104
  1393. package/lighthouse-core/lib/tappable-rects.js +0 -99
  1394. package/lighthouse-core/lib/third-party-web.js +0 -53
  1395. package/lighthouse-core/lib/timing-trace-saver.js +0 -97
  1396. package/lighthouse-core/lib/tracehouse/cpu-profile-model.js +0 -592
  1397. package/lighthouse-core/lib/tracehouse/main-thread-tasks.js +0 -688
  1398. package/lighthouse-core/lib/tracehouse/task-groups.js +0 -112
  1399. package/lighthouse-core/lib/tracehouse/task-summary.js +0 -87
  1400. package/lighthouse-core/lib/tracehouse/trace-processor.js +0 -962
  1401. package/lighthouse-core/lib/traces/pwmetrics-events.js +0 -200
  1402. package/lighthouse-core/lib/url-shim.js +0 -274
  1403. package/lighthouse-core/runner.js +0 -518
  1404. package/lighthouse-core/scoring.js +0 -93
  1405. package/lighthouse-core/scripts/download-chrome.sh +0 -36
  1406. package/lighthouse-core/scripts/manual-chrome-launcher.js +0 -51
  1407. package/lighthouse-core/scripts/package.json +0 -4
  1408. package/lighthouse-core/util-commonjs.js +0 -708
  1409. package/now.json +0 -14
  1410. package/report/.eslintrc.cjs +0 -35
  1411. package/report/generator/package.json +0 -4
  1412. package/report/package.json +0 -4
  1413. package/report/renderer/i18n.js +0 -198
  1414. package/report/renderer/util.js +0 -705
  1415. package/report/test/generator/package.json +0 -4
  1416. package/report/test/renderer/i18n-test.js +0 -140
  1417. package/report/test/renderer/util-test.js +0 -479
  1418. package/report/test-assets/faux-psi-template.html +0 -177
  1419. package/report/test-assets/faux-psi.js +0 -153
  1420. package/third-party/snyk/snapshot.json +0 -182
  1421. package/types/cssstyle/index.d.ts +0 -23
  1422. package/types/global-lh.d.ts +0 -81
  1423. package/types/jest.d.ts +0 -25
  1424. package/types/jsonld/index.d.ts +0 -19
  1425. package/types/lhr/flow.d.ts +0 -32
  1426. package/types/lighthouse-logger/index.d.ts +0 -33
  1427. package/types/lookup-closest-locale/index.d.ts +0 -11
  1428. package/types/node.d.ts +0 -12
  1429. package/types/query-selector.d.ts +0 -36
  1430. package/types/smokehouse.d.ts +0 -80
  1431. package/types/structured-data.d.ts +0 -36
@@ -0,0 +1,157 @@
1
+ /**
2
+ * @license Copyright 2019 The Lighthouse Authors. All Rights Reserved.
3
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
5
+ */
6
+
7
+ import {ProcessedTrace} from '../processed-trace.js';
8
+ import {ProcessedNavigation} from '../processed-navigation.js';
9
+ import {Speedline} from '../speedline.js';
10
+ import {FirstContentfulPaint} from './first-contentful-paint.js';
11
+ import {FirstContentfulPaintAllFrames} from './first-contentful-paint-all-frames.js';
12
+ import {FirstMeaningfulPaint} from './first-meaningful-paint.js';
13
+ import {LargestContentfulPaint} from './largest-contentful-paint.js';
14
+ import {LargestContentfulPaintAllFrames} from './largest-contentful-paint-all-frames.js';
15
+ import {Interactive} from './interactive.js';
16
+ import {CumulativeLayoutShift} from './cumulative-layout-shift.js';
17
+ import {SpeedIndex} from './speed-index.js';
18
+ import {MaxPotentialFID} from './max-potential-fid.js';
19
+ import {TotalBlockingTime} from './total-blocking-time.js';
20
+ import {makeComputedArtifact} from '../computed-artifact.js';
21
+
22
+ class TimingSummary {
23
+ /**
24
+ * @param {LH.Trace} trace
25
+ * @param {LH.DevtoolsLog} devtoolsLog
26
+ * @param {LH.Artifacts['GatherContext']} gatherContext
27
+ * @param {LH.Util.ImmutableObject<LH.Config.Settings>} settings
28
+ * @param {LH.Artifacts['URL']} URL
29
+ * @param {LH.Artifacts.ComputedContext} context
30
+ * @return {Promise<{metrics: LH.Artifacts.TimingSummary, debugInfo: Record<string,boolean>}>}
31
+ */
32
+ static async summarize(trace, devtoolsLog, gatherContext, settings, URL, context) {
33
+ const metricComputationData = {trace, devtoolsLog, gatherContext, settings, URL};
34
+ /**
35
+ * @template TArtifacts
36
+ * @template TReturn
37
+ * @param {{request: (artifact: TArtifacts, context: LH.Artifacts.ComputedContext) => Promise<TReturn>}} Artifact
38
+ * @param {TArtifacts} artifact
39
+ * @return {Promise<TReturn|undefined>}
40
+ */
41
+ const requestOrUndefined = (Artifact, artifact) => {
42
+ return Artifact.request(artifact, context).catch(_ => undefined);
43
+ };
44
+
45
+ /* eslint-disable max-len */
46
+
47
+ const processedTrace = await ProcessedTrace.request(trace, context);
48
+ const processedNavigation = await requestOrUndefined(ProcessedNavigation, trace);
49
+ const speedline = await Speedline.request(trace, context);
50
+ const firstContentfulPaint = await requestOrUndefined(FirstContentfulPaint, metricComputationData);
51
+ const firstContentfulPaintAllFrames = await requestOrUndefined(FirstContentfulPaintAllFrames, metricComputationData);
52
+ const firstMeaningfulPaint = await requestOrUndefined(FirstMeaningfulPaint, metricComputationData);
53
+ const largestContentfulPaint = await requestOrUndefined(LargestContentfulPaint, metricComputationData);
54
+ const largestContentfulPaintAllFrames = await requestOrUndefined(LargestContentfulPaintAllFrames, metricComputationData);
55
+ const interactive = await requestOrUndefined(Interactive, metricComputationData);
56
+ const cumulativeLayoutShiftValues = await requestOrUndefined(CumulativeLayoutShift, trace);
57
+ const maxPotentialFID = await requestOrUndefined(MaxPotentialFID, metricComputationData);
58
+ const speedIndex = await requestOrUndefined(SpeedIndex, metricComputationData);
59
+ const totalBlockingTime = await requestOrUndefined(TotalBlockingTime, metricComputationData);
60
+
61
+ const {
62
+ cumulativeLayoutShift,
63
+ cumulativeLayoutShiftMainFrame,
64
+ totalCumulativeLayoutShift,
65
+ } = cumulativeLayoutShiftValues || {};
66
+
67
+ /** @type {LH.Artifacts.TimingSummary} */
68
+ const metrics = {
69
+ // Include the simulated/observed performance metrics
70
+ firstContentfulPaint: firstContentfulPaint?.timing,
71
+ firstContentfulPaintTs: firstContentfulPaint?.timestamp,
72
+ firstContentfulPaintAllFrames: firstContentfulPaintAllFrames?.timing,
73
+ firstContentfulPaintAllFramesTs: firstContentfulPaintAllFrames?.timestamp,
74
+ firstMeaningfulPaint: firstMeaningfulPaint?.timing,
75
+ firstMeaningfulPaintTs: firstMeaningfulPaint?.timestamp,
76
+ largestContentfulPaint: largestContentfulPaint?.timing,
77
+ largestContentfulPaintTs: largestContentfulPaint?.timestamp,
78
+ largestContentfulPaintAllFrames: largestContentfulPaintAllFrames?.timing,
79
+ largestContentfulPaintAllFramesTs: largestContentfulPaintAllFrames?.timestamp,
80
+ interactive: interactive?.timing,
81
+ interactiveTs: interactive?.timestamp,
82
+ speedIndex: speedIndex?.timing,
83
+ speedIndexTs: speedIndex?.timestamp,
84
+ totalBlockingTime: totalBlockingTime?.timing,
85
+ maxPotentialFID: maxPotentialFID?.timing,
86
+ cumulativeLayoutShift,
87
+ cumulativeLayoutShiftMainFrame,
88
+ totalCumulativeLayoutShift,
89
+
90
+ // Include all timestamps of interest from the processed trace
91
+ observedTimeOrigin: processedTrace.timings.timeOrigin,
92
+ observedTimeOriginTs: processedTrace.timestamps.timeOrigin,
93
+ // For now, navigationStart is always timeOrigin.
94
+ observedNavigationStart: processedNavigation?.timings.timeOrigin,
95
+ observedNavigationStartTs: processedNavigation?.timestamps.timeOrigin,
96
+ observedFirstPaint: processedNavigation?.timings.firstPaint,
97
+ observedFirstPaintTs: processedNavigation?.timestamps.firstPaint,
98
+ observedFirstContentfulPaint: processedNavigation?.timings.firstContentfulPaint,
99
+ observedFirstContentfulPaintTs: processedNavigation?.timestamps.firstContentfulPaint,
100
+ observedFirstContentfulPaintAllFrames: processedNavigation?.timings.firstContentfulPaintAllFrames,
101
+ observedFirstContentfulPaintAllFramesTs: processedNavigation?.timestamps.firstContentfulPaintAllFrames,
102
+ observedFirstMeaningfulPaint: processedNavigation?.timings.firstMeaningfulPaint,
103
+ observedFirstMeaningfulPaintTs: processedNavigation?.timestamps.firstMeaningfulPaint,
104
+ observedLargestContentfulPaint: processedNavigation?.timings.largestContentfulPaint,
105
+ observedLargestContentfulPaintTs: processedNavigation?.timestamps.largestContentfulPaint,
106
+ observedLargestContentfulPaintAllFrames: processedNavigation?.timings.largestContentfulPaintAllFrames,
107
+ observedLargestContentfulPaintAllFramesTs: processedNavigation?.timestamps.largestContentfulPaintAllFrames,
108
+ observedTraceEnd: processedTrace.timings.traceEnd,
109
+ observedTraceEndTs: processedTrace.timestamps.traceEnd,
110
+ observedLoad: processedNavigation?.timings.load,
111
+ observedLoadTs: processedNavigation?.timestamps.load,
112
+ observedDomContentLoaded: processedNavigation?.timings.domContentLoaded,
113
+ observedDomContentLoadedTs: processedNavigation?.timestamps.domContentLoaded,
114
+ observedCumulativeLayoutShift: cumulativeLayoutShift,
115
+ observedCumulativeLayoutShiftMainFrame: cumulativeLayoutShiftMainFrame,
116
+ observedTotalCumulativeLayoutShift: totalCumulativeLayoutShift,
117
+
118
+ // Include some visual metrics from speedline
119
+ observedFirstVisualChange: speedline.first,
120
+ observedFirstVisualChangeTs: (speedline.first + speedline.beginning) * 1000,
121
+ observedLastVisualChange: speedline.complete,
122
+ observedLastVisualChangeTs: (speedline.complete + speedline.beginning) * 1000,
123
+ observedSpeedIndex: speedline.speedIndex,
124
+ observedSpeedIndexTs: (speedline.speedIndex + speedline.beginning) * 1000,
125
+ };
126
+
127
+ /* eslint-enable max-len */
128
+
129
+ /** @type {Record<string,boolean>} */
130
+ const debugInfo = {
131
+ lcpInvalidated: !!processedNavigation?.lcpInvalidated,
132
+ };
133
+
134
+ return {metrics, debugInfo};
135
+ }
136
+ /**
137
+ * @param {{trace: LH.Trace, devtoolsLog: LH.DevtoolsLog, gatherContext: LH.Artifacts['GatherContext']; settings: LH.Util.ImmutableObject<LH.Config.Settings>, URL: LH.Artifacts['URL']}} data
138
+ * @param {LH.Artifacts.ComputedContext} context
139
+ * @return {Promise<{metrics: LH.Artifacts.TimingSummary, debugInfo: Record<string,boolean>}>}
140
+ */
141
+ static async compute_(data, context) {
142
+ return TimingSummary.summarize(
143
+ data.trace,
144
+ data.devtoolsLog,
145
+ data.gatherContext,
146
+ data.settings,
147
+ data.URL,
148
+ context
149
+ );
150
+ }
151
+ }
152
+
153
+ const TimingSummaryComputed = makeComputedArtifact(
154
+ TimingSummary,
155
+ ['devtoolsLog', 'gatherContext', 'settings', 'trace', 'URL']
156
+ );
157
+ export {TimingSummaryComputed as TimingSummary};
@@ -0,0 +1,23 @@
1
+ export { TotalBlockingTimeComputed as TotalBlockingTime };
2
+ declare const TotalBlockingTimeComputed: typeof TotalBlockingTime & {
3
+ request: (dependencies: import("../../index.js").Artifacts.MetricComputationDataInput, context: import("../../../types/utility-types.js").default.ImmutableObject<{
4
+ computedCache: Map<string, import("../../lib/arbitrary-equality-map.js").ArbitraryEqualityMap>;
5
+ }>) => Promise<import("../../index.js").Artifacts.Metric | import("../../index.js").Artifacts.LanternMetric>;
6
+ };
7
+ /**
8
+ * @fileoverview This audit determines Total Blocking Time.
9
+
10
+ * We define Blocking Time as any time interval in the loading timeline where task length exceeds
11
+ * 50ms. For example, if there is a 110ms main thread task, the last 60ms of it is blocking time.
12
+ * Total Blocking Time is the sum of all Blocking Time between First Contentful Paint and
13
+ * Interactive Time (TTI).
14
+ *
15
+ * This is a new metric designed to accompany Time to Interactive. TTI is strict and does not
16
+ * reflect incremental improvements to the site performance unless the improvement concerns the last
17
+ * long task. Total Blocking Time on the other hand is designed to be much more responsive
18
+ * to smaller improvements to main thread responsiveness.
19
+ */
20
+ declare class TotalBlockingTime extends ComputedMetric {
21
+ }
22
+ import ComputedMetric from "./metric.js";
23
+ //# sourceMappingURL=total-blocking-time.d.ts.map
@@ -0,0 +1,74 @@
1
+ /**
2
+ * @license Copyright 2019 The Lighthouse Authors. All Rights Reserved.
3
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
5
+ */
6
+
7
+ import {makeComputedArtifact} from '../computed-artifact.js';
8
+ import ComputedMetric from './metric.js';
9
+ import {TraceProcessor} from '../../lib/tracehouse/trace-processor.js';
10
+ import {LanternTotalBlockingTime} from './lantern-total-blocking-time.js';
11
+ import {Interactive} from './interactive.js';
12
+ import {calculateSumOfBlockingTime} from './tbt-utils.js';
13
+
14
+ /**
15
+ * @fileoverview This audit determines Total Blocking Time.
16
+
17
+ * We define Blocking Time as any time interval in the loading timeline where task length exceeds
18
+ * 50ms. For example, if there is a 110ms main thread task, the last 60ms of it is blocking time.
19
+ * Total Blocking Time is the sum of all Blocking Time between First Contentful Paint and
20
+ * Interactive Time (TTI).
21
+ *
22
+ * This is a new metric designed to accompany Time to Interactive. TTI is strict and does not
23
+ * reflect incremental improvements to the site performance unless the improvement concerns the last
24
+ * long task. Total Blocking Time on the other hand is designed to be much more responsive
25
+ * to smaller improvements to main thread responsiveness.
26
+ */
27
+ class TotalBlockingTime extends ComputedMetric {
28
+ /**
29
+ * @param {LH.Artifacts.MetricComputationData} data
30
+ * @param {LH.Artifacts.ComputedContext} context
31
+ * @return {Promise<LH.Artifacts.LanternMetric>}
32
+ */
33
+ static computeSimulatedMetric(data, context) {
34
+ const metricData = ComputedMetric.getMetricComputationInput(data);
35
+ return LanternTotalBlockingTime.request(metricData, context);
36
+ }
37
+
38
+ /**
39
+ * @param {LH.Artifacts.MetricComputationData} data
40
+ * @param {LH.Artifacts.ComputedContext} context
41
+ * @return {Promise<LH.Artifacts.Metric>}
42
+ */
43
+ static async computeObservedMetric(data, context) {
44
+ const events = TraceProcessor.getMainThreadTopLevelEvents(data.processedTrace);
45
+
46
+ if (data.processedNavigation) {
47
+ const {firstContentfulPaint} = data.processedNavigation.timings;
48
+ const metricData = ComputedMetric.getMetricComputationInput(data);
49
+ const interactiveTimeMs = (await Interactive.request(metricData, context)).timing;
50
+
51
+ return {
52
+ timing: calculateSumOfBlockingTime(
53
+ events,
54
+ firstContentfulPaint,
55
+ interactiveTimeMs
56
+ ),
57
+ };
58
+ } else {
59
+ return {
60
+ timing: calculateSumOfBlockingTime(
61
+ events,
62
+ 0,
63
+ data.processedTrace.timestamps.traceEnd
64
+ ),
65
+ };
66
+ }
67
+ }
68
+ }
69
+
70
+ const TotalBlockingTimeComputed = makeComputedArtifact(
71
+ TotalBlockingTime,
72
+ ['devtoolsLog', 'gatherContext', 'settings', 'simulator', 'trace', 'URL']
73
+ );
74
+ export {TotalBlockingTimeComputed as TotalBlockingTime};
@@ -0,0 +1,37 @@
1
+ export { ModuleDuplicationComputed as ModuleDuplication };
2
+ declare const ModuleDuplicationComputed: typeof ModuleDuplication & {
3
+ request: (dependencies: Pick<import("../index.js").Artifacts, "Scripts" | "SourceMaps">, context: import("../../types/utility-types.js").default.ImmutableObject<{
4
+ computedCache: Map<string, import("../lib/arbitrary-equality-map.js").ArbitraryEqualityMap>;
5
+ }>) => Promise<Map<string, {
6
+ scriptId: string;
7
+ scriptUrl: string;
8
+ resourceSize: number;
9
+ }[]>>;
10
+ };
11
+ declare class ModuleDuplication {
12
+ /**
13
+ * @param {string} source
14
+ */
15
+ static normalizeSource(source: string): string;
16
+ /**
17
+ * @param {string} source
18
+ */
19
+ static _shouldIgnoreSource(source: string): boolean;
20
+ /**
21
+ * @param {Map<string, Array<{scriptId: string, resourceSize: number}>>} moduleNameToSourceData
22
+ */
23
+ static _normalizeAggregatedData(moduleNameToSourceData: Map<string, Array<{
24
+ scriptId: string;
25
+ resourceSize: number;
26
+ }>>): void;
27
+ /**
28
+ * @param {Pick<LH.Artifacts, 'Scripts'|'SourceMaps'>} artifacts
29
+ * @param {LH.Artifacts.ComputedContext} context
30
+ */
31
+ static compute_(artifacts: Pick<LH.Artifacts, 'Scripts' | 'SourceMaps'>, context: LH.Artifacts.ComputedContext): Promise<Map<string, {
32
+ scriptId: string;
33
+ scriptUrl: string;
34
+ resourceSize: number;
35
+ }[]>>;
36
+ }
37
+ //# sourceMappingURL=module-duplication.d.ts.map
@@ -0,0 +1,138 @@
1
+ /**
2
+ * @license Copyright 2020 The Lighthouse Authors. All Rights Reserved.
3
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
5
+ */
6
+
7
+ import {makeComputedArtifact} from './computed-artifact.js';
8
+ import {JSBundles} from './js-bundles.js';
9
+
10
+ const RELATIVE_SIZE_THRESHOLD = 0.1;
11
+ const ABSOLUTE_SIZE_THRESHOLD_BYTES = 1024 * 0.5;
12
+
13
+ class ModuleDuplication {
14
+ /**
15
+ * @param {string} source
16
+ */
17
+ static normalizeSource(source) {
18
+ // Trim trailing question mark - b/c webpack.
19
+ source = source.replace(/\?$/, '');
20
+
21
+ // Normalize paths for dependencies by only keeping everything after the last `node_modules`.
22
+ const lastNodeModulesIndex = source.lastIndexOf('node_modules');
23
+ if (lastNodeModulesIndex !== -1) {
24
+ source = source.substring(lastNodeModulesIndex);
25
+ }
26
+
27
+ return source;
28
+ }
29
+
30
+ /**
31
+ * @param {string} source
32
+ */
33
+ static _shouldIgnoreSource(source) {
34
+ // Ignore bundle overhead.
35
+ if (source.includes('webpack/bootstrap')) return true;
36
+ if (source.includes('(webpack)/buildin')) return true;
37
+
38
+ // Ignore webpack module shims, i.e. aliases of the form `module.exports = window.jQuery`
39
+ if (source.includes('external ')) return true;
40
+
41
+ return false;
42
+ }
43
+
44
+ /**
45
+ * @param {Map<string, Array<{scriptId: string, resourceSize: number}>>} moduleNameToSourceData
46
+ */
47
+ static _normalizeAggregatedData(moduleNameToSourceData) {
48
+ for (const [key, originalSourceData] of moduleNameToSourceData.entries()) {
49
+ let sourceData = originalSourceData;
50
+
51
+ // Sort by resource size.
52
+ sourceData.sort((a, b) => b.resourceSize - a.resourceSize);
53
+
54
+ // Remove modules smaller than a % size of largest.
55
+ if (sourceData.length > 1) {
56
+ const largestResourceSize = sourceData[0].resourceSize;
57
+ sourceData = sourceData.filter(data => {
58
+ const percentSize = data.resourceSize / largestResourceSize;
59
+ return percentSize >= RELATIVE_SIZE_THRESHOLD;
60
+ });
61
+ }
62
+
63
+ // Remove modules smaller than an absolute theshold.
64
+ sourceData = sourceData.filter(data => data.resourceSize >= ABSOLUTE_SIZE_THRESHOLD_BYTES);
65
+
66
+ // Delete source datas with only one value (no duplicates).
67
+ if (sourceData.length > 1) {
68
+ moduleNameToSourceData.set(key, sourceData);
69
+ } else {
70
+ moduleNameToSourceData.delete(key);
71
+ }
72
+ }
73
+ }
74
+
75
+ /**
76
+ * @param {Pick<LH.Artifacts, 'Scripts'|'SourceMaps'>} artifacts
77
+ * @param {LH.Artifacts.ComputedContext} context
78
+ */
79
+ static async compute_(artifacts, context) {
80
+ const bundles = await JSBundles.request(artifacts, context);
81
+
82
+ /**
83
+ * @typedef SourceData
84
+ * @property {string} source
85
+ * @property {number} resourceSize
86
+ */
87
+
88
+ /** @type {Map<LH.Artifacts.RawSourceMap, SourceData[]>} */
89
+ const sourceDatasMap = new Map();
90
+
91
+ // Determine size of each `sources` entry.
92
+ for (const {rawMap, sizes} of bundles) {
93
+ if ('errorMessage' in sizes) continue;
94
+
95
+ /** @type {SourceData[]} */
96
+ const sourceDataArray = [];
97
+ sourceDatasMap.set(rawMap, sourceDataArray);
98
+
99
+ for (let i = 0; i < rawMap.sources.length; i++) {
100
+ if (this._shouldIgnoreSource(rawMap.sources[i])) continue;
101
+
102
+ const sourceKey = (rawMap.sourceRoot || '') + rawMap.sources[i];
103
+ const sourceSize = sizes.files[sourceKey];
104
+ sourceDataArray.push({
105
+ source: ModuleDuplication.normalizeSource(rawMap.sources[i]),
106
+ resourceSize: sourceSize,
107
+ });
108
+ }
109
+ }
110
+
111
+ /** @type {Map<string, Array<{scriptId: string, scriptUrl: string, resourceSize: number}>>} */
112
+ const moduleNameToSourceData = new Map();
113
+ for (const {rawMap, script} of bundles) {
114
+ const sourceDataArray = sourceDatasMap.get(rawMap);
115
+ if (!sourceDataArray) continue;
116
+
117
+ for (const sourceData of sourceDataArray) {
118
+ let data = moduleNameToSourceData.get(sourceData.source);
119
+ if (!data) {
120
+ data = [];
121
+ moduleNameToSourceData.set(sourceData.source, data);
122
+ }
123
+ data.push({
124
+ scriptId: script.scriptId,
125
+ scriptUrl: script.url,
126
+ resourceSize: sourceData.resourceSize,
127
+ });
128
+ }
129
+ }
130
+
131
+ this._normalizeAggregatedData(moduleNameToSourceData);
132
+ return moduleNameToSourceData;
133
+ }
134
+ }
135
+
136
+ const ModuleDuplicationComputed =
137
+ makeComputedArtifact(ModuleDuplication, ['Scripts', 'SourceMaps']);
138
+ export {ModuleDuplicationComputed as ModuleDuplication};
@@ -0,0 +1,20 @@
1
+ export { NetworkAnalysisComputed as NetworkAnalysis };
2
+ declare const NetworkAnalysisComputed: typeof NetworkAnalysis & {
3
+ request: (dependencies: import("../index.js").DevtoolsLog, context: import("../../types/utility-types.js").default.ImmutableObject<{
4
+ computedCache: Map<string, import("../lib/arbitrary-equality-map.js").ArbitraryEqualityMap>;
5
+ }>) => Promise<import("../index.js").Artifacts.NetworkAnalysis>;
6
+ };
7
+ declare class NetworkAnalysis {
8
+ /**
9
+ * @param {Array<LH.Artifacts.NetworkRequest>} records
10
+ * @return {LH.Util.StrictOmit<LH.Artifacts.NetworkAnalysis, 'throughput'>}
11
+ */
12
+ static computeRTTAndServerResponseTime(records: Array<LH.Artifacts.NetworkRequest>): LH.Util.StrictOmit<LH.Artifacts.NetworkAnalysis, 'throughput'>;
13
+ /**
14
+ * @param {LH.DevtoolsLog} devtoolsLog
15
+ * @param {LH.Artifacts.ComputedContext} context
16
+ * @return {Promise<LH.Artifacts.NetworkAnalysis>}
17
+ */
18
+ static compute_(devtoolsLog: import("../index.js").DevtoolsLog, context: LH.Artifacts.ComputedContext): Promise<LH.Artifacts.NetworkAnalysis>;
19
+ }
20
+ //# sourceMappingURL=network-analysis.d.ts.map
@@ -0,0 +1,64 @@
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
+ import {makeComputedArtifact} from './computed-artifact.js';
8
+ import {NetworkAnalyzer} from '../lib/dependency-graph/simulator/network-analyzer.js';
9
+ import {NetworkRecords} from './network-records.js';
10
+
11
+ class NetworkAnalysis {
12
+ /**
13
+ * @param {Array<LH.Artifacts.NetworkRequest>} records
14
+ * @return {LH.Util.StrictOmit<LH.Artifacts.NetworkAnalysis, 'throughput'>}
15
+ */
16
+ static computeRTTAndServerResponseTime(records) {
17
+ // First pass compute the estimated observed RTT to each origin's servers.
18
+ /** @type {Map<string, number>} */
19
+ const rttByOrigin = new Map();
20
+ for (const [origin, summary] of NetworkAnalyzer.estimateRTTByOrigin(records).entries()) {
21
+ rttByOrigin.set(origin, summary.min);
22
+ }
23
+
24
+ // We'll use the minimum RTT as the assumed connection latency since we care about how much addt'l
25
+ // latency each origin introduces as Lantern will be simulating with its own connection latency.
26
+ const minimumRtt = Math.min(...Array.from(rttByOrigin.values()));
27
+ // We'll use the observed RTT information to help estimate the server response time
28
+ const responseTimeSummaries = NetworkAnalyzer.estimateServerResponseTimeByOrigin(records, {
29
+ rttByOrigin,
30
+ });
31
+
32
+ /** @type {Map<string, number>} */
33
+ const additionalRttByOrigin = new Map();
34
+ /** @type {Map<string, number>} */
35
+ const serverResponseTimeByOrigin = new Map();
36
+ for (const [origin, summary] of responseTimeSummaries.entries()) {
37
+ // Not all origins have usable timing data, we'll default to using no additional latency.
38
+ const rttForOrigin = rttByOrigin.get(origin) || minimumRtt;
39
+ additionalRttByOrigin.set(origin, rttForOrigin - minimumRtt);
40
+ serverResponseTimeByOrigin.set(origin, summary.median);
41
+ }
42
+
43
+ return {
44
+ rtt: minimumRtt,
45
+ additionalRttByOrigin,
46
+ serverResponseTimeByOrigin,
47
+ };
48
+ }
49
+
50
+ /**
51
+ * @param {LH.DevtoolsLog} devtoolsLog
52
+ * @param {LH.Artifacts.ComputedContext} context
53
+ * @return {Promise<LH.Artifacts.NetworkAnalysis>}
54
+ */
55
+ static async compute_(devtoolsLog, context) {
56
+ const records = await NetworkRecords.request(devtoolsLog, context);
57
+ const throughput = NetworkAnalyzer.estimateThroughput(records);
58
+ const rttAndServerResponseTime = NetworkAnalysis.computeRTTAndServerResponseTime(records);
59
+ return {throughput, ...rttAndServerResponseTime};
60
+ }
61
+ }
62
+
63
+ const NetworkAnalysisComputed = makeComputedArtifact(NetworkAnalysis, null);
64
+ export {NetworkAnalysisComputed as NetworkAnalysis};
@@ -0,0 +1,15 @@
1
+ export { NetworkRecordsComputed as NetworkRecords };
2
+ declare const NetworkRecordsComputed: typeof NetworkRecords & {
3
+ request: (dependencies: LH.DevtoolsLog, context: LH.Util.ImmutableObject<{
4
+ computedCache: Map<string, import("../lib/arbitrary-equality-map.js").ArbitraryEqualityMap>;
5
+ }>) => Promise<import("../lib/network-request.js").NetworkRequest[]>;
6
+ };
7
+ declare class NetworkRecords {
8
+ /**
9
+ * @param {LH.DevtoolsLog} devtoolsLog
10
+ * @return {Promise<Array<LH.Artifacts.NetworkRequest>>} networkRecords
11
+ */
12
+ static compute_(devtoolsLog: LH.DevtoolsLog): Promise<Array<LH.Artifacts.NetworkRequest>>;
13
+ }
14
+ import * as LH from "../../types/lh.js";
15
+ //# sourceMappingURL=network-records.d.ts.map
@@ -0,0 +1,22 @@
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
+ import * as LH from '../../types/lh.js';
8
+ import {makeComputedArtifact} from './computed-artifact.js';
9
+ import {NetworkRecorder} from '../lib/network-recorder.js';
10
+
11
+ class NetworkRecords {
12
+ /**
13
+ * @param {LH.DevtoolsLog} devtoolsLog
14
+ * @return {Promise<Array<LH.Artifacts.NetworkRequest>>} networkRecords
15
+ */
16
+ static async compute_(devtoolsLog) {
17
+ return NetworkRecorder.recordsFromLogs(devtoolsLog);
18
+ }
19
+ }
20
+
21
+ const NetworkRecordsComputed = makeComputedArtifact(NetworkRecords, null);
22
+ export {NetworkRecordsComputed as NetworkRecords};
@@ -0,0 +1,88 @@
1
+ export { PageDependencyGraphComputed as PageDependencyGraph };
2
+ export type Node = import('../lib/dependency-graph/base-node.js').Node;
3
+ export type URLArtifact = Omit<LH.Artifacts['URL'], 'finalDisplayedUrl'>;
4
+ export type NetworkNodeOutput = {
5
+ nodes: Array<NetworkNode>;
6
+ idToNodeMap: Map<string, NetworkNode>;
7
+ urlToNodeMap: Map<string, Array<NetworkNode>>;
8
+ frameIdToNodeMap: Map<string, NetworkNode | null>;
9
+ };
10
+ declare const PageDependencyGraphComputed: typeof PageDependencyGraph & {
11
+ request: (dependencies: {
12
+ trace: LH.Trace;
13
+ devtoolsLog: import("../index.js").DevtoolsLog;
14
+ URL: LH.Artifacts['URL'];
15
+ }, context: import("../../types/utility-types.js").default.ImmutableObject<{
16
+ computedCache: Map<string, import("../lib/arbitrary-equality-map.js").ArbitraryEqualityMap>;
17
+ }>) => Promise<import("../lib/dependency-graph/base-node.js").Node>;
18
+ };
19
+ import { NetworkNode } from "../lib/dependency-graph/network-node.js";
20
+ declare class PageDependencyGraph {
21
+ /**
22
+ * @param {LH.Artifacts.NetworkRequest} record
23
+ * @return {Array<string>}
24
+ */
25
+ static getNetworkInitiators(record: LH.Artifacts.NetworkRequest): Array<string>;
26
+ /**
27
+ * @param {Array<LH.Artifacts.NetworkRequest>} networkRecords
28
+ * @return {NetworkNodeOutput}
29
+ */
30
+ static getNetworkNodeOutput(networkRecords: Array<LH.Artifacts.NetworkRequest>): NetworkNodeOutput;
31
+ /**
32
+ * @param {LH.Artifacts.ProcessedTrace} processedTrace
33
+ * @return {Array<CPUNode>}
34
+ */
35
+ static getCPUNodes({ mainThreadEvents }: LH.Artifacts.ProcessedTrace): Array<CPUNode>;
36
+ /**
37
+ * @param {NetworkNode} rootNode
38
+ * @param {NetworkNodeOutput} networkNodeOutput
39
+ */
40
+ static linkNetworkNodes(rootNode: NetworkNode, networkNodeOutput: NetworkNodeOutput): void;
41
+ /**
42
+ * @param {Node} rootNode
43
+ * @param {NetworkNodeOutput} networkNodeOutput
44
+ * @param {Array<CPUNode>} cpuNodes
45
+ */
46
+ static linkCPUNodes(rootNode: Node, networkNodeOutput: NetworkNodeOutput, cpuNodes: Array<CPUNode>): void;
47
+ /**
48
+ * Removes the given node from the graph, but retains all paths between its dependencies and
49
+ * dependents.
50
+ * @param {Node} node
51
+ */
52
+ static _pruneNode(node: Node): void;
53
+ /**
54
+ * @param {LH.Artifacts.ProcessedTrace} processedTrace
55
+ * @param {Array<LH.Artifacts.NetworkRequest>} networkRecords
56
+ * @param {URLArtifact} URL
57
+ * @return {Node}
58
+ */
59
+ static createGraph(processedTrace: LH.Artifacts.ProcessedTrace, networkRecords: Array<LH.Artifacts.NetworkRequest>, URL: URLArtifact): Node;
60
+ /**
61
+ *
62
+ * @param {Node} rootNode
63
+ */
64
+ static printGraph(rootNode: Node, widthInCharacters?: number): void;
65
+ /**
66
+ * Recalculate `artifacts.URL` for clients that don't provide it.
67
+ *
68
+ * @param {LH.DevtoolsLog} devtoolsLog
69
+ * @param {LH.Artifacts.NetworkRequest[]} networkRecords
70
+ * @param {LH.Artifacts.ProcessedTrace} processedTrace
71
+ * @return {URLArtifact}
72
+ */
73
+ static getDocumentUrls(devtoolsLog: import("../index.js").DevtoolsLog, networkRecords: LH.Artifacts.NetworkRequest[], processedTrace: LH.Artifacts.ProcessedTrace): URLArtifact;
74
+ /**
75
+ * @param {{trace: LH.Trace, devtoolsLog: LH.DevtoolsLog, URL: LH.Artifacts['URL']}} data
76
+ * @param {LH.Artifacts.ComputedContext} context
77
+ * @return {Promise<Node>}
78
+ */
79
+ static compute_(data: {
80
+ trace: LH.Trace;
81
+ devtoolsLog: import("../index.js").DevtoolsLog;
82
+ URL: LH.Artifacts['URL'];
83
+ }, context: LH.Artifacts.ComputedContext): Promise<Node>;
84
+ }
85
+ import { NetworkRequest } from "../lib/network-request.js";
86
+ import { ProcessedTrace } from "./processed-trace.js";
87
+ import { CPUNode } from "../lib/dependency-graph/cpu-node.js";
88
+ //# sourceMappingURL=page-dependency-graph.d.ts.map