lighthouse 9.5.0-dev.20230117 → 9.5.0-dev.20230119

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 (518) hide show
  1. package/cli/bin.d.ts +5 -0
  2. package/cli/cli-flags.d.ts +258 -0
  3. package/cli/commands/commands.d.ts +4 -0
  4. package/cli/commands/list-audits.d.ts +2 -0
  5. package/cli/commands/list-locales.d.ts +2 -0
  6. package/cli/commands/list-trace-categories.d.ts +2 -0
  7. package/cli/index.d.ts +3 -0
  8. package/cli/printer.d.ts +28 -0
  9. package/cli/run.d.ts +24 -0
  10. package/cli/sentry-prompt.d.ts +5 -0
  11. package/cli/test/smokehouse/config/exclusions.d.ts +12 -0
  12. package/cli/test/smokehouse/core-tests.d.ts +4 -0
  13. package/cli/test/smokehouse/frontends/back-compat-util.d.ts +16 -0
  14. package/cli/test/smokehouse/frontends/lib.d.ts +8 -0
  15. package/cli/test/smokehouse/frontends/node.d.ts +2 -0
  16. package/cli/test/smokehouse/frontends/smokehouse-bin.d.ts +3 -0
  17. package/cli/test/smokehouse/lib/child-process-error.d.ts +21 -0
  18. package/cli/test/smokehouse/lib/concurrent-mapper.d.ts +78 -0
  19. package/cli/test/smokehouse/lib/local-console.d.ts +33 -0
  20. package/cli/test/smokehouse/lighthouse-runners/bundle.d.ts +16 -0
  21. package/cli/test/smokehouse/lighthouse-runners/cli.d.ts +18 -0
  22. package/cli/test/smokehouse/lighthouse-runners/devtools.d.ts +23 -0
  23. package/cli/test/smokehouse/report-assert-test.d.ts +2 -0
  24. package/cli/test/smokehouse/report-assert.d.ts +50 -0
  25. package/cli/test/smokehouse/smokehouse.d.ts +35 -0
  26. package/cli/test/smokehouse/version-check-test.d.ts +2 -0
  27. package/cli/test/smokehouse/version-check.d.ts +15 -0
  28. package/core/audits/accessibility/accesskeys.d.ts +10 -0
  29. package/core/audits/accessibility/aria-allowed-attr.d.ts +10 -0
  30. package/core/audits/accessibility/aria-command-name.d.ts +10 -0
  31. package/core/audits/accessibility/aria-hidden-body.d.ts +10 -0
  32. package/core/audits/accessibility/aria-hidden-focus.d.ts +10 -0
  33. package/core/audits/accessibility/aria-input-field-name.d.ts +10 -0
  34. package/core/audits/accessibility/aria-meter-name.d.ts +10 -0
  35. package/core/audits/accessibility/aria-progressbar-name.d.ts +10 -0
  36. package/core/audits/accessibility/aria-required-attr.d.ts +10 -0
  37. package/core/audits/accessibility/aria-required-children.d.ts +10 -0
  38. package/core/audits/accessibility/aria-required-parent.d.ts +10 -0
  39. package/core/audits/accessibility/aria-roles.d.ts +10 -0
  40. package/core/audits/accessibility/aria-toggle-field-name.d.ts +10 -0
  41. package/core/audits/accessibility/aria-tooltip-name.d.ts +10 -0
  42. package/core/audits/accessibility/aria-treeitem-name.d.ts +10 -0
  43. package/core/audits/accessibility/aria-valid-attr-value.d.ts +10 -0
  44. package/core/audits/accessibility/aria-valid-attr.d.ts +10 -0
  45. package/core/audits/accessibility/axe-audit.d.ts +17 -0
  46. package/core/audits/accessibility/button-name.d.ts +10 -0
  47. package/core/audits/accessibility/bypass.d.ts +10 -0
  48. package/core/audits/accessibility/color-contrast.d.ts +10 -0
  49. package/core/audits/accessibility/definition-list.d.ts +10 -0
  50. package/core/audits/accessibility/dlitem.d.ts +10 -0
  51. package/core/audits/accessibility/document-title.d.ts +10 -0
  52. package/core/audits/accessibility/duplicate-id-active.d.ts +10 -0
  53. package/core/audits/accessibility/duplicate-id-aria.d.ts +10 -0
  54. package/core/audits/accessibility/form-field-multiple-labels.d.ts +10 -0
  55. package/core/audits/accessibility/frame-title.d.ts +10 -0
  56. package/core/audits/accessibility/heading-order.d.ts +10 -0
  57. package/core/audits/accessibility/html-has-lang.d.ts +10 -0
  58. package/core/audits/accessibility/html-lang-valid.d.ts +10 -0
  59. package/core/audits/accessibility/image-alt.d.ts +10 -0
  60. package/core/audits/accessibility/input-image-alt.d.ts +10 -0
  61. package/core/audits/accessibility/label.d.ts +10 -0
  62. package/core/audits/accessibility/link-name.d.ts +10 -0
  63. package/core/audits/accessibility/list.d.ts +10 -0
  64. package/core/audits/accessibility/listitem.d.ts +10 -0
  65. package/core/audits/accessibility/manual/custom-controls-labels.d.ts +8 -0
  66. package/core/audits/accessibility/manual/custom-controls-roles.d.ts +8 -0
  67. package/core/audits/accessibility/manual/focus-traps.d.ts +8 -0
  68. package/core/audits/accessibility/manual/focusable-controls.d.ts +8 -0
  69. package/core/audits/accessibility/manual/interactive-element-affordance.d.ts +8 -0
  70. package/core/audits/accessibility/manual/logical-tab-order.d.ts +8 -0
  71. package/core/audits/accessibility/manual/managed-focus.d.ts +8 -0
  72. package/core/audits/accessibility/manual/offscreen-content-hidden.d.ts +9 -0
  73. package/core/audits/accessibility/manual/use-landmarks.d.ts +8 -0
  74. package/core/audits/accessibility/manual/visual-order-follows-dom.d.ts +8 -0
  75. package/core/audits/accessibility/meta-refresh.d.ts +10 -0
  76. package/core/audits/accessibility/meta-viewport.d.ts +10 -0
  77. package/core/audits/accessibility/object-alt.d.ts +10 -0
  78. package/core/audits/accessibility/tabindex.d.ts +10 -0
  79. package/core/audits/accessibility/td-headers-attr.d.ts +10 -0
  80. package/core/audits/accessibility/th-has-data-cells.d.ts +10 -0
  81. package/core/audits/accessibility/valid-lang.d.ts +10 -0
  82. package/core/audits/accessibility/video-caption.d.ts +10 -0
  83. package/core/audits/audit.d.ts +150 -0
  84. package/core/audits/audit.js +1 -0
  85. package/core/audits/autocomplete.d.ts +36 -0
  86. package/core/audits/bf-cache.d.ts +21 -0
  87. package/core/audits/bootup-time.d.ts +26 -0
  88. package/core/audits/byte-efficiency/byte-efficiency-audit.d.ts +82 -0
  89. package/core/audits/byte-efficiency/duplicated-javascript.d.ts +52 -0
  90. package/core/audits/byte-efficiency/efficient-animated-content.d.ts +23 -0
  91. package/core/audits/byte-efficiency/legacy-javascript.d.ts +99 -0
  92. package/core/audits/byte-efficiency/modern-image-formats.d.ts +38 -0
  93. package/core/audits/byte-efficiency/offscreen-images.d.ts +75 -0
  94. package/core/audits/byte-efficiency/render-blocking-resources.d.ts +55 -0
  95. package/core/audits/byte-efficiency/render-blocking-resources.js +1 -3
  96. package/core/audits/byte-efficiency/total-byte-weight.d.ts +21 -0
  97. package/core/audits/byte-efficiency/unminified-css.d.ts +36 -0
  98. package/core/audits/byte-efficiency/unminified-javascript.d.ts +37 -0
  99. package/core/audits/byte-efficiency/unused-css-rules.d.ts +16 -0
  100. package/core/audits/byte-efficiency/unused-javascript.d.ts +27 -0
  101. package/core/audits/byte-efficiency/uses-long-cache-ttl.d.ts +61 -0
  102. package/core/audits/byte-efficiency/uses-optimized-images.d.ts +33 -0
  103. package/core/audits/byte-efficiency/uses-responsive-images-snapshot.d.ts +16 -0
  104. package/core/audits/byte-efficiency/uses-responsive-images.d.ts +45 -0
  105. package/core/audits/byte-efficiency/uses-text-compression.d.ts +14 -0
  106. package/core/audits/content-width.d.ts +17 -0
  107. package/core/audits/critical-request-chains.d.ts +44 -0
  108. package/core/audits/csp-xss.d.ts +51 -0
  109. package/core/audits/deprecations.d.ts +19 -0
  110. package/core/audits/diagnostics.d.ts +11 -0
  111. package/core/audits/dobetterweb/charset.d.ts +19 -0
  112. package/core/audits/dobetterweb/doctype.d.ts +21 -0
  113. package/core/audits/dobetterweb/dom-size.d.ts +26 -0
  114. package/core/audits/dobetterweb/geolocation-on-start.d.ts +16 -0
  115. package/core/audits/dobetterweb/inspector-issues.d.ts +45 -0
  116. package/core/audits/dobetterweb/js-libraries.d.ts +15 -0
  117. package/core/audits/dobetterweb/no-document-write.d.ts +16 -0
  118. package/core/audits/dobetterweb/notification-on-start.d.ts +16 -0
  119. package/core/audits/dobetterweb/password-inputs-can-be-pasted-into.d.ts +15 -0
  120. package/core/audits/dobetterweb/uses-http2.d.ts +69 -0
  121. package/core/audits/dobetterweb/uses-passive-event-listeners.d.ts +16 -0
  122. package/core/audits/errors-in-console.d.ts +31 -0
  123. package/core/audits/final-screenshot.d.ts +11 -0
  124. package/core/audits/font-display.d.ts +32 -0
  125. package/core/audits/image-aspect-ratio.d.ts +30 -0
  126. package/core/audits/image-size-responsive.d.ts +28 -0
  127. package/core/audits/installable-manifest.d.ts +118 -0
  128. package/core/audits/is-on-https.d.ts +23 -0
  129. package/core/audits/largest-contentful-paint-element.d.ts +14 -0
  130. package/core/audits/layout-shift-elements.d.ts +15 -0
  131. package/core/audits/lcp-lazy-loaded.d.ts +21 -0
  132. package/core/audits/long-tasks.d.ts +16 -0
  133. package/core/audits/main-thread-tasks.d.ts +11 -0
  134. package/core/audits/mainthread-work-breakdown.d.ts +28 -0
  135. package/core/audits/manual/manual-audit.d.ts +13 -0
  136. package/core/audits/manual/pwa-cross-browser.d.ts +12 -0
  137. package/core/audits/manual/pwa-each-page-has-url.d.ts +12 -0
  138. package/core/audits/manual/pwa-page-transitions.d.ts +12 -0
  139. package/core/audits/maskable-icon.d.ts +25 -0
  140. package/core/audits/metrics/cumulative-layout-shift.d.ts +21 -0
  141. package/core/audits/metrics/experimental-interaction-to-next-paint.d.ts +21 -0
  142. package/core/audits/metrics/first-contentful-paint-3g.d.ts +15 -0
  143. package/core/audits/metrics/first-contentful-paint.d.ts +25 -0
  144. package/core/audits/metrics/first-meaningful-paint.d.ts +28 -0
  145. package/core/audits/metrics/interactive.d.ts +31 -0
  146. package/core/audits/metrics/largest-contentful-paint.d.ts +25 -0
  147. package/core/audits/metrics/max-potential-fid.d.ts +23 -0
  148. package/core/audits/metrics/speed-index.d.ts +27 -0
  149. package/core/audits/metrics/total-blocking-time.d.ts +32 -0
  150. package/core/audits/metrics.d.ts +11 -0
  151. package/core/audits/multi-check-audit.d.ts +28 -0
  152. package/core/audits/network-requests.d.ts +11 -0
  153. package/core/audits/network-rtt.d.ts +15 -0
  154. package/core/audits/network-server-latency.d.ts +15 -0
  155. package/core/audits/no-unload-listeners.d.ts +16 -0
  156. package/core/audits/non-composited-animations.d.ts +21 -0
  157. package/core/audits/oopif-iframe-test-audit.d.ts +14 -0
  158. package/core/audits/performance-budget.d.ts +39 -0
  159. package/core/audits/predictive-perf.d.ts +11 -0
  160. package/core/audits/preload-fonts.d.ts +29 -0
  161. package/core/audits/preload-lcp-image.d.ts +67 -0
  162. package/core/audits/redirects.d.ts +33 -0
  163. package/core/audits/resource-summary.d.ts +16 -0
  164. package/core/audits/screenshot-thumbnails.d.ts +32 -0
  165. package/core/audits/script-elements-test-audit.d.ts +14 -0
  166. package/core/audits/script-treemap-data.d.ts +42 -0
  167. package/core/audits/seo/canonical.d.ts +51 -0
  168. package/core/audits/seo/crawlable-anchors.d.ts +16 -0
  169. package/core/audits/seo/font-size.d.ts +24 -0
  170. package/core/audits/seo/hreflang.d.ts +28 -0
  171. package/core/audits/seo/http-status-code.d.ts +16 -0
  172. package/core/audits/seo/is-crawlable.d.ts +38 -0
  173. package/core/audits/seo/link-text.d.ts +16 -0
  174. package/core/audits/seo/manual/structured-data.d.ts +12 -0
  175. package/core/audits/seo/meta-description.d.ts +16 -0
  176. package/core/audits/seo/plugins.d.ts +15 -0
  177. package/core/audits/seo/robots-txt.d.ts +18 -0
  178. package/core/audits/seo/tap-targets.d.ts +50 -0
  179. package/core/audits/server-response-time.d.ts +21 -0
  180. package/core/audits/service-worker.d.ts +46 -0
  181. package/core/audits/splash-screen.d.ts +37 -0
  182. package/core/audits/themed-omnibox.d.ts +42 -0
  183. package/core/audits/third-party-facades.d.ts +41 -0
  184. package/core/audits/third-party-summary.d.ts +58 -0
  185. package/core/audits/timing-budget.d.ts +43 -0
  186. package/core/audits/unsized-images.d.ts +39 -0
  187. package/core/audits/user-timings.d.ts +43 -0
  188. package/core/audits/uses-rel-preconnect.d.ts +37 -0
  189. package/core/audits/uses-rel-preconnect.js +1 -4
  190. package/core/audits/uses-rel-preload.d.ts +61 -0
  191. package/core/audits/valid-source-maps.d.ts +27 -0
  192. package/core/audits/viewport.d.ts +17 -0
  193. package/core/audits/violation-audit.d.ts +14 -0
  194. package/core/audits/work-during-interaction.d.ts +82 -0
  195. package/core/computed/computed-artifact.d.ts +15 -0
  196. package/core/computed/critical-request-chains.d.ts +40 -0
  197. package/core/computed/image-records.d.ts +24 -0
  198. package/core/computed/js-bundles.d.ts +13 -0
  199. package/core/computed/load-simulator.d.ts +28 -0
  200. package/core/computed/main-resource.d.ts +25 -0
  201. package/core/computed/main-thread-tasks.d.ts +15 -0
  202. package/core/computed/manifest-values.d.ts +24 -0
  203. package/core/computed/metrics/cumulative-layout-shift.d.ts +53 -0
  204. package/core/computed/metrics/first-contentful-paint-all-frames.d.ts +19 -0
  205. package/core/computed/metrics/first-contentful-paint.d.ts +15 -0
  206. package/core/computed/metrics/first-meaningful-paint.d.ts +15 -0
  207. package/core/computed/metrics/interactive.d.ts +61 -0
  208. package/core/computed/metrics/lantern-first-contentful-paint.d.ts +48 -0
  209. package/core/computed/metrics/lantern-first-meaningful-paint.d.ts +12 -0
  210. package/core/computed/metrics/lantern-interactive.d.ts +31 -0
  211. package/core/computed/metrics/lantern-largest-contentful-paint.d.ts +25 -0
  212. package/core/computed/metrics/lantern-max-potential-fid.d.ts +30 -0
  213. package/core/computed/metrics/lantern-metric.d.ts +78 -0
  214. package/core/computed/metrics/lantern-metric.js +1 -3
  215. package/core/computed/metrics/lantern-speed-index.d.ts +38 -0
  216. package/core/computed/metrics/lantern-total-blocking-time.d.ts +31 -0
  217. package/core/computed/metrics/largest-contentful-paint-all-frames.d.ts +20 -0
  218. package/core/computed/metrics/largest-contentful-paint.d.ts +15 -0
  219. package/core/computed/metrics/max-potential-fid.d.ts +15 -0
  220. package/core/computed/metrics/metric.d.ts +38 -0
  221. package/core/computed/metrics/metric.js +1 -1
  222. package/core/computed/metrics/navigation-metric.d.ts +16 -0
  223. package/core/computed/metrics/responsiveness.d.ts +87 -0
  224. package/core/computed/metrics/speed-index.d.ts +10 -0
  225. package/core/computed/metrics/tbt-utils.d.ts +18 -0
  226. package/core/computed/metrics/timing-summary.d.ts +46 -0
  227. package/core/computed/metrics/timing-summary.js +1 -1
  228. package/core/computed/metrics/total-blocking-time.d.ts +23 -0
  229. package/core/computed/module-duplication.d.ts +37 -0
  230. package/core/computed/network-analysis.d.ts +20 -0
  231. package/core/computed/network-records.d.ts +15 -0
  232. package/core/computed/network-records.js +1 -0
  233. package/core/computed/page-dependency-graph.d.ts +88 -0
  234. package/core/computed/processed-navigation.d.ts +15 -0
  235. package/core/computed/processed-navigation.js +5 -2
  236. package/core/computed/processed-trace.d.ts +14 -0
  237. package/core/computed/resource-summary.d.ts +44 -0
  238. package/core/computed/screenshots.d.ts +20 -0
  239. package/core/computed/speedline.d.ts +15 -0
  240. package/core/computed/unused-css.d.ts +62 -0
  241. package/core/computed/unused-javascript-summary.d.ts +71 -0
  242. package/core/computed/user-timings.d.ts +31 -0
  243. package/core/computed/viewport-meta.d.ts +35 -0
  244. package/core/config/budget.d.ts +74 -0
  245. package/core/config/config-helpers.d.ts +94 -0
  246. package/core/config/config-plugin.d.ts +46 -0
  247. package/core/config/config.d.ts +28 -0
  248. package/core/config/constants.d.ts +86 -0
  249. package/core/config/default-config.d.ts +5 -0
  250. package/core/config/default-config.js +5 -4
  251. package/core/config/desktop-config.d.ts +5 -0
  252. package/core/config/desktop-config.js +1 -0
  253. package/core/config/experimental-config.d.ts +13 -0
  254. package/core/config/filters.d.ts +83 -0
  255. package/core/config/full-config.d.ts +9 -0
  256. package/core/config/lr-desktop-config.d.ts +4 -0
  257. package/core/config/lr-mobile-config.d.ts +9 -0
  258. package/core/config/metrics-to-audits.d.ts +19 -0
  259. package/core/config/perf-config.d.ts +9 -0
  260. package/core/config/validation.d.ts +77 -0
  261. package/core/gather/base-artifacts.d.ts +16 -0
  262. package/core/gather/base-gatherer.d.ts +72 -0
  263. package/core/gather/base-gatherer.js +2 -0
  264. package/core/gather/driver/dom.d.ts +20 -0
  265. package/core/gather/driver/environment.d.ts +35 -0
  266. package/core/gather/driver/execution-context.d.ts +101 -0
  267. package/core/gather/driver/execution-context.js +1 -7
  268. package/core/gather/driver/navigation.d.ts +33 -0
  269. package/core/gather/driver/network-monitor.d.ts +82 -0
  270. package/core/gather/driver/network.d.ts +10 -0
  271. package/core/gather/driver/prepare.d.ts +46 -0
  272. package/core/gather/driver/service-workers.d.ts +16 -0
  273. package/core/gather/driver/storage.d.ts +24 -0
  274. package/core/gather/driver/target-manager.d.ts +61 -0
  275. package/core/gather/driver/wait-for-condition.d.ts +116 -0
  276. package/core/gather/driver/wait-for-condition.js +3 -2
  277. package/core/gather/driver.d.ts +30 -0
  278. package/core/gather/fetcher.d.ts +63 -0
  279. package/core/gather/fetcher.js +2 -0
  280. package/core/gather/gatherers/accessibility.d.ts +23 -0
  281. package/core/gather/gatherers/anchor-elements.d.ts +10 -0
  282. package/core/gather/gatherers/bf-cache-failures.d.ts +43 -0
  283. package/core/gather/gatherers/cache-contents.d.ts +11 -0
  284. package/core/gather/gatherers/console-messages.d.ts +39 -0
  285. package/core/gather/gatherers/css-usage.d.ts +39 -0
  286. package/core/gather/gatherers/devtools-log-compat.d.ts +13 -0
  287. package/core/gather/gatherers/devtools-log.d.ts +48 -0
  288. package/core/gather/gatherers/dobetterweb/doctype.d.ts +10 -0
  289. package/core/gather/gatherers/dobetterweb/domstats.d.ts +10 -0
  290. package/core/gather/gatherers/dobetterweb/optimized-images.d.ts +61 -0
  291. package/core/gather/gatherers/dobetterweb/password-inputs-with-prevented-paste.d.ts +10 -0
  292. package/core/gather/gatherers/dobetterweb/response-compression.d.ts +30 -0
  293. package/core/gather/gatherers/dobetterweb/tags-blocking-first-paint.d.ts +53 -0
  294. package/core/gather/gatherers/full-page-screenshot.d.ts +35 -0
  295. package/core/gather/gatherers/gatherer.d.ts +46 -0
  296. package/core/gather/gatherers/global-listeners.d.ts +27 -0
  297. package/core/gather/gatherers/iframe-elements.d.ts +11 -0
  298. package/core/gather/gatherers/image-elements.d.ts +35 -0
  299. package/core/gather/gatherers/inputs.d.ts +10 -0
  300. package/core/gather/gatherers/inspector-issues.d.ts +38 -0
  301. package/core/gather/gatherers/installability-errors.d.ts +17 -0
  302. package/core/gather/gatherers/js-usage.d.ts +22 -0
  303. package/core/gather/gatherers/link-elements.d.ts +39 -0
  304. package/core/gather/gatherers/main-document-content.d.ts +27 -0
  305. package/core/gather/gatherers/meta-elements.d.ts +10 -0
  306. package/core/gather/gatherers/network-user-agent.d.ts +18 -0
  307. package/core/gather/gatherers/script-elements.d.ts +26 -0
  308. package/core/gather/gatherers/scripts.d.ts +27 -0
  309. package/core/gather/gatherers/seo/embedded-content.d.ts +10 -0
  310. package/core/gather/gatherers/seo/font-size.d.ts +131 -0
  311. package/core/gather/gatherers/seo/robots-txt.d.ts +10 -0
  312. package/core/gather/gatherers/seo/tap-targets.d.ts +21 -0
  313. package/core/gather/gatherers/service-worker.d.ts +16 -0
  314. package/core/gather/gatherers/source-maps.d.ts +50 -0
  315. package/core/gather/gatherers/stacks.d.ts +38 -0
  316. package/core/gather/gatherers/trace-compat.d.ts +13 -0
  317. package/core/gather/gatherers/trace-elements.d.ts +83 -0
  318. package/core/gather/gatherers/trace-elements.js +4 -4
  319. package/core/gather/gatherers/trace.d.ts +23 -0
  320. package/core/gather/gatherers/viewport-dimensions.d.ts +10 -0
  321. package/core/gather/gatherers/web-app-manifest.d.ts +32 -0
  322. package/core/gather/navigation-runner.d.ts +92 -0
  323. package/core/gather/runner-helpers.d.ts +39 -0
  324. package/core/gather/session.d.ts +50 -0
  325. package/core/gather/snapshot-runner.d.ts +10 -0
  326. package/core/gather/timespan-runner.d.ts +12 -0
  327. package/core/index.d.cts +4 -0
  328. package/core/index.d.ts +88 -0
  329. package/core/index.js +2 -0
  330. package/core/legacy/config/config.d.ts +107 -0
  331. package/core/legacy/config/legacy-default-config.d.ts +4 -0
  332. package/core/legacy/gather/connections/connection.d.ts +75 -0
  333. package/core/legacy/gather/connections/connection.js +1 -0
  334. package/core/legacy/gather/connections/cri.d.ts +27 -0
  335. package/core/legacy/gather/connections/raw.d.ts +20 -0
  336. package/core/legacy/gather/driver.d.ts +214 -0
  337. package/core/legacy/gather/driver.js +1 -0
  338. package/core/legacy/gather/gather-runner.d.ts +166 -0
  339. package/core/lib/arbitrary-equality-map.d.ts +47 -0
  340. package/core/lib/asset-saver.d.ts +101 -0
  341. package/core/lib/axe.d.ts +2 -0
  342. package/core/lib/bf-cache-strings.d.ts +121 -0
  343. package/core/lib/cdt/Common.d.ts +3 -0
  344. package/core/lib/cdt/Platform.d.ts +26 -0
  345. package/core/lib/cdt/SDK.d.ts +2 -0
  346. package/core/lib/cdt/generated/ParsedURL.d.ts +28 -0
  347. package/core/lib/cdt/generated/SourceMap.d.ts +100 -0
  348. package/core/lib/csp-evaluator.d.ts +41 -0
  349. package/core/lib/dependency-graph/base-node.d.ts +161 -0
  350. package/core/lib/dependency-graph/cpu-node.d.ts +34 -0
  351. package/core/lib/dependency-graph/cpu-node.js +1 -0
  352. package/core/lib/dependency-graph/network-node.d.ts +43 -0
  353. package/core/lib/dependency-graph/network-node.js +1 -0
  354. package/core/lib/dependency-graph/simulator/connection-pool.d.ts +58 -0
  355. package/core/lib/dependency-graph/simulator/connection-pool.js +1 -0
  356. package/core/lib/dependency-graph/simulator/dns-cache.d.ts +42 -0
  357. package/core/lib/dependency-graph/simulator/dns-cache.js +2 -0
  358. package/core/lib/dependency-graph/simulator/network-analyzer.d.ts +166 -0
  359. package/core/lib/dependency-graph/simulator/simulator-timing-map.d.ts +153 -0
  360. package/core/lib/dependency-graph/simulator/simulator-timing-map.js +2 -2
  361. package/core/lib/dependency-graph/simulator/simulator.d.ts +154 -0
  362. package/core/lib/dependency-graph/simulator/simulator.js +3 -2
  363. package/core/lib/dependency-graph/simulator/tcp-connection.d.ts +89 -0
  364. package/core/lib/deprecations-strings.d.ts +66 -0
  365. package/core/lib/emulation.d.ts +43 -0
  366. package/core/lib/i18n/i18n.d.ts +81 -0
  367. package/core/lib/icons.d.ts +22 -0
  368. package/core/lib/lantern-trace-saver.d.ts +20 -0
  369. package/core/lib/lh-env.d.ts +2 -0
  370. package/core/lib/lh-error.d.ts +328 -0
  371. package/core/lib/lh-trace-processor.d.ts +5 -0
  372. package/core/lib/manifest-parser.d.ts +186 -0
  373. package/core/lib/median-run.d.ts +17 -0
  374. package/core/lib/minification-estimator.d.ts +9 -0
  375. package/core/lib/minify-devtoolslog.d.ts +6 -0
  376. package/core/lib/minify-trace.d.ts +6 -0
  377. package/core/lib/navigation-error.d.ts +39 -0
  378. package/core/lib/network-recorder.d.ts +115 -0
  379. package/core/lib/network-request.d.ts +245 -0
  380. package/core/lib/network-request.js +1 -0
  381. package/core/lib/page-functions.d.ts +149 -0
  382. package/core/lib/proto-preprocessor.d.ts +13 -0
  383. package/core/lib/rect-helpers.d.ts +100 -0
  384. package/core/lib/script-helpers.d.ts +17 -0
  385. package/core/lib/sentry.d.ts +32 -0
  386. package/core/lib/stack-packs.d.ts +16 -0
  387. package/core/lib/statistics.d.ts +28 -0
  388. package/core/lib/tappable-rects.d.ts +8 -0
  389. package/core/lib/third-party-web.d.ts +32 -0
  390. package/core/lib/timing-trace-saver.d.ts +21 -0
  391. package/core/lib/tracehouse/cpu-profile-model.d.ts +228 -0
  392. package/core/lib/tracehouse/main-thread-tasks.d.ts +162 -0
  393. package/core/lib/tracehouse/main-thread-tasks.js +1 -0
  394. package/core/lib/tracehouse/task-groups.d.ts +66 -0
  395. package/core/lib/tracehouse/task-summary.d.ts +18 -0
  396. package/core/lib/tracehouse/trace-processor.d.ts +275 -0
  397. package/core/lib/traces/metric-trace-events.d.ts +65 -0
  398. package/core/lib/url-utils.d.ts +100 -0
  399. package/core/runner.d.ts +109 -0
  400. package/core/scoring.d.ts +26 -0
  401. package/core/user-flow.d.ts +106 -0
  402. package/core/user-flow.js +1 -0
  403. package/core/util.d.cts +230 -0
  404. package/dist/report/bundle.esm.js +2 -0
  405. package/dist/report/flow.js +1 -1
  406. package/dist/report/standalone.js +1 -1
  407. package/eslint-local-rules.d.cts +6 -0
  408. package/esm-utils.d.ts +14 -0
  409. package/flow-report/api.d.ts +7 -0
  410. package/flow-report/clients/standalone.d.ts +7 -0
  411. package/flow-report/src/app.d.ts +11 -0
  412. package/flow-report/src/common.d.ts +20 -0
  413. package/flow-report/src/header.d.ts +10 -0
  414. package/flow-report/src/help-dialog.d.ts +10 -0
  415. package/flow-report/src/i18n/i18n.d.ts +209 -0
  416. package/flow-report/src/i18n/localized-strings.d.ts +9 -0
  417. package/flow-report/src/i18n/ui-strings.d.ts +48 -0
  418. package/flow-report/src/icons.d.ts +18 -0
  419. package/flow-report/src/sidebar/flow.d.ts +8 -0
  420. package/flow-report/src/sidebar/sidebar.d.ts +17 -0
  421. package/flow-report/src/summary/category.d.ts +19 -0
  422. package/flow-report/src/summary/summary.d.ts +18 -0
  423. package/flow-report/src/topbar.d.ts +15 -0
  424. package/flow-report/src/util.d.ts +30 -0
  425. package/flow-report/src/wrappers/category-score.d.ts +12 -0
  426. package/flow-report/src/wrappers/markdown.d.ts +10 -0
  427. package/flow-report/src/wrappers/report.d.ts +10 -0
  428. package/flow-report/src/wrappers/styles.d.ts +8 -0
  429. package/flow-report/test/app-test.d.ts +7 -0
  430. package/flow-report/test/common-test.d.ts +7 -0
  431. package/flow-report/test/flow-report-pptr-test.d.ts +7 -0
  432. package/flow-report/test/header-test.d.ts +7 -0
  433. package/flow-report/test/sample-flow.d.ts +7 -0
  434. package/flow-report/test/setup/env-setup.d.ts +11 -0
  435. package/flow-report/test/sidebar/flow-test.d.ts +7 -0
  436. package/flow-report/test/sidebar/sidebar-test.d.ts +7 -0
  437. package/flow-report/test/summary/category-test.d.ts +7 -0
  438. package/flow-report/test/summary/summary-test.d.ts +7 -0
  439. package/flow-report/test/topbar-test.d.ts +7 -0
  440. package/flow-report/test/util-test.d.ts +7 -0
  441. package/flow-report/test/wrappers/category-score-test.d.ts +7 -0
  442. package/flow-report/test/wrappers/markdown-test.d.ts +7 -0
  443. package/flow-report/tsconfig.json +1 -1
  444. package/package.json +5 -2
  445. package/report/clients/bundle.d.ts +6 -0
  446. package/report/clients/standalone.d.ts +2 -0
  447. package/report/generator/file-namer.d.ts +35 -0
  448. package/report/generator/flow-report-assets.d.ts +9 -0
  449. package/report/generator/report-assets.d.ts +8 -0
  450. package/report/generator/report-generator.d.ts +59 -0
  451. package/report/renderer/api.d.ts +31 -0
  452. package/report/renderer/category-renderer.d.ts +176 -0
  453. package/report/renderer/components.d.ts +10 -0
  454. package/report/renderer/crc-details-renderer.d.ts +73 -0
  455. package/report/renderer/details-renderer.d.ts +141 -0
  456. package/report/renderer/dom.d.ts +125 -0
  457. package/report/renderer/drop-down-menu.d.ts +70 -0
  458. package/report/renderer/element-screenshot-renderer.d.ts +79 -0
  459. package/report/renderer/features-util.d.ts +13 -0
  460. package/report/renderer/i18n.d.ts +106 -0
  461. package/report/renderer/logger.d.ts +47 -0
  462. package/report/renderer/open-tab.d.ts +19 -0
  463. package/report/renderer/performance-category-renderer.d.ts +56 -0
  464. package/report/renderer/performance-category-renderer.js +2 -0
  465. package/report/renderer/pwa-category-renderer.d.ts +55 -0
  466. package/report/renderer/report-renderer.d.ts +57 -0
  467. package/report/renderer/report-ui-features.d.ts +71 -0
  468. package/report/renderer/snippet-renderer.d.ts +85 -0
  469. package/report/renderer/swap-locale-feature.d.ts +31 -0
  470. package/report/renderer/text-encoding.d.ts +26 -0
  471. package/report/renderer/topbar-features.d.ts +82 -0
  472. package/report/renderer/util.d.ts +230 -0
  473. package/report/test/generator/report-generator-test.js +3 -3
  474. package/report/test/renderer/performance-category-renderer-test.js +8 -9
  475. package/report/test-assets/faux-psi.d.ts +34 -0
  476. package/report/types/augment-dom.d.ts +1 -1
  477. package/root.d.ts +3 -0
  478. package/shared/localization/format.d.ts +106 -0
  479. package/shared/localization/i18n-module.d.ts +4 -0
  480. package/shared/localization/locales.d.ts +7 -0
  481. package/shared/localization/swap-flow-locale.d.ts +6 -0
  482. package/shared/localization/swap-locale.d.ts +39 -0
  483. package/shared/type-verifiers.d.ts +23 -0
  484. package/third-party/axe/valid-langs.d.ts +9 -0
  485. package/types/artifacts.d.ts +40 -38
  486. package/types/audit.d.ts +6 -6
  487. package/types/config.d.ts +3 -3
  488. package/types/externs.d.ts +7 -3
  489. package/types/gatherer.d.ts +27 -21
  490. package/types/{cssstyle/index.d.ts → internal/cssstyle.d.ts} +0 -0
  491. package/types/{enquirer.d.ts → internal/enquirer.d.ts} +0 -0
  492. package/types/{es-main.d.ts → internal/es-main.d.ts} +0 -0
  493. package/types/internal/global.d.ts +15 -0
  494. package/types/{http-link-header/index.d.ts → internal/http-link-header.d.ts} +0 -0
  495. package/types/{jsonlint-mod.d.ts → internal/jsonlint-mod.d.ts} +0 -0
  496. package/types/{lighthouse-logger/index.d.ts → internal/lighthouse-logger.d.ts} +0 -0
  497. package/types/{lookup-closest-locale/index.d.ts → internal/lookup-closest-locale.d.ts} +3 -1
  498. package/types/{metaviewport-parser/index.d.ts → internal/metaviewport-parser.d.ts} +0 -0
  499. package/types/{node-fetch.d.ts → internal/node-fetch.d.ts} +0 -0
  500. package/types/{node.d.ts → internal/node.d.ts} +0 -0
  501. package/types/{parse-cache-control/index.d.ts → internal/parse-cache-control.d.ts} +0 -0
  502. package/types/{pretty-json-stringify/index.d.ts → internal/pretty-json-stringify.d.ts} +0 -0
  503. package/types/{query-selector.d.ts → internal/query-selector.d.ts} +1 -1
  504. package/types/{rollup-plugin-postprocess.d.ts → internal/rollup-plugin-postprocess.d.ts} +0 -0
  505. package/types/{smokehouse.d.ts → internal/smokehouse.d.ts} +3 -3
  506. package/types/{test.d.ts → internal/test.d.ts} +0 -0
  507. package/types/lh.d.ts +81 -0
  508. package/types/lh.js +13 -0
  509. package/types/lhr/audit-details.d.ts +2 -2
  510. package/types/lhr/audit-result.d.ts +2 -2
  511. package/types/lhr/flow-result.d.ts +1 -1
  512. package/types/lhr/lhr.d.ts +2 -2
  513. package/types/lhr/settings.d.ts +1 -1
  514. package/types/lhr/treemap.d.ts +2 -2
  515. package/types/protocol.d.ts +8 -3
  516. package/types/puppeteer.d.ts +11 -6
  517. package/types/user-flow.d.ts +14 -5
  518. package/types/global-lh.d.ts +0 -85
@@ -0,0 +1,149 @@
1
+ export namespace pageFunctions {
2
+ export { wrapRuntimeEvalErrorInBrowser };
3
+ export { getElementsInDocument };
4
+ export { getOuterHTMLSnippet };
5
+ export { computeBenchmarkIndex };
6
+ export { getNodeDetails };
7
+ export { getNodePath };
8
+ export { getNodeSelector };
9
+ export { getNodeLabel };
10
+ export { isPositionFixed };
11
+ export { wrapRequestIdleCallback };
12
+ export { getBoundingClientRect };
13
+ }
14
+ /**
15
+ * `typed-query-selector`'s CSS selector parser.
16
+ */
17
+ export type ParseSelector<T extends string> = import('typed-query-selector/parser').ParseSelector<T>;
18
+ /**
19
+ * @license Copyright 2018 The Lighthouse Authors. All Rights Reserved.
20
+ * 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
21
+ * 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.
22
+ */
23
+ /**
24
+ * @fileoverview
25
+ * Helper functions that are passed by `toString()` by Driver to be evaluated in target page.
26
+ *
27
+ * Every function in this module only runs in the browser, so it is ignored from
28
+ * the c8 code coverage tool. See c8.sh
29
+ *
30
+ * Important: this module should only be imported like this:
31
+ * const pageFunctions = require('...');
32
+ * Never like this:
33
+ * const {justWhatINeed} = require('...');
34
+ * Otherwise, minification will mangle the variable names and break usage.
35
+ */
36
+ /**
37
+ * `typed-query-selector`'s CSS selector parser.
38
+ * @template {string} T
39
+ * @typedef {import('typed-query-selector/parser').ParseSelector<T>} ParseSelector
40
+ */
41
+ /**
42
+ * The `exceptionDetails` provided by the debugger protocol does not contain the useful
43
+ * information such as name, message, and stack trace of the error when it's wrapped in a
44
+ * promise. Instead, map to a successful object that contains this information.
45
+ * @param {string|Error} [err] The error to convert
46
+ * @return {{__failedInBrowser: boolean, name: string, message: string, stack: string|undefined}}
47
+ */
48
+ declare function wrapRuntimeEvalErrorInBrowser(err?: string | Error | undefined): {
49
+ __failedInBrowser: boolean;
50
+ name: string;
51
+ message: string;
52
+ stack: string | undefined;
53
+ };
54
+ /**
55
+ * @template {string} T
56
+ * @param {T} selector Optional simple CSS selector to filter nodes on.
57
+ * Combinators are not supported.
58
+ * @return {Array<ParseSelector<T>>}
59
+ */
60
+ declare function getElementsInDocument<T extends string>(selector: T): import("typed-query-selector/parser").ParseSelector<T, Element>[];
61
+ /**
62
+ * Gets the opening tag text of the given node.
63
+ * @param {Element|ShadowRoot} element
64
+ * @param {Array<string>=} ignoreAttrs An optional array of attribute tags to not include in the HTML snippet.
65
+ * @return {string}
66
+ */
67
+ declare function getOuterHTMLSnippet(element: Element | ShadowRoot, ignoreAttrs?: Array<string> | undefined, snippetCharacterLimit?: number): string;
68
+ /**
69
+ * Computes a memory/CPU performance benchmark index to determine rough device class.
70
+ * @see https://github.com/GoogleChrome/lighthouse/issues/9085
71
+ * @see https://docs.google.com/spreadsheets/d/1E0gZwKsxegudkjJl8Fki_sOwHKpqgXwt8aBAfuUaB8A/edit?usp=sharing
72
+ *
73
+ * Historically (until LH 6.3), this benchmark created a string of length 100,000 in a loop, and returned
74
+ * the number of times per second the string can be created.
75
+ *
76
+ * Changes to v8 in 8.6.106 changed this number and also made Chrome more variable w.r.t GC interupts.
77
+ * This benchmark now is a hybrid of a similar GC-heavy approach to the original benchmark and an array
78
+ * copy benchmark.
79
+ *
80
+ * As of Chrome m86...
81
+ *
82
+ * - 1000+ is a desktop-class device, Core i3 PC, iPhone X, etc
83
+ * - 800+ is a high-end Android phone, Galaxy S8, low-end Chromebook, etc
84
+ * - 125+ is a mid-tier Android phone, Moto G4, etc
85
+ * - <125 is a budget Android phone, Alcatel Ideal, Galaxy J2, etc
86
+ * @return {number}
87
+ */
88
+ declare function computeBenchmarkIndex(): number;
89
+ /**
90
+ * @param {Element|ShadowRoot} element
91
+ * @return {LH.Artifacts.NodeDetails}
92
+ */
93
+ declare function getNodeDetails(element: Element | ShadowRoot): LH.Artifacts.NodeDetails;
94
+ declare namespace getNodeDetails {
95
+ function toString(): string;
96
+ }
97
+ /**
98
+ * Adapted from DevTools' SDK.DOMNode.prototype.path
99
+ * https://github.com/ChromeDevTools/devtools-frontend/blob/4fff931bb/front_end/sdk/DOMModel.js#L625-L647
100
+ * Backend: https://source.chromium.org/search?q=f:node.cc%20symbol:PrintNodePathTo&sq=&ss=chromium%2Fchromium%2Fsrc
101
+ *
102
+ * TODO: DevTools nodePath handling doesn't support iframes, but probably could. https://crbug.com/1127635
103
+ * @param {Node} node
104
+ * @return {string}
105
+ */
106
+ declare function getNodePath(node: Node): string;
107
+ /**
108
+ * @param {Element} element
109
+ * @return {string}
110
+ *
111
+ * Note: CSS Selectors having no standard mechanism to describe shadow DOM piercing. So we can't.
112
+ *
113
+ * If the node resides within shadow DOM, the selector *only* starts from the shadow root.
114
+ * For example, consider this img within a <section> within a shadow root..
115
+ * - DOM: <html> <body> <div> #shadow-root <section> <img/>
116
+ * - nodePath: 0,HTML,1,BODY,1,DIV,a,#document-fragment,0,SECTION,0,IMG
117
+ * - nodeSelector: section > img
118
+ */
119
+ declare function getNodeSelector(element: Element): string;
120
+ /**
121
+ * Generate a human-readable label for the given element, based on end-user facing
122
+ * strings like the innerText or alt attribute.
123
+ * Returns label string or null if no useful label is found.
124
+ * @param {Element} element
125
+ * @return {string | null}
126
+ */
127
+ declare function getNodeLabel(element: Element): string | null;
128
+ /**
129
+ * This function checks if an element or an ancestor of an element is `position:fixed`.
130
+ * In addition we ensure that the element is capable of behaving as a `position:fixed`
131
+ * element, checking that it lives within a scrollable ancestor.
132
+ * @param {HTMLElement} element
133
+ * @return {boolean}
134
+ */
135
+ declare function isPositionFixed(element: HTMLElement): boolean;
136
+ /**
137
+ * RequestIdleCallback shim that calculates the remaining deadline time in order to avoid a potential lighthouse
138
+ * penalty for tests run with simulated throttling. Reduces the deadline time to (50 - safetyAllowance) / cpuSlowdownMultiplier to
139
+ * ensure a long task is very unlikely if using the API correctly.
140
+ * @param {number} cpuSlowdownMultiplier
141
+ */
142
+ declare function wrapRequestIdleCallback(cpuSlowdownMultiplier: number): void;
143
+ /**
144
+ * @param {Element} element
145
+ * @return {LH.Artifacts.Rect}
146
+ */
147
+ declare function getBoundingClientRect(element: Element): LH.Artifacts.Rect;
148
+ export {};
149
+ //# sourceMappingURL=page-functions.d.ts.map
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @fileoverview Helper functions to transform an LHR into a proto-ready LHR.
3
+ *
4
+ * FIXME: This file is 100% technical debt. Our eventual goal is for the
5
+ * roundtrip JSON to match the Golden LHR 1:1.
6
+ */
7
+ /**
8
+ * Transform an LHR into a proto-friendly, mostly-compatible LHR.
9
+ * @param {LH.Result} lhr
10
+ * @return {LH.Result}
11
+ */
12
+ export function processForProto(lhr: LH.Result): LH.Result;
13
+ //# sourceMappingURL=proto-preprocessor.d.ts.map
@@ -0,0 +1,100 @@
1
+ /**
2
+ * @license Copyright 2018 The Lighthouse Authors. All Rights Reserved.
3
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
5
+ */
6
+ /**
7
+ * @param {LH.Artifacts.Rect} rect
8
+ * @param {{x:number, y:number}} point
9
+ */
10
+ export function rectContainsPoint(rect: LH.Artifacts.Rect, { x, y }: {
11
+ x: number;
12
+ y: number;
13
+ }): boolean;
14
+ /**
15
+ * Returns whether rect2 is contained entirely within rect1;
16
+ * @param {LH.Artifacts.Rect} rect1
17
+ * @param {LH.Artifacts.Rect} rect2
18
+ * @return {boolean}
19
+ */
20
+ export function rectContains(rect1: LH.Artifacts.Rect, rect2: LH.Artifacts.Rect): boolean;
21
+ /**
22
+ * @param {{left:number, top:number, right:number, bottom: number}} rect
23
+ * @return {LH.Artifacts.Rect}
24
+ */
25
+ export function addRectWidthAndHeight({ left, top, right, bottom }: {
26
+ left: number;
27
+ top: number;
28
+ right: number;
29
+ bottom: number;
30
+ }): LH.Artifacts.Rect;
31
+ /**
32
+ * @param {{x:number, y:number, width:number, height: number}} rect
33
+ * @return {LH.Artifacts.Rect}
34
+ */
35
+ export function addRectTopAndBottom({ x, y, width, height }: {
36
+ x: number;
37
+ y: number;
38
+ width: number;
39
+ height: number;
40
+ }): LH.Artifacts.Rect;
41
+ /**
42
+ * @param {LH.Artifacts.Rect} rect1
43
+ * @param {LH.Artifacts.Rect} rect2
44
+ */
45
+ export function getRectOverlapArea(rect1: LH.Artifacts.Rect, rect2: LH.Artifacts.Rect): number;
46
+ /**
47
+ * @param {LH.Artifacts.Rect} rect
48
+ * @param {number} centerRectSize
49
+ */
50
+ export function getRectAtCenter(rect: LH.Artifacts.Rect, centerRectSize: number): import("../../types/lhr/audit-details").default.Rect;
51
+ /**
52
+ * @param {LH.Artifacts.Rect[]} rects
53
+ */
54
+ export function getLargestRect(rects: LH.Artifacts.Rect[]): import("../../types/lhr/audit-details").default.Rect;
55
+ /**
56
+ * @param {LH.Artifacts.Rect} rect
57
+ */
58
+ export function getRectArea(rect: LH.Artifacts.Rect): number;
59
+ /**
60
+ * @param {LH.Artifacts.Rect} rect
61
+ */
62
+ export function getRectCenterPoint(rect: LH.Artifacts.Rect): {
63
+ x: number;
64
+ y: number;
65
+ };
66
+ /**
67
+ * @param {LH.Artifacts.Rect[]} rects
68
+ */
69
+ export function getBoundingRect(rects: LH.Artifacts.Rect[]): import("../../types/lhr/audit-details").default.Rect;
70
+ /**
71
+ * Returns a bounding rect for all the passed in rects, with padded with half of
72
+ * `padding` on all sides.
73
+ * @param {LH.Artifacts.Rect[]} rects
74
+ * @param {number} padding
75
+ * @return {LH.Artifacts.Rect}
76
+ */
77
+ export function getBoundingRectWithPadding(rects: LH.Artifacts.Rect[], padding: number): LH.Artifacts.Rect;
78
+ /**
79
+ * @param {LH.Artifacts.Rect} rectA
80
+ * @param {LH.Artifacts.Rect} rectB
81
+ * @return {boolean}
82
+ */
83
+ export function rectsTouchOrOverlap(rectA: LH.Artifacts.Rect, rectB: LH.Artifacts.Rect): boolean;
84
+ /**
85
+ *
86
+ * @param {LH.Artifacts.Rect[]} rectListA
87
+ * @param {LH.Artifacts.Rect[]} rectListB
88
+ */
89
+ export function allRectsContainedWithinEachOther(rectListA: LH.Artifacts.Rect[], rectListB: LH.Artifacts.Rect[]): boolean;
90
+ /**
91
+ * @param {LH.Artifacts.Rect[]} rects
92
+ * @return {LH.Artifacts.Rect[]}
93
+ */
94
+ export function filterOutRectsContainedByOthers(rects: LH.Artifacts.Rect[]): LH.Artifacts.Rect[];
95
+ /**
96
+ * @param {LH.Artifacts.Rect[]} rects
97
+ * @return {LH.Artifacts.Rect[]}
98
+ */
99
+ export function filterOutTinyRects(rects: LH.Artifacts.Rect[]): LH.Artifacts.Rect[];
100
+ //# sourceMappingURL=rect-helpers.d.ts.map
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @param {LH.Artifacts.NetworkRequest[]} networkRecords
3
+ * @param {LH.Artifacts.Script} script
4
+ * @return {LH.Artifacts.NetworkRequest|undefined}
5
+ */
6
+ export function getRequestForScript(networkRecords: LH.Artifacts.NetworkRequest[], script: LH.Artifacts.Script): LH.Artifacts.NetworkRequest | undefined;
7
+ /**
8
+ * @license Copyright 2022 The Lighthouse Authors. All Rights Reserved.
9
+ * 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
10
+ * 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.
11
+ */
12
+ /**
13
+ * @param {LH.Artifacts.Script} script
14
+ * @return {boolean}
15
+ */
16
+ export function isInline(script: LH.Artifacts.Script): boolean;
17
+ //# sourceMappingURL=script-helpers.d.ts.map
@@ -0,0 +1,32 @@
1
+ export namespace Sentry {
2
+ export { init };
3
+ export { noop as captureMessage };
4
+ export { noop as captureBreadcrumb };
5
+ export { noop as getContext };
6
+ export const captureException: (error: Error, options: {
7
+ level?: string | undefined;
8
+ tags?: {
9
+ [key: string]: any;
10
+ } | undefined;
11
+ extra?: {
12
+ [key: string]: any;
13
+ } | undefined;
14
+ }) => Promise<void>;
15
+ export function _shouldSample(): boolean;
16
+ }
17
+ export type Breadcrumb = import('@sentry/node').Breadcrumb;
18
+ export type NodeClient = import('@sentry/node').NodeClient;
19
+ export type NodeOptions = import('@sentry/node').NodeOptions;
20
+ export type Severity = import('@sentry/node').Severity;
21
+ /**
22
+ * When called, replaces noops with actual Sentry implementation.
23
+ * @param {{url: string, flags: LH.CliFlags, environmentData: NodeOptions}} opts
24
+ */
25
+ declare function init(opts: {
26
+ url: string;
27
+ flags: LH.CliFlags;
28
+ environmentData: NodeOptions;
29
+ }): Promise<void>;
30
+ declare function noop(): void;
31
+ export {};
32
+ //# sourceMappingURL=sentry.d.ts.map
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Returns all packs that match the stacks found in the page.
3
+ * @param {LH.Artifacts['Stacks']|undefined} pageStacks
4
+ * @return {LH.RawIcu<Array<LH.Result.StackPack>>}
5
+ */
6
+ export function getStackPacks(pageStacks: LH.Artifacts['Stacks'] | undefined): LH.RawIcu<Array<LH.Result.StackPack>>;
7
+ /**
8
+ * Pairs consisting of a stack pack's ID and the set of stacks needed to be
9
+ * detected in a page to display that pack's advice.
10
+ * @type {Array<{packId: string, requiredStacks: Array<string>}>}
11
+ */
12
+ export const stackPacksToInclude: Array<{
13
+ packId: string;
14
+ requiredStacks: Array<string>;
15
+ }>;
16
+ //# sourceMappingURL=stack-packs.d.ts.map
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Interpolates the y value at a point x on the line defined by (x0, y0) and (x1, y1)
3
+ * @param {number} x0
4
+ * @param {number} y0
5
+ * @param {number} x1
6
+ * @param {number} y1
7
+ * @param {number} x
8
+ * @return {number}
9
+ */
10
+ export function linearInterpolation(x0: number, y0: number, x1: number, y1: number, x: number): number;
11
+ /**
12
+ * Returns the score (1 - percentile) of `value` in a log-normal distribution
13
+ * specified by the `median` value, at which the score will be 0.5, and a 10th
14
+ * percentile value, at which the score will be 0.9. The score represents the
15
+ * amount of the distribution greater than `value`. All values should be in the
16
+ * same units (e.g. milliseconds). See
17
+ * https://www.desmos.com/calculator/o98tbeyt1t
18
+ * for an interactive view of the relationship between these parameters and the
19
+ * typical parameterization (location and shape) of the log-normal distribution.
20
+ * @param {{median: number, p10: number}} parameters
21
+ * @param {number} value
22
+ * @return {number}
23
+ */
24
+ export function getLogNormalScore({ median, p10 }: {
25
+ median: number;
26
+ p10: number;
27
+ }, value: number): number;
28
+ //# sourceMappingURL=statistics.d.ts.map
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Merge client rects together and remove small ones. This may result in a larger overall
3
+ * size than that of the individual client rects.
4
+ * We use this to simulate a finger tap on those targets later on.
5
+ * @param {LH.Artifacts.Rect[]} clientRects
6
+ */
7
+ export function getTappableRectsFromClientRects(clientRects: LH.Artifacts.Rect[]): import("../../types/lhr/audit-details.js").default.Rect[];
8
+ //# sourceMappingURL=tappable-rects.d.ts.map
@@ -0,0 +1,32 @@
1
+ declare namespace _default {
2
+ export { getEntity };
3
+ export { getProduct };
4
+ export { isThirdParty };
5
+ export { isFirstParty };
6
+ }
7
+ export default _default;
8
+ export type ThirdPartyEntity = import("third-party-web").IEntity;
9
+ export type ThirdPartyProduct = import("third-party-web").IProduct;
10
+ /** @typedef {import("third-party-web").IEntity} ThirdPartyEntity */
11
+ /** @typedef {import("third-party-web").IProduct} ThirdPartyProduct */
12
+ /**
13
+ * @param {string} url
14
+ * @return {ThirdPartyEntity|undefined}
15
+ */
16
+ declare function getEntity(url: string): ThirdPartyEntity | undefined;
17
+ /**
18
+ * @param {string} url
19
+ * @return {ThirdPartyProduct|undefined}
20
+ */
21
+ declare function getProduct(url: string): ThirdPartyProduct | undefined;
22
+ /**
23
+ * @param {string} url
24
+ * @param {ThirdPartyEntity | undefined} mainDocumentEntity
25
+ */
26
+ declare function isThirdParty(url: string, mainDocumentEntity: ThirdPartyEntity | undefined): boolean;
27
+ /**
28
+ * @param {string} url
29
+ * @param {ThirdPartyEntity | undefined} mainDocumentEntity
30
+ */
31
+ declare function isFirstParty(url: string, mainDocumentEntity: ThirdPartyEntity | undefined): boolean;
32
+ //# sourceMappingURL=third-party-web.d.ts.map
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @license Copyright 2018 The Lighthouse Authors. All Rights Reserved.
3
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
5
+ */
6
+ /**
7
+ * Generates a chromium trace file from user timing measures
8
+ * `threadId` can be provided to separate a series of trace events into another thread, useful
9
+ * if timings do not share the same timeOrigin, but should both be "left-aligned".
10
+ * Adapted from https://github.com/tdresser/performance-observer-tracing
11
+ * @param {LH.Artifacts.MeasureEntry[]} entries user timing entries
12
+ * @param {number=} threadId
13
+ */
14
+ export function generateTraceEvents(entries: LH.Artifacts.MeasureEntry[], threadId?: number | undefined): import("..").TraceEvent[];
15
+ /**
16
+ * Writes a trace file to disk
17
+ * @param {LH.Result} lhr
18
+ * @return {string}
19
+ */
20
+ export function createTraceString(lhr: LH.Result): string;
21
+ //# sourceMappingURL=timing-trace-saver.d.ts.map
@@ -0,0 +1,228 @@
1
+ export type CpuProfile = {
2
+ id: string;
3
+ pid: number;
4
+ tid: number;
5
+ startTime: number;
6
+ nodes: Required<LH.TraceCpuProfile>['nodes'];
7
+ samples: Array<number>;
8
+ timeDeltas: Array<number>;
9
+ };
10
+ export type ProfilerRange = Required<Required<LH.TraceEvent['args']>['data']>['_syntheticProfilerRange'];
11
+ export type SynthethicEvent = LH.TraceEvent & {
12
+ args: {
13
+ data: {
14
+ _syntheticProfilerRange: ProfilerRange;
15
+ };
16
+ };
17
+ };
18
+ export type SynthethicTaskNode = Omit<LH.Artifacts.TaskNode, 'event'> & {
19
+ event: SynthethicEvent;
20
+ endEvent: SynthethicEvent;
21
+ };
22
+ /**
23
+ * @fileoverview
24
+ *
25
+ * This model converts the `Profile` and `ProfileChunk` mega trace events from the `disabled-by-default-v8.cpu_profiler`
26
+ * category into B/E-style trace events that main-thread-tasks.js already knows how to parse into a task tree.
27
+ *
28
+ * The V8 CPU profiler measures where time is being spent by sampling the stack (See https://www.jetbrains.com/help/profiler/Profiling_Guidelines__Choosing_the_Right_Profiling_Mode.html
29
+ * for a generic description of the differences between tracing and sampling).
30
+ *
31
+ * A `Profile` event is a record of the stack that was being executed at different sample points in time.
32
+ * It has a structure like this:
33
+ *
34
+ * nodes: [function A, function B, function C]
35
+ * samples: [node with id 2, node with id 1, ...]
36
+ * timeDeltas: [4125μs since last sample, 121μs since last sample, ...]
37
+ *
38
+ * Note that this is subtly different from the protocol-based Crdp.Profiler.Profile type.
39
+ *
40
+ * Helpful prior art:
41
+ * @see https://cs.chromium.org/chromium/src/third_party/devtools-frontend/src/front_end/sdk/CPUProfileDataModel.js?sq=package:chromium&g=0&l=42
42
+ * @see https://github.com/v8/v8/blob/99ca333b0efba3236954b823101315aefeac51ab/tools/profile.js
43
+ * @see https://github.com/jlfwong/speedscope/blob/9ed1eb192cb7e9dac43a5f25bd101af169dc654a/src/import/chrome.ts#L200
44
+ */
45
+ /**
46
+ * @typedef CpuProfile
47
+ * @property {string} id
48
+ * @property {number} pid
49
+ * @property {number} tid
50
+ * @property {number} startTime
51
+ * @property {Required<LH.TraceCpuProfile>['nodes']} nodes
52
+ * @property {Array<number>} samples
53
+ * @property {Array<number>} timeDeltas
54
+ */
55
+ /** @typedef {Required<Required<LH.TraceEvent['args']>['data']>['_syntheticProfilerRange']} ProfilerRange */
56
+ /** @typedef {LH.TraceEvent & {args: {data: {_syntheticProfilerRange: ProfilerRange}}}} SynthethicEvent */
57
+ /** @typedef {Omit<LH.Artifacts.TaskNode, 'event'> & {event: SynthethicEvent, endEvent: SynthethicEvent}} SynthethicTaskNode */
58
+ export class CpuProfileModel {
59
+ /**
60
+ * @param {LH.TraceEvent | undefined} event
61
+ * @return {event is SynthethicEvent}
62
+ */
63
+ static isSyntheticEvent(event: LH.TraceEvent | undefined): event is SynthethicEvent;
64
+ /**
65
+ * @param {LH.Artifacts.TaskNode} task
66
+ * @return {task is SynthethicTaskNode}
67
+ */
68
+ static isSyntheticTask(task: LH.Artifacts.TaskNode): task is SynthethicTaskNode;
69
+ /**
70
+ * Finds all the tasks that started or ended (depending on `type`) within the provided time range.
71
+ * Uses a memory index to remember the place in the array the last invocation left off to avoid
72
+ * re-traversing the entire array, but note that this index might still be slightly off from the
73
+ * true start position.
74
+ *
75
+ * @param {Array<{startTime: number, endTime: number}>} knownTasks
76
+ * @param {{type: 'startTime'|'endTime', initialIndex: number, earliestPossibleTimestamp: number, latestPossibleTimestamp: number}} options
77
+ */
78
+ static _getTasksInRange(knownTasks: Array<{
79
+ startTime: number;
80
+ endTime: number;
81
+ }>, options: {
82
+ type: 'startTime' | 'endTime';
83
+ initialIndex: number;
84
+ earliestPossibleTimestamp: number;
85
+ latestPossibleTimestamp: number;
86
+ }): {
87
+ tasks: {
88
+ startTime: number;
89
+ endTime: number;
90
+ }[];
91
+ lastIndex: number;
92
+ };
93
+ /**
94
+ * Given a particular time range and a set of known true tasks, find the correct timestamp to use
95
+ * for a transition between tasks.
96
+ *
97
+ * Because the sampling profiler only provides a *range* of start/stop function boundaries, this
98
+ * method uses knowledge of a known set of tasks to find the most accurate timestamp for a particular
99
+ * range. For example, if we know that a function ended between 800ms and 810ms, we can use the
100
+ * knowledge that a toplevel task ended at 807ms to use 807ms as the correct endtime for this function.
101
+ *
102
+ * @param {{syntheticTask: SynthethicTaskNode, eventType: 'start'|'end', allEventsAtTs: {naive: Array<SynthethicEvent>, refined: Array<SynthethicEvent>}, knownTaskStartTimeIndex: number, knownTaskEndTimeIndex: number, knownTasksByStartTime: Array<{startTime: number, endTime: number}>, knownTasksByEndTime: Array<{startTime: number, endTime: number}>}} data
103
+ * @return {{timestamp: number, lastStartTimeIndex: number, lastEndTimeIndex: number}}
104
+ */
105
+ static _findEffectiveTimestamp(data: {
106
+ syntheticTask: SynthethicTaskNode;
107
+ eventType: 'start' | 'end';
108
+ allEventsAtTs: {
109
+ naive: Array<SynthethicEvent>;
110
+ refined: Array<SynthethicEvent>;
111
+ };
112
+ knownTaskStartTimeIndex: number;
113
+ knownTaskEndTimeIndex: number;
114
+ knownTasksByStartTime: Array<{
115
+ startTime: number;
116
+ endTime: number;
117
+ }>;
118
+ knownTasksByEndTime: Array<{
119
+ startTime: number;
120
+ endTime: number;
121
+ }>;
122
+ }): {
123
+ timestamp: number;
124
+ lastStartTimeIndex: number;
125
+ lastEndTimeIndex: number;
126
+ };
127
+ /**
128
+ * Creates B/E-style trace events from a CpuProfile object created by `collectProfileEvents()`
129
+ *
130
+ * @param {CpuProfile} profile
131
+ * @param {Array<LH.Artifacts.TaskNode>} tasks
132
+ * @return {Array<LH.TraceEvent>}
133
+ */
134
+ static synthesizeTraceEvents(profile: CpuProfile, tasks: Array<LH.Artifacts.TaskNode>): Array<LH.TraceEvent>;
135
+ /**
136
+ * Merges the data of all the `ProfileChunk` trace events into a single CpuProfile object for consumption
137
+ * by `synthesizeTraceEvents()`.
138
+ *
139
+ * @param {Array<LH.TraceEvent>} traceEvents
140
+ * @return {Array<CpuProfile>}
141
+ */
142
+ static collectProfileEvents(traceEvents: Array<LH.TraceEvent>): Array<CpuProfile>;
143
+ /**
144
+ * @param {CpuProfile} profile
145
+ */
146
+ constructor(profile: CpuProfile);
147
+ _profile: CpuProfile;
148
+ _nodesById: Map<number, {
149
+ id: number;
150
+ callFrame: {
151
+ functionName: string;
152
+ url?: string | undefined;
153
+ };
154
+ parent?: number | undefined;
155
+ }>;
156
+ _activeNodeArraysById: Map<number, number[]>;
157
+ /**
158
+ * Initialization function to enable O(1) access to nodes by node ID.
159
+ * @return {Map<number, CpuProfile['nodes'][0]>}
160
+ */
161
+ _createNodeMap(): Map<number, CpuProfile['nodes'][0]>;
162
+ /**
163
+ * Initialization function to enable O(1) access to the set of active nodes in the stack by node ID.
164
+ * @return {Map<number, Array<number>>}
165
+ */
166
+ _createActiveNodeArrays(): Map<number, Array<number>>;
167
+ /**
168
+ * Returns all the node IDs in a stack when a specific nodeId is at the top of the stack
169
+ * (i.e. a stack's node ID and the node ID of all of its parents).
170
+ *
171
+ * @param {number} nodeId
172
+ * @return {Array<number>}
173
+ */
174
+ _getActiveNodeIds(nodeId: number): Array<number>;
175
+ /**
176
+ * Generates the necessary B/E-style trace events for a single transition from stack A to stack B
177
+ * at the given latest timestamp (includes possible range in event.args.data).
178
+ *
179
+ * Example:
180
+ *
181
+ * latestPossibleTimestamp 1234
182
+ * previousNodeIds 1,2,3
183
+ * currentNodeIds 1,2,4
184
+ *
185
+ * yields [end 3 at ts 1234, begin 4 at ts 1234]
186
+ *
187
+ * @param {number} earliestPossibleTimestamp
188
+ * @param {number} latestPossibleTimestamp
189
+ * @param {Array<number>} previousNodeIds
190
+ * @param {Array<number>} currentNodeIds
191
+ * @return {Array<SynthethicEvent>}
192
+ */
193
+ _synthesizeTraceEventsForTransition(earliestPossibleTimestamp: number, latestPossibleTimestamp: number, previousNodeIds: Array<number>, currentNodeIds: Array<number>): Array<SynthethicEvent>;
194
+ /**
195
+ * Creates the B/E-style trace events using only data from the profile itself. Each B/E event will
196
+ * include the actual _range_ the timestamp could have been in its metadata that is used for
197
+ * refinement later.
198
+ *
199
+ * @return {Array<SynthethicEvent>}
200
+ */
201
+ _synthesizeNaiveTraceEvents(): Array<SynthethicEvent>;
202
+ /**
203
+ * Creates a copy of B/E-style trace events with refined timestamps using knowledge from the
204
+ * tasks that have definitive timestamps.
205
+ *
206
+ * With the sampling profiler we know that a function started/ended _sometime between_ two points,
207
+ * but not exactly when. Using the information from other tasks gives us more information to be
208
+ * more precise with timings and allows us to create a valid task tree later on.
209
+ *
210
+ * @param {Array<{startTime: number, endTime: number}>} knownTasks
211
+ * @param {Array<SynthethicTaskNode>} syntheticTasks
212
+ * @param {Array<SynthethicEvent>} syntheticEvents
213
+ * @return {Array<SynthethicEvent>}
214
+ */
215
+ _refineTraceEventsWithTasks(knownTasks: Array<{
216
+ startTime: number;
217
+ endTime: number;
218
+ }>, syntheticTasks: Array<SynthethicTaskNode>, syntheticEvents: Array<SynthethicEvent>): Array<SynthethicEvent>;
219
+ /**
220
+ * Creates B/E-style trace events from a CpuProfile object created by `collectProfileEvents()`.
221
+ * An optional set of tasks can be passed in to refine the start/end times.
222
+ *
223
+ * @param {Array<LH.Artifacts.TaskNode>} [knownTaskNodes]
224
+ * @return {Array<LH.TraceEvent>}
225
+ */
226
+ synthesizeTraceEvents(knownTaskNodes?: import("./main-thread-tasks.js").TaskNode[] | undefined): Array<LH.TraceEvent>;
227
+ }
228
+ //# sourceMappingURL=cpu-profile-model.d.ts.map