lighthouse 12.1.0 → 12.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (436) hide show
  1. package/cli/cli-flags.d.ts +2 -2
  2. package/cli/cli-flags.js +1 -1
  3. package/cli/sentry-prompt.js +2 -2
  4. package/cli/test/smokehouse/frontends/lib.d.ts +1 -1
  5. package/cli/test/smokehouse/lib/concurrent-mapper.d.ts +6 -6
  6. package/cli/test/smokehouse/lighthouse-runners/bundle.d.ts +1 -1
  7. package/cli/test/smokehouse/lighthouse-runners/cli.d.ts +1 -2
  8. package/cli/test/smokehouse/lighthouse-runners/devtools.d.ts +1 -1
  9. package/cli/test/smokehouse/report-assert.d.ts +0 -1
  10. package/cli/test/smokehouse/version-check.d.ts +3 -3
  11. package/core/audits/accessibility/accesskeys.d.ts +3 -3
  12. package/core/audits/accessibility/aria-allowed-attr.d.ts +3 -3
  13. package/core/audits/accessibility/aria-allowed-role.d.ts +3 -3
  14. package/core/audits/accessibility/aria-command-name.d.ts +3 -3
  15. package/core/audits/accessibility/aria-conditional-attr.d.ts +3 -3
  16. package/core/audits/accessibility/aria-deprecated-role.d.ts +3 -3
  17. package/core/audits/accessibility/aria-dialog-name.d.ts +3 -3
  18. package/core/audits/accessibility/aria-hidden-body.d.ts +3 -3
  19. package/core/audits/accessibility/aria-hidden-focus.d.ts +3 -3
  20. package/core/audits/accessibility/aria-input-field-name.d.ts +3 -3
  21. package/core/audits/accessibility/aria-meter-name.d.ts +3 -3
  22. package/core/audits/accessibility/aria-progressbar-name.d.ts +3 -3
  23. package/core/audits/accessibility/aria-prohibited-attr.d.ts +3 -3
  24. package/core/audits/accessibility/aria-required-attr.d.ts +3 -3
  25. package/core/audits/accessibility/aria-required-children.d.ts +3 -3
  26. package/core/audits/accessibility/aria-required-parent.d.ts +3 -3
  27. package/core/audits/accessibility/aria-roles.d.ts +3 -3
  28. package/core/audits/accessibility/aria-text.d.ts +3 -3
  29. package/core/audits/accessibility/aria-toggle-field-name.d.ts +3 -3
  30. package/core/audits/accessibility/aria-tooltip-name.d.ts +3 -3
  31. package/core/audits/accessibility/aria-treeitem-name.d.ts +3 -3
  32. package/core/audits/accessibility/aria-valid-attr-value.d.ts +3 -3
  33. package/core/audits/accessibility/aria-valid-attr.d.ts +3 -3
  34. package/core/audits/accessibility/axe-audit.d.ts +1 -1
  35. package/core/audits/accessibility/button-name.d.ts +3 -3
  36. package/core/audits/accessibility/bypass.d.ts +3 -3
  37. package/core/audits/accessibility/color-contrast.d.ts +3 -3
  38. package/core/audits/accessibility/definition-list.d.ts +3 -3
  39. package/core/audits/accessibility/dlitem.d.ts +3 -3
  40. package/core/audits/accessibility/document-title.d.ts +3 -3
  41. package/core/audits/accessibility/duplicate-id-aria.d.ts +3 -3
  42. package/core/audits/accessibility/empty-heading.d.ts +3 -3
  43. package/core/audits/accessibility/form-field-multiple-labels.d.ts +3 -3
  44. package/core/audits/accessibility/frame-title.d.ts +3 -3
  45. package/core/audits/accessibility/heading-order.d.ts +3 -3
  46. package/core/audits/accessibility/html-has-lang.d.ts +3 -3
  47. package/core/audits/accessibility/html-lang-valid.d.ts +3 -3
  48. package/core/audits/accessibility/html-xml-lang-mismatch.d.ts +3 -3
  49. package/core/audits/accessibility/identical-links-same-purpose.d.ts +3 -3
  50. package/core/audits/accessibility/image-alt.d.ts +3 -3
  51. package/core/audits/accessibility/image-redundant-alt.d.ts +3 -3
  52. package/core/audits/accessibility/input-button-name.d.ts +3 -3
  53. package/core/audits/accessibility/input-image-alt.d.ts +3 -3
  54. package/core/audits/accessibility/label-content-name-mismatch.d.ts +3 -3
  55. package/core/audits/accessibility/label.d.ts +3 -3
  56. package/core/audits/accessibility/landmark-one-main.d.ts +3 -3
  57. package/core/audits/accessibility/link-in-text-block.d.ts +3 -3
  58. package/core/audits/accessibility/link-name.d.ts +3 -3
  59. package/core/audits/accessibility/list.d.ts +3 -3
  60. package/core/audits/accessibility/listitem.d.ts +3 -3
  61. package/core/audits/accessibility/meta-refresh.d.ts +3 -3
  62. package/core/audits/accessibility/meta-viewport.d.ts +3 -3
  63. package/core/audits/accessibility/object-alt.d.ts +3 -3
  64. package/core/audits/accessibility/select-name.d.ts +3 -3
  65. package/core/audits/accessibility/skip-link.d.ts +3 -3
  66. package/core/audits/accessibility/tabindex.d.ts +3 -3
  67. package/core/audits/accessibility/table-duplicate-name.d.ts +3 -3
  68. package/core/audits/accessibility/table-fake-caption.d.ts +3 -3
  69. package/core/audits/accessibility/target-size.d.ts +3 -3
  70. package/core/audits/accessibility/td-has-header.d.ts +3 -3
  71. package/core/audits/accessibility/td-headers-attr.d.ts +3 -3
  72. package/core/audits/accessibility/th-has-data-cells.d.ts +3 -3
  73. package/core/audits/accessibility/valid-lang.d.ts +3 -3
  74. package/core/audits/accessibility/video-caption.d.ts +3 -3
  75. package/core/audits/audit.d.ts +17 -17
  76. package/core/audits/autocomplete.d.ts +9 -9
  77. package/core/audits/bf-cache.d.ts +10 -10
  78. package/core/audits/bootup-time.d.ts +7 -7
  79. package/core/audits/byte-efficiency/byte-efficiency-audit.d.ts +6 -8
  80. package/core/audits/byte-efficiency/byte-efficiency-audit.js +3 -6
  81. package/core/audits/byte-efficiency/duplicated-javascript.d.ts +4 -4
  82. package/core/audits/byte-efficiency/efficient-animated-content.d.ts +3 -4
  83. package/core/audits/byte-efficiency/legacy-javascript.d.ts +7 -8
  84. package/core/audits/byte-efficiency/modern-image-formats.d.ts +3 -3
  85. package/core/audits/byte-efficiency/offscreen-images.d.ts +3 -4
  86. package/core/audits/byte-efficiency/render-blocking-resources.d.ts +5 -9
  87. package/core/audits/byte-efficiency/render-blocking-resources.js +10 -16
  88. package/core/audits/byte-efficiency/total-byte-weight.d.ts +4 -4
  89. package/core/audits/byte-efficiency/unminified-css.d.ts +3 -3
  90. package/core/audits/byte-efficiency/unminified-javascript.d.ts +3 -3
  91. package/core/audits/byte-efficiency/unused-css-rules.d.ts +3 -3
  92. package/core/audits/byte-efficiency/unused-javascript.d.ts +3 -3
  93. package/core/audits/byte-efficiency/uses-long-cache-ttl.d.ts +4 -6
  94. package/core/audits/byte-efficiency/uses-optimized-images.d.ts +3 -3
  95. package/core/audits/byte-efficiency/uses-responsive-images-snapshot.d.ts +4 -4
  96. package/core/audits/byte-efficiency/uses-responsive-images.d.ts +4 -5
  97. package/core/audits/byte-efficiency/uses-text-compression.d.ts +3 -3
  98. package/core/audits/critical-request-chains.d.ts +3 -3
  99. package/core/audits/csp-xss.d.ts +8 -8
  100. package/core/audits/deprecations.d.ts +6 -6
  101. package/core/audits/dobetterweb/charset.d.ts +3 -3
  102. package/core/audits/dobetterweb/doctype.d.ts +9 -9
  103. package/core/audits/dobetterweb/dom-size.d.ts +9 -9
  104. package/core/audits/dobetterweb/geolocation-on-start.d.ts +3 -3
  105. package/core/audits/dobetterweb/inspector-issues.d.ts +6 -6
  106. package/core/audits/dobetterweb/js-libraries.d.ts +3 -3
  107. package/core/audits/dobetterweb/no-document-write.d.ts +3 -3
  108. package/core/audits/dobetterweb/notification-on-start.d.ts +3 -3
  109. package/core/audits/dobetterweb/paste-preventing-inputs.d.ts +3 -3
  110. package/core/audits/dobetterweb/uses-http2.d.ts +7 -11
  111. package/core/audits/dobetterweb/uses-http2.js +2 -5
  112. package/core/audits/dobetterweb/uses-passive-event-listeners.d.ts +3 -3
  113. package/core/audits/errors-in-console.d.ts +4 -4
  114. package/core/audits/font-display.d.ts +4 -4
  115. package/core/audits/image-aspect-ratio.d.ts +5 -5
  116. package/core/audits/image-size-responsive.d.ts +7 -7
  117. package/core/audits/is-on-https.d.ts +10 -10
  118. package/core/audits/largest-contentful-paint-element.d.ts +9 -9
  119. package/core/audits/layout-shifts.d.ts +9 -9
  120. package/core/audits/lcp-lazy-loaded.d.ts +3 -3
  121. package/core/audits/long-tasks.d.ts +11 -11
  122. package/core/audits/long-tasks.js +5 -5
  123. package/core/audits/mainthread-work-breakdown.d.ts +5 -5
  124. package/core/audits/metrics/cumulative-layout-shift.d.ts +1 -1
  125. package/core/audits/metrics/first-contentful-paint.d.ts +1 -1
  126. package/core/audits/metrics/first-meaningful-paint.d.ts +1 -1
  127. package/core/audits/metrics/interaction-to-next-paint.d.ts +1 -1
  128. package/core/audits/metrics/interactive.d.ts +1 -1
  129. package/core/audits/metrics/largest-contentful-paint.d.ts +1 -1
  130. package/core/audits/metrics/max-potential-fid.d.ts +2 -4
  131. package/core/audits/metrics/speed-index.d.ts +1 -1
  132. package/core/audits/metrics/total-blocking-time.d.ts +1 -1
  133. package/core/audits/network-rtt.d.ts +2 -2
  134. package/core/audits/network-server-latency.d.ts +2 -2
  135. package/core/audits/non-composited-animations.d.ts +9 -9
  136. package/core/audits/oopif-iframe-test-audit.d.ts +5 -5
  137. package/core/audits/preload-fonts.d.ts +3 -3
  138. package/core/audits/prioritize-lcp-image.d.ts +7 -7
  139. package/core/audits/redirects-http.d.ts +3 -3
  140. package/core/audits/redirects.d.ts +2 -3
  141. package/core/audits/resource-summary.d.ts +1 -1
  142. package/core/audits/screenshot-thumbnails.d.ts +2 -3
  143. package/core/audits/script-treemap-data.d.ts +1 -1
  144. package/core/audits/seo/canonical.d.ts +8 -8
  145. package/core/audits/seo/crawlable-anchors.d.ts +4 -4
  146. package/core/audits/seo/font-size.d.ts +11 -11
  147. package/core/audits/seo/hreflang.d.ts +6 -6
  148. package/core/audits/seo/http-status-code.d.ts +3 -3
  149. package/core/audits/seo/is-crawlable.d.ts +9 -10
  150. package/core/audits/seo/link-text.d.ts +4 -4
  151. package/core/audits/seo/manual/structured-data.d.ts +2 -2
  152. package/core/audits/seo/meta-description.d.ts +4 -4
  153. package/core/audits/seo/robots-txt.d.ts +6 -6
  154. package/core/audits/server-response-time.d.ts +4 -4
  155. package/core/audits/third-party-cookies.d.ts +4 -4
  156. package/core/audits/third-party-facades.d.ts +11 -12
  157. package/core/audits/third-party-summary.d.ts +5 -6
  158. package/core/audits/third-party-summary.js +7 -4
  159. package/core/audits/unsized-images.d.ts +3 -3
  160. package/core/audits/user-timings.d.ts +6 -6
  161. package/core/audits/uses-rel-preconnect.d.ts +5 -5
  162. package/core/audits/uses-rel-preload.d.ts +7 -7
  163. package/core/audits/uses-rel-preload.js +8 -6
  164. package/core/audits/valid-source-maps.d.ts +6 -7
  165. package/core/audits/viewport.d.ts +4 -4
  166. package/core/audits/work-during-interaction.d.ts +11 -12
  167. package/core/computed/computed-artifact.d.ts +2 -2
  168. package/core/computed/critical-request-chains.d.ts +9 -11
  169. package/core/computed/critical-request-chains.js +6 -6
  170. package/core/computed/document-urls.d.ts +3 -8
  171. package/core/computed/document-urls.js +1 -1
  172. package/core/computed/entity-classification.d.ts +6 -8
  173. package/core/computed/image-records.d.ts +3 -5
  174. package/core/computed/js-bundles.d.ts +2 -4
  175. package/core/computed/lcp-image-record.d.ts +3 -5
  176. package/core/computed/load-simulator.d.ts +7 -11
  177. package/core/computed/load-simulator.js +1 -1
  178. package/core/computed/main-resource.d.ts +5 -7
  179. package/core/computed/main-resource.js +1 -1
  180. package/core/computed/main-thread-tasks.d.ts +1 -3
  181. package/core/computed/metrics/cumulative-layout-shift.d.ts +2 -14
  182. package/core/computed/metrics/first-contentful-paint-all-frames.d.ts +1 -3
  183. package/core/computed/metrics/first-contentful-paint.d.ts +1 -3
  184. package/core/computed/metrics/interactive.d.ts +1 -3
  185. package/core/computed/metrics/lantern-first-contentful-paint.d.ts +3 -7
  186. package/core/computed/metrics/lantern-first-contentful-paint.js +3 -5
  187. package/core/computed/metrics/lantern-interactive.d.ts +3 -7
  188. package/core/computed/metrics/lantern-interactive.js +3 -5
  189. package/core/computed/metrics/lantern-largest-contentful-paint.d.ts +3 -7
  190. package/core/computed/metrics/lantern-largest-contentful-paint.js +3 -5
  191. package/core/computed/metrics/lantern-max-potential-fid.d.ts +3 -7
  192. package/core/computed/metrics/lantern-max-potential-fid.js +3 -5
  193. package/core/computed/metrics/lantern-metric.d.ts +8 -8
  194. package/core/computed/metrics/lantern-metric.js +1 -1
  195. package/core/computed/metrics/lantern-speed-index.d.ts +3 -7
  196. package/core/computed/metrics/lantern-speed-index.js +3 -5
  197. package/core/computed/metrics/lantern-total-blocking-time.d.ts +3 -7
  198. package/core/computed/metrics/lantern-total-blocking-time.js +1 -3
  199. package/core/computed/metrics/largest-contentful-paint-all-frames.d.ts +1 -3
  200. package/core/computed/metrics/largest-contentful-paint.d.ts +1 -3
  201. package/core/computed/metrics/lcp-breakdown.d.ts +3 -9
  202. package/core/computed/metrics/max-potential-fid.d.ts +1 -3
  203. package/core/computed/metrics/responsiveness.d.ts +7 -10
  204. package/core/computed/metrics/speed-index.d.ts +1 -3
  205. package/core/computed/metrics/time-to-first-byte.d.ts +1 -3
  206. package/core/computed/metrics/timing-summary.d.ts +8 -13
  207. package/core/computed/metrics/total-blocking-time.d.ts +1 -3
  208. package/core/computed/metrics/total-blocking-time.js +1 -1
  209. package/core/computed/module-duplication.d.ts +2 -8
  210. package/core/computed/navigation-insights.d.ts +2 -4
  211. package/core/computed/network-analysis.d.ts +2 -4
  212. package/core/computed/network-analysis.js +1 -1
  213. package/core/computed/network-records.d.ts +1 -3
  214. package/core/computed/page-dependency-graph.d.ts +9 -14
  215. package/core/computed/page-dependency-graph.js +3 -4
  216. package/core/computed/processed-navigation.d.ts +2 -5
  217. package/core/computed/processed-trace.d.ts +1 -3
  218. package/core/computed/resource-summary.d.ts +6 -10
  219. package/core/computed/screenshots.d.ts +1 -6
  220. package/core/computed/speedline.d.ts +1 -3
  221. package/core/computed/tbt-impact-tasks.d.ts +4 -5
  222. package/core/computed/tbt-impact-tasks.js +31 -8
  223. package/core/computed/trace-engine-result.d.ts +1 -3
  224. package/core/computed/trace-engine-result.js +10 -1
  225. package/core/computed/unused-css.d.ts +7 -9
  226. package/core/computed/unused-javascript-summary.d.ts +3 -5
  227. package/core/computed/user-timings.d.ts +3 -5
  228. package/core/computed/viewport-meta.d.ts +7 -9
  229. package/core/config/config-helpers.d.ts +5 -5
  230. package/core/config/config.d.ts +3 -3
  231. package/core/config/constants.d.ts +6 -6
  232. package/core/config/filters.d.ts +8 -8
  233. package/core/config/validation.d.ts +1 -1
  234. package/core/gather/driver/environment.d.ts +5 -5
  235. package/core/gather/driver/environment.js +1 -1
  236. package/core/gather/driver/execution-context.d.ts +6 -6
  237. package/core/gather/driver/navigation.d.ts +3 -3
  238. package/core/gather/driver/network-monitor.d.ts +6 -6
  239. package/core/gather/driver/storage.d.ts +4 -4
  240. package/core/gather/driver/target-manager.d.ts +4 -5
  241. package/core/gather/driver/target-manager.js +1 -1
  242. package/core/gather/driver/wait-for-condition.d.ts +3 -3
  243. package/core/gather/driver/wait-for-condition.js +4 -4
  244. package/core/gather/driver.d.ts +1 -1
  245. package/core/gather/gatherers/accessibility.d.ts +1 -1
  246. package/core/gather/gatherers/anchor-elements.d.ts +1 -1
  247. package/core/gather/gatherers/bf-cache-failures.d.ts +3 -3
  248. package/core/gather/gatherers/cache-contents.d.ts +1 -1
  249. package/core/gather/gatherers/console-messages.d.ts +1 -1
  250. package/core/gather/gatherers/css-usage.d.ts +1 -1
  251. package/core/gather/gatherers/devtools-log-compat.d.ts +3 -3
  252. package/core/gather/gatherers/devtools-log.d.ts +3 -3
  253. package/core/gather/gatherers/dobetterweb/doctype.d.ts +1 -1
  254. package/core/gather/gatherers/dobetterweb/domstats.d.ts +1 -1
  255. package/core/gather/gatherers/dobetterweb/optimized-images.d.ts +6 -7
  256. package/core/gather/gatherers/dobetterweb/response-compression.d.ts +4 -5
  257. package/core/gather/gatherers/full-page-screenshot.d.ts +3 -3
  258. package/core/gather/gatherers/iframe-elements.d.ts +1 -1
  259. package/core/gather/gatherers/image-elements.d.ts +1 -1
  260. package/core/gather/gatherers/inputs.d.ts +1 -1
  261. package/core/gather/gatherers/inspector-issues.d.ts +2 -2
  262. package/core/gather/gatherers/js-usage.d.ts +1 -1
  263. package/core/gather/gatherers/link-elements.d.ts +6 -10
  264. package/core/gather/gatherers/link-elements.js +5 -12
  265. package/core/gather/gatherers/main-document-content.d.ts +2 -2
  266. package/core/gather/gatherers/meta-elements.d.ts +1 -1
  267. package/core/gather/gatherers/network-user-agent.d.ts +4 -4
  268. package/core/gather/gatherers/root-causes.d.ts +3 -4
  269. package/core/gather/gatherers/seo/font-size.d.ts +19 -19
  270. package/core/gather/gatherers/seo/robots-txt.d.ts +1 -1
  271. package/core/gather/gatherers/source-maps.d.ts +2 -2
  272. package/core/gather/gatherers/stacks.d.ts +2 -2
  273. package/core/gather/gatherers/stylesheets.d.ts +1 -9
  274. package/core/gather/gatherers/stylesheets.js +8 -39
  275. package/core/gather/gatherers/trace-compat.d.ts +3 -3
  276. package/core/gather/gatherers/trace-elements.d.ts +4 -6
  277. package/core/gather/navigation-runner.d.ts +3 -4
  278. package/core/gather/runner-helpers.d.ts +3 -3
  279. package/core/gather/session.d.ts +4 -4
  280. package/core/gather/session.js +1 -1
  281. package/core/gather/snapshot-runner.d.ts +2 -2
  282. package/core/gather/timespan-runner.d.ts +3 -3
  283. package/core/index.d.cts +1 -7
  284. package/core/index.d.ts +6 -6
  285. package/core/lib/arbitrary-equality-map.d.ts +2 -2
  286. package/core/lib/asset-saver.d.ts +3 -3
  287. package/core/lib/asset-saver.js +1 -1
  288. package/core/lib/bf-cache-strings.d.ts +117 -117
  289. package/core/lib/cdt/Platform.d.ts +1 -1
  290. package/core/lib/cdt/SDK.d.ts +1 -1
  291. package/core/lib/cdt/generated/ParsedURL.js +2 -2
  292. package/core/lib/cdt/generated/SourceMap.d.ts +11 -11
  293. package/core/lib/cdt/generated/SourceMap.js +3 -3
  294. package/core/lib/csp-evaluator.d.ts +20 -20
  295. package/core/lib/deprecation-description.d.ts +3 -3
  296. package/core/lib/deprecations-strings.d.ts +112 -112
  297. package/core/lib/i18n/i18n.d.ts +48 -48
  298. package/core/lib/icons.d.ts +3 -3
  299. package/core/lib/lantern/lantern.d.ts +2 -19
  300. package/core/lib/lantern/lantern.js +2 -45
  301. package/core/lib/lantern-trace-saver.d.ts +5 -7
  302. package/core/lib/lantern-trace-saver.js +2 -3
  303. package/core/lib/lh-error.d.ts +87 -87
  304. package/core/lib/lighthouse-compatibility.d.ts +1 -1
  305. package/core/lib/manifest-parser.d.ts +1 -1
  306. package/core/lib/minify-devtoolslog.d.ts +1 -1
  307. package/core/lib/navigation-error.d.ts +4 -6
  308. package/core/lib/navigation-error.js +2 -2
  309. package/core/lib/network-recorder.js +1 -1
  310. package/core/lib/network-request.d.ts +5 -5
  311. package/core/lib/network-request.js +2 -2
  312. package/core/lib/page-functions.d.ts +2 -2
  313. package/core/lib/script-helpers.d.ts +0 -1
  314. package/core/lib/sentry.d.ts +8 -8
  315. package/core/lib/stack-packs.d.ts +1 -1
  316. package/core/lib/trace-engine.d.ts +2 -2
  317. package/core/lib/tracehouse/cpu-profile-model.d.ts +8 -8
  318. package/core/lib/tracehouse/cpu-profile-model.js +2 -2
  319. package/core/lib/tracehouse/main-thread-tasks.d.ts +5 -5
  320. package/core/lib/tracehouse/task-groups.d.ts +6 -38
  321. package/core/lib/tracehouse/task-summary.d.ts +0 -1
  322. package/core/lib/tracehouse/trace-processor.d.ts +9 -9
  323. package/core/lib/traces/metric-trace-events.d.ts +1 -1
  324. package/core/lib/url-utils.d.ts +4 -4
  325. package/core/runner.d.ts +3 -4
  326. package/core/runner.js +0 -1
  327. package/core/scoring.d.ts +0 -1
  328. package/core/user-flow.d.ts +5 -5
  329. package/dist/report/bundle.esm.js +1 -1
  330. package/dist/report/flow.js +1 -1
  331. package/dist/report/standalone.js +1 -1
  332. package/eslint-local-rules.d.cts +4 -1
  333. package/flow-report/src/i18n/localized-strings.d.ts +1 -1
  334. package/flow-report/src/i18n/ui-strings.d.ts +43 -43
  335. package/package.json +7 -7
  336. package/readme.md +0 -2
  337. package/report/generator/file-namer.d.ts +2 -2
  338. package/report/generator/flow-report-assets.d.ts +1 -1
  339. package/report/generator/report-generator.d.ts +4 -4
  340. package/report/renderer/api.d.ts +2 -5
  341. package/report/renderer/category-renderer.d.ts +8 -8
  342. package/report/renderer/components.d.ts +2 -2
  343. package/report/renderer/crc-details-renderer.d.ts +2 -2
  344. package/report/renderer/details-renderer.d.ts +7 -7
  345. package/report/renderer/dom.d.ts +7 -7
  346. package/report/renderer/drop-down-menu.d.ts +1 -1
  347. package/report/renderer/drop-down-menu.js +15 -17
  348. package/report/renderer/element-screenshot-renderer.d.ts +3 -3
  349. package/report/renderer/explodey-gauge.d.ts +2 -2
  350. package/report/renderer/features-util.d.ts +1 -1
  351. package/report/renderer/performance-category-renderer.d.ts +1 -1
  352. package/report/renderer/report-globals.d.ts +1 -1
  353. package/report/renderer/report-renderer.d.ts +1 -1
  354. package/report/renderer/report-ui-features.d.ts +1 -1
  355. package/report/renderer/report-utils.d.ts +62 -62
  356. package/report/renderer/snippet-renderer.d.ts +9 -9
  357. package/report/renderer/swap-locale-feature.d.ts +2 -2
  358. package/report/renderer/topbar-features.d.ts +2 -2
  359. package/report/types/augment-dom.d.ts +0 -11
  360. package/shared/localization/format.d.ts +3 -3
  361. package/shared/localization/locales/en-US.json +1 -1
  362. package/shared/localization/locales/en-XL.json +1 -1
  363. package/shared/localization/locales.d.ts +1 -1
  364. package/shared/type-verifiers.d.ts +1 -1
  365. package/shared/util.d.ts +6 -6
  366. package/tsconfig.json +1 -11
  367. package/types/artifacts.d.ts +4 -4
  368. package/types/gatherer.d.ts +4 -5
  369. package/types/internal/node.d.ts +0 -6
  370. package/types/internal/query-selector.d.ts +2 -2
  371. package/core/lib/lantern/BaseNode.d.ts +0 -163
  372. package/core/lib/lantern/BaseNode.js +0 -369
  373. package/core/lib/lantern/BaseNode.test.js +0 -385
  374. package/core/lib/lantern/CpuNode.d.ts +0 -43
  375. package/core/lib/lantern/CpuNode.js +0 -99
  376. package/core/lib/lantern/LanternError.d.ts +0 -8
  377. package/core/lib/lantern/LanternError.js +0 -9
  378. package/core/lib/lantern/Metric.d.ts +0 -69
  379. package/core/lib/lantern/Metric.js +0 -137
  380. package/core/lib/lantern/NetworkNode.d.ts +0 -49
  381. package/core/lib/lantern/NetworkNode.js +0 -136
  382. package/core/lib/lantern/PageDependencyGraph.d.ts +0 -82
  383. package/core/lib/lantern/PageDependencyGraph.js +0 -610
  384. package/core/lib/lantern/PageDependencyGraph.test.js +0 -654
  385. package/core/lib/lantern/TBTUtils.d.ts +0 -44
  386. package/core/lib/lantern/TBTUtils.js +0 -76
  387. package/core/lib/lantern/TBTUtils.test.d.ts +0 -2
  388. package/core/lib/lantern/TBTUtils.test.js +0 -130
  389. package/core/lib/lantern/TraceEngineComputationData.d.ts +0 -25
  390. package/core/lib/lantern/TraceEngineComputationData.js +0 -466
  391. package/core/lib/lantern/metrics/FirstContentfulPaint.d.ts +0 -79
  392. package/core/lib/lantern/metrics/FirstContentfulPaint.js +0 -198
  393. package/core/lib/lantern/metrics/FirstContentfulPaint.test.js +0 -54
  394. package/core/lib/lantern/metrics/Interactive.d.ts +0 -20
  395. package/core/lib/lantern/metrics/Interactive.js +0 -109
  396. package/core/lib/lantern/metrics/Interactive.test.js +0 -56
  397. package/core/lib/lantern/metrics/LargestContentfulPaint.d.ts +0 -19
  398. package/core/lib/lantern/metrics/LargestContentfulPaint.js +0 -105
  399. package/core/lib/lantern/metrics/LargestContentfulPaint.test.js +0 -42
  400. package/core/lib/lantern/metrics/MaxPotentialFID.d.ts +0 -24
  401. package/core/lib/lantern/metrics/MaxPotentialFID.js +0 -91
  402. package/core/lib/lantern/metrics/MetricTestUtils.d.ts +0 -19
  403. package/core/lib/lantern/metrics/MetricTestUtils.js +0 -48
  404. package/core/lib/lantern/metrics/SpeedIndex.d.ts +0 -32
  405. package/core/lib/lantern/metrics/SpeedIndex.js +0 -142
  406. package/core/lib/lantern/metrics/SpeedIndex.test.js +0 -83
  407. package/core/lib/lantern/metrics/TotalBlockingTime.d.ts +0 -25
  408. package/core/lib/lantern/metrics/TotalBlockingTime.js +0 -125
  409. package/core/lib/lantern/metrics/__snapshots__/FirstContentfulPaint.test.js.snap +0 -11
  410. package/core/lib/lantern/metrics/__snapshots__/Interactive.test.js.snap +0 -17
  411. package/core/lib/lantern/metrics/metrics.d.ts +0 -9
  412. package/core/lib/lantern/metrics/metrics.js +0 -16
  413. package/core/lib/lantern/simulation/ConnectionPool.d.ts +0 -48
  414. package/core/lib/lantern/simulation/ConnectionPool.js +0 -152
  415. package/core/lib/lantern/simulation/ConnectionPool.test.js +0 -195
  416. package/core/lib/lantern/simulation/Constants.d.ts +0 -52
  417. package/core/lib/lantern/simulation/Constants.js +0 -48
  418. package/core/lib/lantern/simulation/DNSCache.d.ts +0 -42
  419. package/core/lib/lantern/simulation/DNSCache.js +0 -74
  420. package/core/lib/lantern/simulation/DNSCache.test.js +0 -72
  421. package/core/lib/lantern/simulation/NetworkAnalyzer.d.ts +0 -209
  422. package/core/lib/lantern/simulation/NetworkAnalyzer.js +0 -597
  423. package/core/lib/lantern/simulation/NetworkAnalyzer.test.js +0 -475
  424. package/core/lib/lantern/simulation/SimulationTimingMap.d.ts +0 -153
  425. package/core/lib/lantern/simulation/SimulationTimingMap.js +0 -219
  426. package/core/lib/lantern/simulation/Simulator.d.ts +0 -157
  427. package/core/lib/lantern/simulation/Simulator.js +0 -593
  428. package/core/lib/lantern/simulation/Simulator.test.js +0 -434
  429. package/core/lib/lantern/simulation/TCPConnection.test.d.ts +0 -2
  430. package/core/lib/lantern/simulation/TCPConnection.test.js +0 -374
  431. package/core/lib/lantern/simulation/TcpConnection.d.ts +0 -89
  432. package/core/lib/lantern/simulation/TcpConnection.js +0 -230
  433. package/core/lib/lantern/simulation/simulation.d.ts +0 -21
  434. package/core/lib/lantern/simulation/simulation.js +0 -28
  435. package/core/lib/lantern/types/lantern.d.ts +0 -256
  436. package/core/lib/lantern/types/lantern.js +0 -7
@@ -1,8 +1,6 @@
1
1
  export { TBTImpactTasksComputed as TBTImpactTasks };
2
2
  declare const TBTImpactTasksComputed: typeof TBTImpactTasks & {
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.TBTImpactTask[]>;
3
+ request: (dependencies: import("../index.js").Artifacts.MetricComputationDataInput, context: LH.Artifacts.ComputedContext) => ReturnType<typeof TBTImpactTasks.compute_>;
6
4
  };
7
5
  declare class TBTImpactTasks {
8
6
  /**
@@ -22,8 +20,9 @@ declare class TBTImpactTasks {
22
20
  /**
23
21
  * @param {LH.Artifacts.TaskNode[]} tasks
24
22
  * @param {Map<LH.Artifacts.TaskNode, number>} taskToImpact
23
+ * @param {Map<LH.Artifacts.TaskNode, number>} taskToBlockingTime
25
24
  */
26
- static createImpactTasks(tasks: LH.Artifacts.TaskNode[], taskToImpact: Map<LH.Artifacts.TaskNode, number>): import("../index.js").Artifacts.TBTImpactTask[];
25
+ static createImpactTasks(tasks: LH.Artifacts.TaskNode[], taskToImpact: Map<LH.Artifacts.TaskNode, number>, taskToBlockingTime: Map<LH.Artifacts.TaskNode, number>): import("../index.js").Artifacts.TBTImpactTask[];
27
26
  /**
28
27
  * @param {LH.Artifacts.TaskNode[]} tasks
29
28
  * @param {number} startTimeMs
@@ -38,7 +37,7 @@ declare class TBTImpactTasks {
38
37
  * @param {number} endTimeMs
39
38
  * @return {LH.Artifacts.TBTImpactTask[]}
40
39
  */
41
- static computeImpactsFromLantern(tasks: LH.Artifacts.TaskNode[], tbtNodeTimings: LH.Gatherer.Simulation.Result['nodeTimings'], startTimeMs: number, endTimeMs: number): LH.Artifacts.TBTImpactTask[];
40
+ static computeImpactsFromLantern(tasks: LH.Artifacts.TaskNode[], tbtNodeTimings: LH.Gatherer.Simulation.Result["nodeTimings"], startTimeMs: number, endTimeMs: number): LH.Artifacts.TBTImpactTask[];
42
41
  /**
43
42
  * @param {LH.Artifacts.MetricComputationDataInput} metricComputationData
44
43
  * @param {LH.Artifacts.ComputedContext} context
@@ -12,7 +12,7 @@ import {Interactive} from './metrics/interactive.js';
12
12
  import {TotalBlockingTime} from './metrics/total-blocking-time.js';
13
13
  import {ProcessedTrace} from './processed-trace.js';
14
14
 
15
- const {calculateTbtImpactForEvent} = Lantern.TBTUtils;
15
+ const {calculateTbtImpactForEvent} = Lantern.Metrics.TBTUtils;
16
16
 
17
17
  class TBTImpactTasks {
18
18
  /**
@@ -64,8 +64,9 @@ class TBTImpactTasks {
64
64
  /**
65
65
  * @param {LH.Artifacts.TaskNode[]} tasks
66
66
  * @param {Map<LH.Artifacts.TaskNode, number>} taskToImpact
67
+ * @param {Map<LH.Artifacts.TaskNode, number>} taskToBlockingTime
67
68
  */
68
- static createImpactTasks(tasks, taskToImpact) {
69
+ static createImpactTasks(tasks, taskToImpact, taskToBlockingTime) {
69
70
  /** @type {LH.Artifacts.TBTImpactTask[]} */
70
71
  const tbtImpactTasks = [];
71
72
 
@@ -73,15 +74,25 @@ class TBTImpactTasks {
73
74
  const tbtImpact = taskToImpact.get(task) || 0;
74
75
  let selfTbtImpact = tbtImpact;
75
76
 
77
+ const blockingTime = taskToBlockingTime.get(task) || 0;
78
+ let selfBlockingTime = blockingTime;
79
+
76
80
  for (const child of task.children) {
77
81
  const childTbtImpact = taskToImpact.get(child) || 0;
78
82
  selfTbtImpact -= childTbtImpact;
83
+
84
+ const childBlockingTime = taskToBlockingTime.get(child) || 0;
85
+ selfBlockingTime -= childBlockingTime;
79
86
  }
80
87
 
81
88
  tbtImpactTasks.push({
82
89
  ...task,
83
- tbtImpact,
84
- selfTbtImpact,
90
+ // Floating point numbers are not perfectly precise, so the subtraction operations above
91
+ // can sometimes output negative numbers close to 0 here. To prevent potentially confusing
92
+ // output we should bump those values to 0.
93
+ tbtImpact: Math.max(tbtImpact, 0),
94
+ selfTbtImpact: Math.max(selfTbtImpact, 0),
95
+ selfBlockingTime: Math.max(selfBlockingTime, 0),
85
96
  });
86
97
  }
87
98
 
@@ -98,6 +109,9 @@ class TBTImpactTasks {
98
109
  /** @type {Map<LH.Artifacts.TaskNode, number>} */
99
110
  const taskToImpact = new Map();
100
111
 
112
+ /** @type {Map<LH.Artifacts.TaskNode, number>} */
113
+ const taskToBlockingTime = new Map();
114
+
101
115
  for (const task of tasks) {
102
116
  const event = {
103
117
  start: task.startTime,
@@ -113,11 +127,13 @@ class TBTImpactTasks {
113
127
  };
114
128
 
115
129
  const tbtImpact = calculateTbtImpactForEvent(event, startTimeMs, endTimeMs, topLevelEvent);
130
+ const blockingTime = calculateTbtImpactForEvent(event, -Infinity, Infinity, topLevelEvent);
116
131
 
117
132
  taskToImpact.set(task, tbtImpact);
133
+ taskToBlockingTime.set(task, blockingTime);
118
134
  }
119
135
 
120
- return this.createImpactTasks(tasks, taskToImpact);
136
+ return this.createImpactTasks(tasks, taskToImpact, taskToBlockingTime);
121
137
  }
122
138
 
123
139
  /**
@@ -131,10 +147,13 @@ class TBTImpactTasks {
131
147
  /** @type {Map<LH.Artifacts.TaskNode, number>} */
132
148
  const taskToImpact = new Map();
133
149
 
150
+ /** @type {Map<LH.Artifacts.TaskNode, number>} */
151
+ const taskToBlockingTime = new Map();
152
+
134
153
  /** @type {Map<LH.Artifacts.TaskNode, {start: number, end: number, duration: number}>} */
135
154
  const topLevelTaskToEvent = new Map();
136
155
 
137
- /** @type {Map<Lantern.TraceEvent, LH.Artifacts.TaskNode>} */
156
+ /** @type {Map<Lantern.Types.TraceEvent, LH.Artifacts.TaskNode>} */
138
157
  const traceEventToTask = new Map();
139
158
  for (const task of tasks) {
140
159
  traceEventToTask.set(task.event, task);
@@ -151,19 +170,21 @@ class TBTImpactTasks {
151
170
  };
152
171
 
153
172
  const tbtImpact = calculateTbtImpactForEvent(event, startTimeMs, endTimeMs);
173
+ const blockingTime = calculateTbtImpactForEvent(event, -Infinity, Infinity);
154
174
 
155
175
  const task = traceEventToTask.get(node.event);
156
176
  if (!task) continue;
157
177
 
158
178
  topLevelTaskToEvent.set(task, event);
159
179
  taskToImpact.set(task, tbtImpact);
180
+ taskToBlockingTime.set(task, blockingTime);
160
181
  }
161
182
 
162
183
  // Interpolate the TBT impact of remaining tasks using the top level ancestor tasks.
163
184
  // We don't have any lantern estimates for tasks that are not top level, so we need to estimate
164
185
  // the lantern timing based on the task's observed timing relative to it's top level task's observed timing.
165
186
  for (const task of tasks) {
166
- if (taskToImpact.has(task)) continue;
187
+ if (taskToImpact.has(task) || taskToBlockingTime.has(task)) continue;
167
188
 
168
189
  const topLevelTask = this.getTopLevelTask(task);
169
190
 
@@ -183,11 +204,13 @@ class TBTImpactTasks {
183
204
  };
184
205
 
185
206
  const tbtImpact = calculateTbtImpactForEvent(event, startTimeMs, endTimeMs, topLevelEvent);
207
+ const blockingTime = calculateTbtImpactForEvent(event, -Infinity, Infinity, topLevelEvent);
186
208
 
187
209
  taskToImpact.set(task, tbtImpact);
210
+ taskToBlockingTime.set(task, blockingTime);
188
211
  }
189
212
 
190
- return this.createImpactTasks(tasks, taskToImpact);
213
+ return this.createImpactTasks(tasks, taskToImpact, taskToBlockingTime);
191
214
  }
192
215
 
193
216
  /**
@@ -2,9 +2,7 @@ export { TraceEngineResultComputed as TraceEngineResult };
2
2
  declare const TraceEngineResultComputed: typeof TraceEngineResult & {
3
3
  request: (dependencies: {
4
4
  trace: LH.Trace;
5
- }, context: LH.Util.ImmutableObject<{
6
- computedCache: Map<string, import("../lib/arbitrary-equality-map.js").ArbitraryEqualityMap>;
7
- }>) => Promise<LH.Artifacts.TraceEngineResult>;
5
+ }, context: LH.Artifacts.ComputedContext) => ReturnType<typeof TraceEngineResult.compute_>;
8
6
  };
9
7
  /**
10
8
  * @fileoverview Processes trace with the shared trace engine.
@@ -19,7 +19,16 @@ class TraceEngineResult {
19
19
  * @return {Promise<LH.Artifacts.TraceEngineResult>}
20
20
  */
21
21
  static async runTraceEngine(traceEvents) {
22
- const processor = TraceEngine.TraceProcessor.createWithAllHandlers();
22
+ const traceHandlers = {...TraceEngine.TraceHandlers};
23
+
24
+ // @ts-expect-error Temporarily disable this handler
25
+ // It's not currently used anywhere in trace engine insights or Lighthouse.
26
+ // TODO: Re-enable this when its memory usage is improved in the trace engine
27
+ // https://github.com/GoogleChrome/lighthouse/issues/16111
28
+ delete traceHandlers.Invalidations;
29
+
30
+ const processor = new TraceEngine.TraceProcessor(traceHandlers);
31
+
23
32
  // eslint-disable-next-line max-len
24
33
  await processor.parse(/** @type {import('@paulirish/trace_engine').Types.TraceEvents.TraceEventData[]} */ (
25
34
  traceEvents
@@ -5,12 +5,10 @@ export type StyleSheetInfo = LH.Artifacts.CSSStyleSheetInfo & {
5
5
  };
6
6
  declare const UnusedCSSComputed: typeof UnusedCSS & {
7
7
  request: (dependencies: {
8
- Stylesheets: LH.Artifacts['Stylesheets'];
9
- CSSUsage: LH.Artifacts['CSSUsage'];
10
- devtoolsLog: import("../index.js").DevtoolsLog;
11
- }, context: import("../../types/utility-types.js").default.ImmutableObject<{
12
- computedCache: Map<string, import("../lib/arbitrary-equality-map.js").ArbitraryEqualityMap>;
13
- }>) => Promise<import("../../types/audit.js").default.ByteEfficiencyItem[]>;
8
+ Stylesheets: LH.Artifacts["Stylesheets"];
9
+ CSSUsage: LH.Artifacts["CSSUsage"];
10
+ devtoolsLog: LH.DevtoolsLog;
11
+ }, context: LH.Artifacts.ComputedContext) => ReturnType<typeof UnusedCSS.compute_>;
14
12
  };
15
13
  /** @typedef {LH.Artifacts.CSSStyleSheetInfo & {networkRecord: LH.Artifacts.NetworkRequest, usedRules: Array<LH.Crdp.CSS.RuleUsage>}} StyleSheetInfo */
16
14
  declare class UnusedCSS {
@@ -56,9 +54,9 @@ declare class UnusedCSS {
56
54
  * @return {Promise<LH.Audit.ByteEfficiencyItem[]>}
57
55
  */
58
56
  static compute_(data: {
59
- Stylesheets: LH.Artifacts['Stylesheets'];
60
- CSSUsage: LH.Artifacts['CSSUsage'];
61
- devtoolsLog: import("../index.js").DevtoolsLog;
57
+ Stylesheets: LH.Artifacts["Stylesheets"];
58
+ CSSUsage: LH.Artifacts["CSSUsage"];
59
+ devtoolsLog: LH.DevtoolsLog;
62
60
  }, context: LH.Artifacts.ComputedContext): Promise<LH.Audit.ByteEfficiencyItem[]>;
63
61
  }
64
62
  //# sourceMappingURL=unused-css.d.ts.map
@@ -6,7 +6,7 @@ export type WasteData = {
6
6
  };
7
7
  export type ComputeInput = {
8
8
  scriptId: string;
9
- scriptCoverage: Omit<LH.Crdp.Profiler.ScriptCoverage, 'url'>;
9
+ scriptCoverage: Omit<LH.Crdp.Profiler.ScriptCoverage, "url">;
10
10
  bundle?: LH.Artifacts.Bundle | undefined;
11
11
  };
12
12
  export type Summary = {
@@ -20,9 +20,7 @@ export type Summary = {
20
20
  sourcesWastedBytes?: Record<string, number> | undefined;
21
21
  };
22
22
  declare const UnusedJavascriptSummaryComputed: typeof UnusedJavascriptSummary & {
23
- request: (dependencies: ComputeInput, context: import("../../types/utility-types.js").default.ImmutableObject<{
24
- computedCache: Map<string, import("../lib/arbitrary-equality-map.js").ArbitraryEqualityMap>;
25
- }>) => Promise<Summary>;
23
+ request: (dependencies: ComputeInput, context: LH.Artifacts.ComputedContext) => ReturnType<typeof UnusedJavascriptSummary.compute_>;
26
24
  };
27
25
  /**
28
26
  * @typedef WasteData
@@ -50,7 +48,7 @@ declare class UnusedJavascriptSummary {
50
48
  * @param {Omit<LH.Crdp.Profiler.ScriptCoverage, 'url'>} scriptCoverage
51
49
  * @return {WasteData}
52
50
  */
53
- static computeWaste(scriptCoverage: Omit<LH.Crdp.Profiler.ScriptCoverage, 'url'>): WasteData;
51
+ static computeWaste(scriptCoverage: Omit<LH.Crdp.Profiler.ScriptCoverage, "url">): WasteData;
54
52
  /**
55
53
  * @param {string} scriptId
56
54
  * @param {WasteData} wasteData
@@ -2,21 +2,19 @@ export { UserTimingsComputed as UserTimings };
2
2
  export type MarkEvent = {
3
3
  name: string;
4
4
  isMark: true;
5
- args: LH.TraceEvent['args'];
5
+ args: LH.TraceEvent["args"];
6
6
  startTime: number;
7
7
  };
8
8
  export type MeasureEvent = {
9
9
  name: string;
10
10
  isMark: false;
11
- args: LH.TraceEvent['args'];
11
+ args: LH.TraceEvent["args"];
12
12
  startTime: number;
13
13
  endTime: number;
14
14
  duration: number;
15
15
  };
16
16
  declare const UserTimingsComputed: typeof UserTimings & {
17
- request: (dependencies: import("../index.js").Trace, context: import("../../types/utility-types.js").default.ImmutableObject<{
18
- computedCache: Map<string, import("../lib/arbitrary-equality-map.js").ArbitraryEqualityMap>;
19
- }>) => Promise<(MarkEvent | MeasureEvent)[]>;
17
+ request: (dependencies: import("../index.js").Trace, context: LH.Artifacts.ComputedContext) => ReturnType<typeof UserTimings.compute_>;
20
18
  };
21
19
  /** @typedef {{name: string, isMark: true, args: LH.TraceEvent['args'], startTime: number}} MarkEvent */
22
20
  /** @typedef {{name: string, isMark: false, args: LH.TraceEvent['args'], startTime: number, endTime: number, duration: number}} MeasureEvent */
@@ -19,21 +19,19 @@ export type ViewportMetaResult = {
19
19
  };
20
20
  declare const ViewportMetaComputed: typeof ViewportMeta & {
21
21
  request: (dependencies: {
22
- name?: string | undefined;
23
- content?: string | undefined;
24
- property?: string | undefined;
25
- httpEquiv?: string | undefined;
26
- charset?: string | undefined;
22
+ name?: string;
23
+ content?: string;
24
+ property?: string;
25
+ httpEquiv?: string;
26
+ charset?: string;
27
27
  node: import("../index.js").Artifacts.NodeDetails;
28
- }[], context: import("../../types/utility-types.js").default.ImmutableObject<{
29
- computedCache: Map<string, import("../lib/arbitrary-equality-map.js").ArbitraryEqualityMap>;
30
- }>) => Promise<ViewportMetaResult>;
28
+ }[], context: LH.Artifacts.ComputedContext) => ReturnType<typeof ViewportMeta.compute_>;
31
29
  };
32
30
  declare class ViewportMeta {
33
31
  /**
34
32
  * @param {LH.GathererArtifacts['MetaElements']} MetaElements
35
33
  * @return {Promise<ViewportMetaResult>}
36
34
  */
37
- static compute_(MetaElements: LH.GathererArtifacts['MetaElements']): Promise<ViewportMetaResult>;
35
+ static compute_(MetaElements: LH.GathererArtifacts["MetaElements"]): Promise<ViewportMetaResult>;
38
36
  }
39
37
  //# sourceMappingURL=viewport-meta.d.ts.map
@@ -1,5 +1,5 @@
1
- export type GathererConstructor = typeof import('../gather/base-gatherer.js').default;
2
- export type Audit = typeof import('../audits/audit.js')['Audit'];
1
+ export type GathererConstructor = typeof import("../gather/base-gatherer.js").default;
2
+ export type Audit = typeof import("../audits/audit.js")["Audit"];
3
3
  export type Gatherer = InstanceType<GathererConstructor>;
4
4
  /**
5
5
  * // TODO(bckenny): could adopt "jsonified" type to ensure T will survive JSON
@@ -32,7 +32,7 @@ export const mergeConfigFragment: LH.Config.Merge;
32
32
  * @param {(item: T) => string} keyFn
33
33
  * @return {Array<T>}
34
34
  */
35
- export function mergeConfigFragmentArrayByKey<T extends Record<string, any>>(baseArray: T[] | null | undefined, extensionArray: T[] | null | undefined, keyFn: (item: T) => string): T[];
35
+ export function mergeConfigFragmentArrayByKey<T extends Record<string, any>>(baseArray: Array<T> | null | undefined, extensionArray: Array<T> | null | undefined, keyFn: (item: T) => string): Array<T>;
36
36
  /**
37
37
  * If any items with identical `path` properties are found in the input array,
38
38
  * merge their `options` properties into the first instance and then discard any
@@ -42,7 +42,7 @@ export function mergeConfigFragmentArrayByKey<T extends Record<string, any>>(bas
42
42
  * @return T[]
43
43
  */
44
44
  export function mergeOptionsOfItems<T extends {
45
- path?: string | undefined;
45
+ path?: string;
46
46
  options: Record<string, unknown>;
47
47
  }>(items: T[]): T[];
48
48
  /**
@@ -62,7 +62,7 @@ export function mergePlugins(config: LH.Config, configDir: string | undefined, f
62
62
  * @param {string=} configDir
63
63
  * @return {Promise<Array<LH.Config.AuditDefn>|null>}
64
64
  */
65
- export function resolveAuditsToDefns(audits: LH.Config['audits'], configDir?: string | undefined): Promise<Array<LH.Config.AuditDefn> | null>;
65
+ export function resolveAuditsToDefns(audits: LH.Config["audits"], configDir?: string | undefined): Promise<Array<LH.Config.AuditDefn> | null>;
66
66
  /**
67
67
  * Turns a GathererJson into a GathererDefn which involves a few main steps:
68
68
  * - Expanding the JSON shorthand the full definition format.
@@ -4,11 +4,11 @@
4
4
  * @return {{configWorkingCopy: LH.Config, configDir?: string, configPath?: string}}
5
5
  */
6
6
  export function resolveWorkingCopy(config: LH.Config | undefined, context: {
7
- configPath?: string | undefined;
7
+ configPath?: string;
8
8
  }): {
9
9
  configWorkingCopy: LH.Config;
10
- configDir?: string | undefined;
11
- configPath?: string | undefined;
10
+ configDir?: string;
11
+ configPath?: string;
12
12
  };
13
13
  /**
14
14
  * @param {LH.Gatherer.GatherMode} gatherMode
@@ -37,20 +37,20 @@ export namespace userAgents {
37
37
  /** @type {LH.Config.Settings} */
38
38
  export const defaultSettings: LH.Config.Settings;
39
39
  export namespace nonSimulatedSettingsOverrides {
40
- const pauseAfterFcpMs: number;
41
- const pauseAfterLoadMs: number;
42
- const networkQuietThresholdMs: number;
43
- const cpuQuietThresholdMs: number;
40
+ let pauseAfterFcpMs: number;
41
+ let pauseAfterLoadMs: number;
42
+ let networkQuietThresholdMs: number;
43
+ let cpuQuietThresholdMs: number;
44
44
  }
45
45
  /**
46
46
  * @type {Required<LH.SharedFlagsSettings['screenEmulation']>}
47
47
  */
48
- declare const MOTOGPOWER_EMULATION_METRICS: Required<LH.SharedFlagsSettings['screenEmulation']>;
48
+ declare const MOTOGPOWER_EMULATION_METRICS: Required<LH.SharedFlagsSettings["screenEmulation"]>;
49
49
  /**
50
50
  * Desktop metrics adapted from emulated_devices/module.json
51
51
  * @type {Required<LH.SharedFlagsSettings['screenEmulation']>}
52
52
  */
53
- declare const DESKTOP_EMULATION_METRICS: Required<LH.SharedFlagsSettings['screenEmulation']>;
53
+ declare const DESKTOP_EMULATION_METRICS: Required<LH.SharedFlagsSettings["screenEmulation"]>;
54
54
  declare const MOTOG4_USERAGENT: "Mozilla/5.0 (Linux; Android 11; moto g power (2022)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Mobile Safari/537.36";
55
55
  declare const DESKTOP_USERAGENT: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36";
56
56
  export {};
@@ -14,7 +14,7 @@ export function filterConfigByGatherMode(resolvedConfig: LH.Config.ResolvedConfi
14
14
  * @param {Pick<LH.Config.Settings, 'onlyAudits'|'onlyCategories'|'skipAudits'>} filters
15
15
  * @return {LH.Config.ResolvedConfig}
16
16
  */
17
- export function filterConfigByExplicitFilters(resolvedConfig: LH.Config.ResolvedConfig, filters: Pick<LH.Config.Settings, 'onlyAudits' | 'onlyCategories' | 'skipAudits'>): LH.Config.ResolvedConfig;
17
+ export function filterConfigByExplicitFilters(resolvedConfig: LH.Config.ResolvedConfig, filters: Pick<LH.Config.Settings, "onlyAudits" | "onlyCategories" | "skipAudits">): LH.Config.ResolvedConfig;
18
18
  /**
19
19
  * Filters an array of artifacts down to the set that supports the specified gather mode.
20
20
  *
@@ -22,7 +22,7 @@ export function filterConfigByExplicitFilters(resolvedConfig: LH.Config.Resolved
22
22
  * @param {LH.Gatherer.GatherMode} mode
23
23
  * @return {LH.Config.ResolvedConfig['artifacts']}
24
24
  */
25
- export function filterArtifactsByGatherMode(artifacts: LH.Config.ResolvedConfig['artifacts'], mode: LH.Gatherer.GatherMode): LH.Config.ResolvedConfig['artifacts'];
25
+ export function filterArtifactsByGatherMode(artifacts: LH.Config.ResolvedConfig["artifacts"], mode: LH.Gatherer.GatherMode): LH.Config.ResolvedConfig["artifacts"];
26
26
  /**
27
27
  * Filters an array of artifacts down to the set that's required by the specified audits.
28
28
  *
@@ -30,7 +30,7 @@ export function filterArtifactsByGatherMode(artifacts: LH.Config.ResolvedConfig[
30
30
  * @param {LH.Config.ResolvedConfig['audits']} audits
31
31
  * @return {LH.Config.ResolvedConfig['artifacts']}
32
32
  */
33
- export function filterArtifactsByAvailableAudits(artifacts: LH.Config.ResolvedConfig['artifacts'], audits: LH.Config.ResolvedConfig['audits']): LH.Config.ResolvedConfig['artifacts'];
33
+ export function filterArtifactsByAvailableAudits(artifacts: LH.Config.ResolvedConfig["artifacts"], audits: LH.Config.ResolvedConfig["audits"]): LH.Config.ResolvedConfig["artifacts"];
34
34
  /**
35
35
  * Filters an array of audits down to the set that can be computed using only the specified artifacts.
36
36
  *
@@ -38,7 +38,7 @@ export function filterArtifactsByAvailableAudits(artifacts: LH.Config.ResolvedCo
38
38
  * @param {Array<LH.Config.AnyArtifactDefn>} availableArtifacts
39
39
  * @return {LH.Config.ResolvedConfig['audits']}
40
40
  */
41
- export function filterAuditsByAvailableArtifacts(audits: LH.Config.ResolvedConfig['audits'], availableArtifacts: Array<LH.Config.AnyArtifactDefn>): LH.Config.ResolvedConfig['audits'];
41
+ export function filterAuditsByAvailableArtifacts(audits: LH.Config.ResolvedConfig["audits"], availableArtifacts: Array<LH.Config.AnyArtifactDefn>): LH.Config.ResolvedConfig["audits"];
42
42
  /**
43
43
  * Optional `supportedModes` property can explicitly exclude an audit even if all required artifacts are available.
44
44
  *
@@ -46,7 +46,7 @@ export function filterAuditsByAvailableArtifacts(audits: LH.Config.ResolvedConfi
46
46
  * @param {LH.Gatherer.GatherMode} mode
47
47
  * @return {LH.Config.ResolvedConfig['audits']}
48
48
  */
49
- export function filterAuditsByGatherMode(audits: LH.Config.ResolvedConfig['audits'], mode: LH.Gatherer.GatherMode): LH.Config.ResolvedConfig['audits'];
49
+ export function filterAuditsByGatherMode(audits: LH.Config.ResolvedConfig["audits"], mode: LH.Gatherer.GatherMode): LH.Config.ResolvedConfig["audits"];
50
50
  /**
51
51
  * Filters a categories object and their auditRefs down to the set that can be computed using
52
52
  * only the specified audits.
@@ -55,7 +55,7 @@ export function filterAuditsByGatherMode(audits: LH.Config.ResolvedConfig['audit
55
55
  * @param {Array<LH.Config.AuditDefn>} availableAudits
56
56
  * @return {LH.Config.ResolvedConfig['categories']}
57
57
  */
58
- export function filterCategoriesByAvailableAudits(categories: LH.Config.ResolvedConfig['categories'], availableAudits: Array<LH.Config.AuditDefn>): LH.Config.ResolvedConfig['categories'];
58
+ export function filterCategoriesByAvailableAudits(categories: LH.Config.ResolvedConfig["categories"], availableAudits: Array<LH.Config.AuditDefn>): LH.Config.ResolvedConfig["categories"];
59
59
  /**
60
60
  * Filters a categories object and their auditRefs down to the specified category ids.
61
61
  *
@@ -63,7 +63,7 @@ export function filterCategoriesByAvailableAudits(categories: LH.Config.Resolved
63
63
  * @param {string[] | null | undefined} onlyCategories
64
64
  * @return {LH.Config.ResolvedConfig['categories']}
65
65
  */
66
- export function filterCategoriesByExplicitFilters(categories: LH.Config.ResolvedConfig['categories'], onlyCategories: string[] | null | undefined): LH.Config.ResolvedConfig['categories'];
66
+ export function filterCategoriesByExplicitFilters(categories: LH.Config.ResolvedConfig["categories"], onlyCategories: string[] | null | undefined): LH.Config.ResolvedConfig["categories"];
67
67
  /**
68
68
  * Optional `supportedModes` property can explicitly exclude a category even if some audits are available.
69
69
  *
@@ -71,5 +71,5 @@ export function filterCategoriesByExplicitFilters(categories: LH.Config.Resolved
71
71
  * @param {LH.Gatherer.GatherMode} mode
72
72
  * @return {LH.Config.ResolvedConfig['categories']}
73
73
  */
74
- export function filterCategoriesByGatherMode(categories: LH.Config.ResolvedConfig['categories'], mode: LH.Gatherer.GatherMode): LH.Config.ResolvedConfig['categories'];
74
+ export function filterCategoriesByGatherMode(categories: LH.Config.ResolvedConfig["categories"], mode: LH.Gatherer.GatherMode): LH.Config.ResolvedConfig["categories"];
75
75
  //# sourceMappingURL=filters.d.ts.map
@@ -30,7 +30,7 @@ export function assertValidAudit(auditDefinition: LH.Config.AuditDefn): void;
30
30
  * @param {LH.Config.ResolvedConfig['audits']} audits
31
31
  * @param {LH.Config.ResolvedConfig['groups']} groups
32
32
  */
33
- export function assertValidCategories(categories: LH.Config.ResolvedConfig['categories'], audits: LH.Config.ResolvedConfig['audits'], groups: LH.Config.ResolvedConfig['groups']): void;
33
+ export function assertValidCategories(categories: LH.Config.ResolvedConfig["categories"], audits: LH.Config.ResolvedConfig["audits"], groups: LH.Config.ResolvedConfig["groups"]): void;
34
34
  /**
35
35
  * Validate the settings after they've been built.
36
36
  * @param {LH.Config.Settings} settings
@@ -1,11 +1,11 @@
1
1
  export namespace UIStrings {
2
- const warningSlowHostCpu: string;
2
+ let warningSlowHostCpu: string;
3
3
  }
4
4
  /**
5
5
  * @param {LH.Gatherer.ProtocolSession} session
6
6
  * @return {Promise<LH.Crdp.Browser.GetVersionResponse & {milestone: number}>}
7
7
  */
8
- export function getBrowserVersion(session: LH.Gatherer.ProtocolSession): Promise<import("devtools-protocol").Protocol.Browser.GetVersionResponse & {
8
+ export function getBrowserVersion(session: LH.Gatherer.ProtocolSession): Promise<LH.Crdp.Browser.GetVersionResponse & {
9
9
  milestone: number;
10
10
  }>;
11
11
  /**
@@ -13,7 +13,7 @@ export function getBrowserVersion(session: LH.Gatherer.ProtocolSession): Promise
13
13
  * @param {LH.Gatherer.Driver['executionContext']} executionContext
14
14
  * @return {Promise<number>}
15
15
  */
16
- export function getBenchmarkIndex(executionContext: LH.Gatherer.Driver['executionContext']): Promise<number>;
16
+ export function getBenchmarkIndex(executionContext: LH.Gatherer.Driver["executionContext"]): Promise<number>;
17
17
  /**
18
18
  * Returns a warning if the host device appeared to be underpowered according to BenchmarkIndex.
19
19
  *
@@ -22,7 +22,7 @@ export function getBenchmarkIndex(executionContext: LH.Gatherer.Driver['executio
22
22
  */
23
23
  export function getSlowHostCpuWarning(context: {
24
24
  settings: LH.Config.Settings;
25
- baseArtifacts: Pick<LH.Artifacts, 'BenchmarkIndex'>;
25
+ baseArtifacts: Pick<LH.Artifacts, "BenchmarkIndex">;
26
26
  }): LH.IcuMessage | undefined;
27
27
  /**
28
28
  * @param {{settings: LH.Config.Settings, baseArtifacts: Pick<LH.Artifacts, 'BenchmarkIndex'>}} context
@@ -30,6 +30,6 @@ export function getSlowHostCpuWarning(context: {
30
30
  */
31
31
  export function getEnvironmentWarnings(context: {
32
32
  settings: LH.Config.Settings;
33
- baseArtifacts: Pick<LH.Artifacts, 'BenchmarkIndex'>;
33
+ baseArtifacts: Pick<LH.Artifacts, "BenchmarkIndex">;
34
34
  }): Array<LH.IcuMessage>;
35
35
  //# sourceMappingURL=environment.d.ts.map
@@ -93,7 +93,7 @@ function getSlowHostCpuWarning(context) {
93
93
  function getEnvironmentWarnings(context) {
94
94
  return [
95
95
  getSlowHostCpuWarning(context),
96
- ].filter(/** @return {s is LH.IcuMessage} */ s => !!s);
96
+ ].filter(s => !!s);
97
97
  }
98
98
 
99
99
  export {
@@ -82,10 +82,10 @@ export class ExecutionContext {
82
82
  * defined for `mainFn` to work.
83
83
  * @return {Promise<Awaited<R>>}
84
84
  */
85
- evaluate<T extends unknown[], R>(mainFn: (...args: T) => R, options: {
85
+ evaluate<T extends unknown[], R>(mainFn: ((...args: T) => R), options: {
86
86
  args: T;
87
- useIsolation?: boolean | undefined;
88
- deps?: (string | Function)[] | undefined;
87
+ useIsolation?: boolean;
88
+ deps?: Array<Function | string>;
89
89
  }): Promise<Awaited<R>>;
90
90
  /**
91
91
  * Evaluate a function on every new frame from now on.
@@ -96,9 +96,9 @@ export class ExecutionContext {
96
96
  * defined for `mainFn` to work.
97
97
  * @return {Promise<void>}
98
98
  */
99
- evaluateOnNewDocument<T_1 extends unknown[]>(mainFn: (...args: T_1) => void, options: {
100
- args: T_1;
101
- deps?: (string | Function)[] | undefined;
99
+ evaluateOnNewDocument<T extends unknown[]>(mainFn: ((...args: T) => void), options: {
100
+ args: T;
101
+ deps?: Array<Function | string>;
102
102
  }): Promise<void>;
103
103
  /**
104
104
  * Cache native functions/objects inside window so we are sure polyfills do not overwrite the
@@ -1,5 +1,5 @@
1
1
  export type NavigationOptions = {
2
- waitUntil: Array<'fcp' | 'load' | 'navigated'>;
2
+ waitUntil: Array<"fcp" | "load" | "navigated">;
3
3
  } & Partial<LH.Config.Settings>;
4
4
  /**
5
5
  * Navigates to the given URL, assuming that the page is not already on this URL.
@@ -27,7 +27,7 @@ export function getNavigationWarnings(navigation: {
27
27
  mainDocumentUrl: string;
28
28
  }): Array<LH.IcuMessage>;
29
29
  export namespace UIStrings {
30
- const warningRedirected: string;
31
- const warningTimeout: string;
30
+ let warningRedirected: string;
31
+ let warningTimeout: string;
32
32
  }
33
33
  //# sourceMappingURL=navigation.d.ts.map
@@ -1,5 +1,5 @@
1
- export type NetworkRecorderEventMap = import('../../lib/network-recorder.js').NetworkRecorderEventMap;
2
- export type NetworkMonitorEvent_ = 'network-2-idle' | 'network-critical-idle' | 'networkidle' | 'networkbusy' | 'network-critical-busy' | 'network-2-busy';
1
+ export type NetworkRecorderEventMap = import("../../lib/network-recorder.js").NetworkRecorderEventMap;
2
+ export type NetworkMonitorEvent_ = "network-2-idle" | "network-critical-idle" | "networkidle" | "networkbusy" | "network-critical-busy" | "network-2-busy";
3
3
  export type NetworkMonitorEventMap = Record<NetworkMonitorEvent_, []> & NetworkRecorderEventMap;
4
4
  export type NetworkMonitorEvent = keyof NetworkMonitorEventMap;
5
5
  export type NetworkMonitorEmitter = LH.Protocol.StrictEventEmitterClass<NetworkMonitorEventMap>;
@@ -19,13 +19,13 @@ export class NetworkMonitor extends NetworkMonitor_base {
19
19
  end: number;
20
20
  }>;
21
21
  /** @param {LH.Gatherer.Driver['targetManager']} targetManager */
22
- constructor(targetManager: LH.Gatherer.Driver['targetManager']);
22
+ constructor(targetManager: LH.Gatherer.Driver["targetManager"]);
23
23
  /** @type {NetworkRecorder|undefined} */
24
24
  _networkRecorder: NetworkRecorder | undefined;
25
25
  /** @type {Array<LH.Crdp.Page.Frame>} */
26
26
  _frameNavigations: Array<LH.Crdp.Page.Frame>;
27
27
  /** @type {LH.Gatherer.Driver['targetManager']} */
28
- _targetManager: LH.Gatherer.Driver['targetManager'];
28
+ _targetManager: LH.Gatherer.Driver["targetManager"];
29
29
  /** @type {LH.Gatherer.ProtocolSession} */
30
30
  _session: LH.Gatherer.ProtocolSession;
31
31
  /** @param {LH.Crdp.Page.FrameNavigatedEvent} event */
@@ -42,8 +42,8 @@ export class NetworkMonitor extends NetworkMonitor_base {
42
42
  disable(): Promise<void>;
43
43
  /** @return {Promise<{requestedUrl?: string, mainDocumentUrl?: string}>} */
44
44
  getNavigationUrls(): Promise<{
45
- requestedUrl?: string | undefined;
46
- mainDocumentUrl?: string | undefined;
45
+ requestedUrl?: string;
46
+ mainDocumentUrl?: string;
47
47
  }>;
48
48
  /**
49
49
  * @return {Array<NetworkRequest>}
@@ -4,7 +4,7 @@
4
4
  * @param {LH.Config.Settings['clearStorageTypes']} clearStorageTypes
5
5
  * @return {Promise<LH.IcuMessage[]>}
6
6
  */
7
- export function clearDataForOrigin(session: LH.Gatherer.ProtocolSession, url: string, clearStorageTypes: LH.Config.Settings['clearStorageTypes']): Promise<LH.IcuMessage[]>;
7
+ export function clearDataForOrigin(session: LH.Gatherer.ProtocolSession, url: string, clearStorageTypes: LH.Config.Settings["clearStorageTypes"]): Promise<LH.IcuMessage[]>;
8
8
  /**
9
9
  * Clear the network cache on disk and in memory.
10
10
  * @param {LH.Gatherer.ProtocolSession} session
@@ -18,8 +18,8 @@ export function clearBrowserCaches(session: LH.Gatherer.ProtocolSession): Promis
18
18
  */
19
19
  export function getImportantStorageWarning(session: LH.Gatherer.ProtocolSession, url: string): Promise<LH.IcuMessage | undefined>;
20
20
  export namespace UIStrings {
21
- const warningData: string;
22
- const warningCacheTimeout: string;
23
- const warningOriginDataTimeout: string;
21
+ let warningData: string;
22
+ let warningCacheTimeout: string;
23
+ let warningOriginDataTimeout: string;
24
24
  }
25
25
  //# sourceMappingURL=storage.d.ts.map