lighthouse 9.5.0-dev.20230118 → 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 (505) 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/total-byte-weight.d.ts +21 -0
  96. package/core/audits/byte-efficiency/unminified-css.d.ts +36 -0
  97. package/core/audits/byte-efficiency/unminified-javascript.d.ts +37 -0
  98. package/core/audits/byte-efficiency/unused-css-rules.d.ts +16 -0
  99. package/core/audits/byte-efficiency/unused-javascript.d.ts +27 -0
  100. package/core/audits/byte-efficiency/uses-long-cache-ttl.d.ts +61 -0
  101. package/core/audits/byte-efficiency/uses-optimized-images.d.ts +33 -0
  102. package/core/audits/byte-efficiency/uses-responsive-images-snapshot.d.ts +16 -0
  103. package/core/audits/byte-efficiency/uses-responsive-images.d.ts +45 -0
  104. package/core/audits/byte-efficiency/uses-text-compression.d.ts +14 -0
  105. package/core/audits/content-width.d.ts +17 -0
  106. package/core/audits/critical-request-chains.d.ts +44 -0
  107. package/core/audits/csp-xss.d.ts +51 -0
  108. package/core/audits/deprecations.d.ts +19 -0
  109. package/core/audits/diagnostics.d.ts +11 -0
  110. package/core/audits/dobetterweb/charset.d.ts +19 -0
  111. package/core/audits/dobetterweb/doctype.d.ts +21 -0
  112. package/core/audits/dobetterweb/dom-size.d.ts +26 -0
  113. package/core/audits/dobetterweb/geolocation-on-start.d.ts +16 -0
  114. package/core/audits/dobetterweb/inspector-issues.d.ts +45 -0
  115. package/core/audits/dobetterweb/js-libraries.d.ts +15 -0
  116. package/core/audits/dobetterweb/no-document-write.d.ts +16 -0
  117. package/core/audits/dobetterweb/notification-on-start.d.ts +16 -0
  118. package/core/audits/dobetterweb/password-inputs-can-be-pasted-into.d.ts +15 -0
  119. package/core/audits/dobetterweb/uses-http2.d.ts +69 -0
  120. package/core/audits/dobetterweb/uses-passive-event-listeners.d.ts +16 -0
  121. package/core/audits/errors-in-console.d.ts +31 -0
  122. package/core/audits/final-screenshot.d.ts +11 -0
  123. package/core/audits/font-display.d.ts +32 -0
  124. package/core/audits/image-aspect-ratio.d.ts +30 -0
  125. package/core/audits/image-size-responsive.d.ts +28 -0
  126. package/core/audits/installable-manifest.d.ts +118 -0
  127. package/core/audits/is-on-https.d.ts +23 -0
  128. package/core/audits/largest-contentful-paint-element.d.ts +14 -0
  129. package/core/audits/layout-shift-elements.d.ts +15 -0
  130. package/core/audits/lcp-lazy-loaded.d.ts +21 -0
  131. package/core/audits/long-tasks.d.ts +16 -0
  132. package/core/audits/main-thread-tasks.d.ts +11 -0
  133. package/core/audits/mainthread-work-breakdown.d.ts +28 -0
  134. package/core/audits/manual/manual-audit.d.ts +13 -0
  135. package/core/audits/manual/pwa-cross-browser.d.ts +12 -0
  136. package/core/audits/manual/pwa-each-page-has-url.d.ts +12 -0
  137. package/core/audits/manual/pwa-page-transitions.d.ts +12 -0
  138. package/core/audits/maskable-icon.d.ts +25 -0
  139. package/core/audits/metrics/cumulative-layout-shift.d.ts +21 -0
  140. package/core/audits/metrics/experimental-interaction-to-next-paint.d.ts +21 -0
  141. package/core/audits/metrics/first-contentful-paint-3g.d.ts +15 -0
  142. package/core/audits/metrics/first-contentful-paint.d.ts +25 -0
  143. package/core/audits/metrics/first-meaningful-paint.d.ts +28 -0
  144. package/core/audits/metrics/interactive.d.ts +31 -0
  145. package/core/audits/metrics/largest-contentful-paint.d.ts +25 -0
  146. package/core/audits/metrics/max-potential-fid.d.ts +23 -0
  147. package/core/audits/metrics/speed-index.d.ts +27 -0
  148. package/core/audits/metrics/total-blocking-time.d.ts +32 -0
  149. package/core/audits/metrics.d.ts +11 -0
  150. package/core/audits/multi-check-audit.d.ts +28 -0
  151. package/core/audits/network-requests.d.ts +11 -0
  152. package/core/audits/network-rtt.d.ts +15 -0
  153. package/core/audits/network-server-latency.d.ts +15 -0
  154. package/core/audits/no-unload-listeners.d.ts +16 -0
  155. package/core/audits/non-composited-animations.d.ts +21 -0
  156. package/core/audits/oopif-iframe-test-audit.d.ts +14 -0
  157. package/core/audits/performance-budget.d.ts +39 -0
  158. package/core/audits/predictive-perf.d.ts +11 -0
  159. package/core/audits/preload-fonts.d.ts +29 -0
  160. package/core/audits/preload-lcp-image.d.ts +67 -0
  161. package/core/audits/redirects.d.ts +33 -0
  162. package/core/audits/resource-summary.d.ts +16 -0
  163. package/core/audits/screenshot-thumbnails.d.ts +32 -0
  164. package/core/audits/script-elements-test-audit.d.ts +14 -0
  165. package/core/audits/script-treemap-data.d.ts +42 -0
  166. package/core/audits/seo/canonical.d.ts +51 -0
  167. package/core/audits/seo/crawlable-anchors.d.ts +16 -0
  168. package/core/audits/seo/font-size.d.ts +24 -0
  169. package/core/audits/seo/hreflang.d.ts +28 -0
  170. package/core/audits/seo/http-status-code.d.ts +16 -0
  171. package/core/audits/seo/is-crawlable.d.ts +38 -0
  172. package/core/audits/seo/link-text.d.ts +16 -0
  173. package/core/audits/seo/manual/structured-data.d.ts +12 -0
  174. package/core/audits/seo/meta-description.d.ts +16 -0
  175. package/core/audits/seo/plugins.d.ts +15 -0
  176. package/core/audits/seo/robots-txt.d.ts +18 -0
  177. package/core/audits/seo/tap-targets.d.ts +50 -0
  178. package/core/audits/server-response-time.d.ts +21 -0
  179. package/core/audits/service-worker.d.ts +46 -0
  180. package/core/audits/splash-screen.d.ts +37 -0
  181. package/core/audits/themed-omnibox.d.ts +42 -0
  182. package/core/audits/third-party-facades.d.ts +41 -0
  183. package/core/audits/third-party-summary.d.ts +58 -0
  184. package/core/audits/timing-budget.d.ts +43 -0
  185. package/core/audits/unsized-images.d.ts +39 -0
  186. package/core/audits/user-timings.d.ts +43 -0
  187. package/core/audits/uses-rel-preconnect.d.ts +37 -0
  188. package/core/audits/uses-rel-preload.d.ts +61 -0
  189. package/core/audits/valid-source-maps.d.ts +27 -0
  190. package/core/audits/viewport.d.ts +17 -0
  191. package/core/audits/violation-audit.d.ts +14 -0
  192. package/core/audits/work-during-interaction.d.ts +82 -0
  193. package/core/computed/computed-artifact.d.ts +15 -0
  194. package/core/computed/critical-request-chains.d.ts +40 -0
  195. package/core/computed/image-records.d.ts +24 -0
  196. package/core/computed/js-bundles.d.ts +13 -0
  197. package/core/computed/load-simulator.d.ts +28 -0
  198. package/core/computed/main-resource.d.ts +25 -0
  199. package/core/computed/main-thread-tasks.d.ts +15 -0
  200. package/core/computed/manifest-values.d.ts +24 -0
  201. package/core/computed/metrics/cumulative-layout-shift.d.ts +53 -0
  202. package/core/computed/metrics/first-contentful-paint-all-frames.d.ts +19 -0
  203. package/core/computed/metrics/first-contentful-paint.d.ts +15 -0
  204. package/core/computed/metrics/first-meaningful-paint.d.ts +15 -0
  205. package/core/computed/metrics/interactive.d.ts +61 -0
  206. package/core/computed/metrics/lantern-first-contentful-paint.d.ts +48 -0
  207. package/core/computed/metrics/lantern-first-meaningful-paint.d.ts +12 -0
  208. package/core/computed/metrics/lantern-interactive.d.ts +31 -0
  209. package/core/computed/metrics/lantern-largest-contentful-paint.d.ts +25 -0
  210. package/core/computed/metrics/lantern-max-potential-fid.d.ts +30 -0
  211. package/core/computed/metrics/lantern-metric.d.ts +78 -0
  212. package/core/computed/metrics/lantern-speed-index.d.ts +38 -0
  213. package/core/computed/metrics/lantern-total-blocking-time.d.ts +31 -0
  214. package/core/computed/metrics/largest-contentful-paint-all-frames.d.ts +20 -0
  215. package/core/computed/metrics/largest-contentful-paint.d.ts +15 -0
  216. package/core/computed/metrics/max-potential-fid.d.ts +15 -0
  217. package/core/computed/metrics/metric.d.ts +38 -0
  218. package/core/computed/metrics/navigation-metric.d.ts +16 -0
  219. package/core/computed/metrics/responsiveness.d.ts +87 -0
  220. package/core/computed/metrics/speed-index.d.ts +10 -0
  221. package/core/computed/metrics/tbt-utils.d.ts +18 -0
  222. package/core/computed/metrics/timing-summary.d.ts +46 -0
  223. package/core/computed/metrics/total-blocking-time.d.ts +23 -0
  224. package/core/computed/module-duplication.d.ts +37 -0
  225. package/core/computed/network-analysis.d.ts +20 -0
  226. package/core/computed/network-records.d.ts +15 -0
  227. package/core/computed/network-records.js +1 -0
  228. package/core/computed/page-dependency-graph.d.ts +88 -0
  229. package/core/computed/processed-navigation.d.ts +15 -0
  230. package/core/computed/processed-trace.d.ts +14 -0
  231. package/core/computed/resource-summary.d.ts +44 -0
  232. package/core/computed/screenshots.d.ts +20 -0
  233. package/core/computed/speedline.d.ts +15 -0
  234. package/core/computed/unused-css.d.ts +62 -0
  235. package/core/computed/unused-javascript-summary.d.ts +71 -0
  236. package/core/computed/user-timings.d.ts +31 -0
  237. package/core/computed/viewport-meta.d.ts +35 -0
  238. package/core/config/budget.d.ts +74 -0
  239. package/core/config/config-helpers.d.ts +94 -0
  240. package/core/config/config-plugin.d.ts +46 -0
  241. package/core/config/config.d.ts +28 -0
  242. package/core/config/constants.d.ts +86 -0
  243. package/core/config/default-config.d.ts +5 -0
  244. package/core/config/default-config.js +1 -0
  245. package/core/config/desktop-config.d.ts +5 -0
  246. package/core/config/desktop-config.js +1 -0
  247. package/core/config/experimental-config.d.ts +13 -0
  248. package/core/config/filters.d.ts +83 -0
  249. package/core/config/full-config.d.ts +9 -0
  250. package/core/config/lr-desktop-config.d.ts +4 -0
  251. package/core/config/lr-mobile-config.d.ts +9 -0
  252. package/core/config/metrics-to-audits.d.ts +19 -0
  253. package/core/config/perf-config.d.ts +9 -0
  254. package/core/config/validation.d.ts +77 -0
  255. package/core/gather/base-artifacts.d.ts +16 -0
  256. package/core/gather/base-gatherer.d.ts +72 -0
  257. package/core/gather/base-gatherer.js +2 -0
  258. package/core/gather/driver/dom.d.ts +20 -0
  259. package/core/gather/driver/environment.d.ts +35 -0
  260. package/core/gather/driver/execution-context.d.ts +101 -0
  261. package/core/gather/driver/execution-context.js +1 -7
  262. package/core/gather/driver/navigation.d.ts +33 -0
  263. package/core/gather/driver/network-monitor.d.ts +82 -0
  264. package/core/gather/driver/network.d.ts +10 -0
  265. package/core/gather/driver/prepare.d.ts +46 -0
  266. package/core/gather/driver/service-workers.d.ts +16 -0
  267. package/core/gather/driver/storage.d.ts +24 -0
  268. package/core/gather/driver/target-manager.d.ts +61 -0
  269. package/core/gather/driver/wait-for-condition.d.ts +116 -0
  270. package/core/gather/driver/wait-for-condition.js +3 -2
  271. package/core/gather/driver.d.ts +30 -0
  272. package/core/gather/fetcher.d.ts +63 -0
  273. package/core/gather/fetcher.js +2 -0
  274. package/core/gather/gatherers/accessibility.d.ts +23 -0
  275. package/core/gather/gatherers/anchor-elements.d.ts +10 -0
  276. package/core/gather/gatherers/bf-cache-failures.d.ts +43 -0
  277. package/core/gather/gatherers/cache-contents.d.ts +11 -0
  278. package/core/gather/gatherers/console-messages.d.ts +39 -0
  279. package/core/gather/gatherers/css-usage.d.ts +39 -0
  280. package/core/gather/gatherers/devtools-log-compat.d.ts +13 -0
  281. package/core/gather/gatherers/devtools-log.d.ts +48 -0
  282. package/core/gather/gatherers/dobetterweb/doctype.d.ts +10 -0
  283. package/core/gather/gatherers/dobetterweb/domstats.d.ts +10 -0
  284. package/core/gather/gatherers/dobetterweb/optimized-images.d.ts +61 -0
  285. package/core/gather/gatherers/dobetterweb/password-inputs-with-prevented-paste.d.ts +10 -0
  286. package/core/gather/gatherers/dobetterweb/response-compression.d.ts +30 -0
  287. package/core/gather/gatherers/dobetterweb/tags-blocking-first-paint.d.ts +53 -0
  288. package/core/gather/gatherers/full-page-screenshot.d.ts +35 -0
  289. package/core/gather/gatherers/gatherer.d.ts +46 -0
  290. package/core/gather/gatherers/global-listeners.d.ts +27 -0
  291. package/core/gather/gatherers/iframe-elements.d.ts +11 -0
  292. package/core/gather/gatherers/image-elements.d.ts +35 -0
  293. package/core/gather/gatherers/inputs.d.ts +10 -0
  294. package/core/gather/gatherers/inspector-issues.d.ts +38 -0
  295. package/core/gather/gatherers/installability-errors.d.ts +17 -0
  296. package/core/gather/gatherers/js-usage.d.ts +22 -0
  297. package/core/gather/gatherers/link-elements.d.ts +39 -0
  298. package/core/gather/gatherers/main-document-content.d.ts +27 -0
  299. package/core/gather/gatherers/meta-elements.d.ts +10 -0
  300. package/core/gather/gatherers/network-user-agent.d.ts +18 -0
  301. package/core/gather/gatherers/script-elements.d.ts +26 -0
  302. package/core/gather/gatherers/scripts.d.ts +27 -0
  303. package/core/gather/gatherers/seo/embedded-content.d.ts +10 -0
  304. package/core/gather/gatherers/seo/font-size.d.ts +131 -0
  305. package/core/gather/gatherers/seo/robots-txt.d.ts +10 -0
  306. package/core/gather/gatherers/seo/tap-targets.d.ts +21 -0
  307. package/core/gather/gatherers/service-worker.d.ts +16 -0
  308. package/core/gather/gatherers/source-maps.d.ts +50 -0
  309. package/core/gather/gatherers/stacks.d.ts +38 -0
  310. package/core/gather/gatherers/trace-compat.d.ts +13 -0
  311. package/core/gather/gatherers/trace-elements.d.ts +83 -0
  312. package/core/gather/gatherers/trace.d.ts +23 -0
  313. package/core/gather/gatherers/viewport-dimensions.d.ts +10 -0
  314. package/core/gather/gatherers/web-app-manifest.d.ts +32 -0
  315. package/core/gather/navigation-runner.d.ts +92 -0
  316. package/core/gather/runner-helpers.d.ts +39 -0
  317. package/core/gather/session.d.ts +50 -0
  318. package/core/gather/snapshot-runner.d.ts +10 -0
  319. package/core/gather/timespan-runner.d.ts +12 -0
  320. package/core/index.d.cts +4 -0
  321. package/core/index.d.ts +88 -0
  322. package/core/index.js +2 -0
  323. package/core/legacy/config/config.d.ts +107 -0
  324. package/core/legacy/config/legacy-default-config.d.ts +4 -0
  325. package/core/legacy/gather/connections/connection.d.ts +75 -0
  326. package/core/legacy/gather/connections/connection.js +1 -0
  327. package/core/legacy/gather/connections/cri.d.ts +27 -0
  328. package/core/legacy/gather/connections/raw.d.ts +20 -0
  329. package/core/legacy/gather/driver.d.ts +214 -0
  330. package/core/legacy/gather/driver.js +1 -0
  331. package/core/legacy/gather/gather-runner.d.ts +166 -0
  332. package/core/lib/arbitrary-equality-map.d.ts +47 -0
  333. package/core/lib/asset-saver.d.ts +101 -0
  334. package/core/lib/axe.d.ts +2 -0
  335. package/core/lib/bf-cache-strings.d.ts +121 -0
  336. package/core/lib/cdt/Common.d.ts +3 -0
  337. package/core/lib/cdt/Platform.d.ts +26 -0
  338. package/core/lib/cdt/SDK.d.ts +2 -0
  339. package/core/lib/cdt/generated/ParsedURL.d.ts +28 -0
  340. package/core/lib/cdt/generated/SourceMap.d.ts +100 -0
  341. package/core/lib/csp-evaluator.d.ts +41 -0
  342. package/core/lib/dependency-graph/base-node.d.ts +161 -0
  343. package/core/lib/dependency-graph/cpu-node.d.ts +34 -0
  344. package/core/lib/dependency-graph/cpu-node.js +1 -0
  345. package/core/lib/dependency-graph/network-node.d.ts +43 -0
  346. package/core/lib/dependency-graph/network-node.js +1 -0
  347. package/core/lib/dependency-graph/simulator/connection-pool.d.ts +58 -0
  348. package/core/lib/dependency-graph/simulator/connection-pool.js +1 -0
  349. package/core/lib/dependency-graph/simulator/dns-cache.d.ts +42 -0
  350. package/core/lib/dependency-graph/simulator/dns-cache.js +2 -0
  351. package/core/lib/dependency-graph/simulator/network-analyzer.d.ts +166 -0
  352. package/core/lib/dependency-graph/simulator/simulator-timing-map.d.ts +153 -0
  353. package/core/lib/dependency-graph/simulator/simulator-timing-map.js +2 -2
  354. package/core/lib/dependency-graph/simulator/simulator.d.ts +154 -0
  355. package/core/lib/dependency-graph/simulator/simulator.js +3 -2
  356. package/core/lib/dependency-graph/simulator/tcp-connection.d.ts +89 -0
  357. package/core/lib/deprecations-strings.d.ts +66 -0
  358. package/core/lib/emulation.d.ts +43 -0
  359. package/core/lib/i18n/i18n.d.ts +81 -0
  360. package/core/lib/icons.d.ts +22 -0
  361. package/core/lib/lantern-trace-saver.d.ts +20 -0
  362. package/core/lib/lh-env.d.ts +2 -0
  363. package/core/lib/lh-error.d.ts +328 -0
  364. package/core/lib/lh-trace-processor.d.ts +5 -0
  365. package/core/lib/manifest-parser.d.ts +186 -0
  366. package/core/lib/median-run.d.ts +17 -0
  367. package/core/lib/minification-estimator.d.ts +9 -0
  368. package/core/lib/minify-devtoolslog.d.ts +6 -0
  369. package/core/lib/minify-trace.d.ts +6 -0
  370. package/core/lib/navigation-error.d.ts +39 -0
  371. package/core/lib/network-recorder.d.ts +115 -0
  372. package/core/lib/network-request.d.ts +245 -0
  373. package/core/lib/network-request.js +1 -0
  374. package/core/lib/page-functions.d.ts +149 -0
  375. package/core/lib/proto-preprocessor.d.ts +13 -0
  376. package/core/lib/rect-helpers.d.ts +100 -0
  377. package/core/lib/script-helpers.d.ts +17 -0
  378. package/core/lib/sentry.d.ts +32 -0
  379. package/core/lib/stack-packs.d.ts +16 -0
  380. package/core/lib/statistics.d.ts +28 -0
  381. package/core/lib/tappable-rects.d.ts +8 -0
  382. package/core/lib/third-party-web.d.ts +32 -0
  383. package/core/lib/timing-trace-saver.d.ts +21 -0
  384. package/core/lib/tracehouse/cpu-profile-model.d.ts +228 -0
  385. package/core/lib/tracehouse/main-thread-tasks.d.ts +162 -0
  386. package/core/lib/tracehouse/main-thread-tasks.js +1 -0
  387. package/core/lib/tracehouse/task-groups.d.ts +66 -0
  388. package/core/lib/tracehouse/task-summary.d.ts +18 -0
  389. package/core/lib/tracehouse/trace-processor.d.ts +275 -0
  390. package/core/lib/traces/metric-trace-events.d.ts +65 -0
  391. package/core/lib/url-utils.d.ts +100 -0
  392. package/core/runner.d.ts +109 -0
  393. package/core/scoring.d.ts +26 -0
  394. package/core/user-flow.d.ts +106 -0
  395. package/core/user-flow.js +1 -0
  396. package/core/util.d.cts +230 -0
  397. package/eslint-local-rules.d.cts +6 -0
  398. package/esm-utils.d.ts +14 -0
  399. package/flow-report/api.d.ts +7 -0
  400. package/flow-report/clients/standalone.d.ts +7 -0
  401. package/flow-report/src/app.d.ts +11 -0
  402. package/flow-report/src/common.d.ts +20 -0
  403. package/flow-report/src/header.d.ts +10 -0
  404. package/flow-report/src/help-dialog.d.ts +10 -0
  405. package/flow-report/src/i18n/i18n.d.ts +209 -0
  406. package/flow-report/src/i18n/localized-strings.d.ts +9 -0
  407. package/flow-report/src/i18n/ui-strings.d.ts +48 -0
  408. package/flow-report/src/icons.d.ts +18 -0
  409. package/flow-report/src/sidebar/flow.d.ts +8 -0
  410. package/flow-report/src/sidebar/sidebar.d.ts +17 -0
  411. package/flow-report/src/summary/category.d.ts +19 -0
  412. package/flow-report/src/summary/summary.d.ts +18 -0
  413. package/flow-report/src/topbar.d.ts +15 -0
  414. package/flow-report/src/util.d.ts +30 -0
  415. package/flow-report/src/wrappers/category-score.d.ts +12 -0
  416. package/flow-report/src/wrappers/markdown.d.ts +10 -0
  417. package/flow-report/src/wrappers/report.d.ts +10 -0
  418. package/flow-report/src/wrappers/styles.d.ts +8 -0
  419. package/flow-report/test/app-test.d.ts +7 -0
  420. package/flow-report/test/common-test.d.ts +7 -0
  421. package/flow-report/test/flow-report-pptr-test.d.ts +7 -0
  422. package/flow-report/test/header-test.d.ts +7 -0
  423. package/flow-report/test/sample-flow.d.ts +7 -0
  424. package/flow-report/test/setup/env-setup.d.ts +11 -0
  425. package/flow-report/test/sidebar/flow-test.d.ts +7 -0
  426. package/flow-report/test/sidebar/sidebar-test.d.ts +7 -0
  427. package/flow-report/test/summary/category-test.d.ts +7 -0
  428. package/flow-report/test/summary/summary-test.d.ts +7 -0
  429. package/flow-report/test/topbar-test.d.ts +7 -0
  430. package/flow-report/test/util-test.d.ts +7 -0
  431. package/flow-report/test/wrappers/category-score-test.d.ts +7 -0
  432. package/flow-report/test/wrappers/markdown-test.d.ts +7 -0
  433. package/flow-report/tsconfig.json +1 -1
  434. package/package.json +5 -2
  435. package/report/clients/bundle.d.ts +6 -0
  436. package/report/clients/standalone.d.ts +2 -0
  437. package/report/generator/file-namer.d.ts +35 -0
  438. package/report/generator/flow-report-assets.d.ts +9 -0
  439. package/report/generator/report-assets.d.ts +8 -0
  440. package/report/generator/report-generator.d.ts +59 -0
  441. package/report/renderer/api.d.ts +31 -0
  442. package/report/renderer/category-renderer.d.ts +176 -0
  443. package/report/renderer/components.d.ts +10 -0
  444. package/report/renderer/crc-details-renderer.d.ts +73 -0
  445. package/report/renderer/details-renderer.d.ts +141 -0
  446. package/report/renderer/dom.d.ts +125 -0
  447. package/report/renderer/drop-down-menu.d.ts +70 -0
  448. package/report/renderer/element-screenshot-renderer.d.ts +79 -0
  449. package/report/renderer/features-util.d.ts +13 -0
  450. package/report/renderer/i18n.d.ts +106 -0
  451. package/report/renderer/logger.d.ts +47 -0
  452. package/report/renderer/open-tab.d.ts +19 -0
  453. package/report/renderer/performance-category-renderer.d.ts +56 -0
  454. package/report/renderer/pwa-category-renderer.d.ts +55 -0
  455. package/report/renderer/report-renderer.d.ts +57 -0
  456. package/report/renderer/report-ui-features.d.ts +71 -0
  457. package/report/renderer/snippet-renderer.d.ts +85 -0
  458. package/report/renderer/swap-locale-feature.d.ts +31 -0
  459. package/report/renderer/text-encoding.d.ts +26 -0
  460. package/report/renderer/topbar-features.d.ts +82 -0
  461. package/report/renderer/util.d.ts +230 -0
  462. package/report/test-assets/faux-psi.d.ts +34 -0
  463. package/report/types/augment-dom.d.ts +1 -1
  464. package/root.d.ts +3 -0
  465. package/shared/localization/format.d.ts +106 -0
  466. package/shared/localization/i18n-module.d.ts +4 -0
  467. package/shared/localization/locales.d.ts +7 -0
  468. package/shared/localization/swap-flow-locale.d.ts +6 -0
  469. package/shared/localization/swap-locale.d.ts +39 -0
  470. package/shared/type-verifiers.d.ts +23 -0
  471. package/third-party/axe/valid-langs.d.ts +9 -0
  472. package/types/artifacts.d.ts +40 -38
  473. package/types/audit.d.ts +6 -6
  474. package/types/config.d.ts +3 -3
  475. package/types/externs.d.ts +7 -3
  476. package/types/gatherer.d.ts +27 -21
  477. package/types/{cssstyle/index.d.ts → internal/cssstyle.d.ts} +0 -0
  478. package/types/{enquirer.d.ts → internal/enquirer.d.ts} +0 -0
  479. package/types/{es-main.d.ts → internal/es-main.d.ts} +0 -0
  480. package/types/internal/global.d.ts +15 -0
  481. package/types/{http-link-header/index.d.ts → internal/http-link-header.d.ts} +0 -0
  482. package/types/{jsonlint-mod.d.ts → internal/jsonlint-mod.d.ts} +0 -0
  483. package/types/{lighthouse-logger/index.d.ts → internal/lighthouse-logger.d.ts} +0 -0
  484. package/types/{lookup-closest-locale/index.d.ts → internal/lookup-closest-locale.d.ts} +3 -1
  485. package/types/{metaviewport-parser/index.d.ts → internal/metaviewport-parser.d.ts} +0 -0
  486. package/types/{node-fetch.d.ts → internal/node-fetch.d.ts} +0 -0
  487. package/types/{node.d.ts → internal/node.d.ts} +0 -0
  488. package/types/{parse-cache-control/index.d.ts → internal/parse-cache-control.d.ts} +0 -0
  489. package/types/{pretty-json-stringify/index.d.ts → internal/pretty-json-stringify.d.ts} +0 -0
  490. package/types/{query-selector.d.ts → internal/query-selector.d.ts} +1 -1
  491. package/types/{rollup-plugin-postprocess.d.ts → internal/rollup-plugin-postprocess.d.ts} +0 -0
  492. package/types/{smokehouse.d.ts → internal/smokehouse.d.ts} +3 -3
  493. package/types/{test.d.ts → internal/test.d.ts} +0 -0
  494. package/types/lh.d.ts +81 -0
  495. package/types/lh.js +13 -0
  496. package/types/lhr/audit-details.d.ts +2 -2
  497. package/types/lhr/audit-result.d.ts +2 -2
  498. package/types/lhr/flow-result.d.ts +1 -1
  499. package/types/lhr/lhr.d.ts +2 -2
  500. package/types/lhr/settings.d.ts +1 -1
  501. package/types/lhr/treemap.d.ts +2 -2
  502. package/types/protocol.d.ts +8 -3
  503. package/types/puppeteer.d.ts +11 -6
  504. package/types/user-flow.d.ts +14 -5
  505. package/types/global-lh.d.ts +0 -85
@@ -0,0 +1,66 @@
1
+ export type TaskGroupIds = 'parseHTML' | 'styleLayout' | 'paintCompositeRender' | 'scriptParseCompile' | 'scriptEvaluation' | 'garbageCollection' | 'other';
2
+ export type TaskGroup = {
3
+ id: TaskGroupIds;
4
+ label: string;
5
+ traceEventNames: string[];
6
+ };
7
+ /**
8
+ * @license Copyright 2017 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
+ /** @typedef {'parseHTML'|'styleLayout'|'paintCompositeRender'|'scriptParseCompile'|'scriptEvaluation'|'garbageCollection'|'other'} TaskGroupIds */
13
+ /**
14
+ * @typedef TaskGroup
15
+ * @property {TaskGroupIds} id
16
+ * @property {string} label
17
+ * @property {string[]} traceEventNames
18
+ */
19
+ /**
20
+ * Make sure the traceEventNames keep up with the ones in DevTools
21
+ * @see https://cs.chromium.org/chromium/src/third_party/blink/renderer/devtools/front_end/timeline_model/TimelineModel.js?type=cs&q=TimelineModel.TimelineModel.RecordType+%3D&g=0&l=1156
22
+ * @see https://cs.chromium.org/chromium/src/third_party/blink/renderer/devtools/front_end/timeline/TimelineUIUtils.js?type=cs&q=_initEventStyles+-f:out+f:devtools&sq=package:chromium&g=0&l=39
23
+ * @type {{[P in TaskGroupIds]: {id: P, label: string, traceEventNames: Array<string>}}}
24
+ */
25
+ export const taskGroups: {
26
+ other: {
27
+ id: "other";
28
+ label: string;
29
+ traceEventNames: Array<string>;
30
+ };
31
+ parseHTML: {
32
+ id: "parseHTML";
33
+ label: string;
34
+ traceEventNames: Array<string>;
35
+ };
36
+ styleLayout: {
37
+ id: "styleLayout";
38
+ label: string;
39
+ traceEventNames: Array<string>;
40
+ };
41
+ paintCompositeRender: {
42
+ id: "paintCompositeRender";
43
+ label: string;
44
+ traceEventNames: Array<string>;
45
+ };
46
+ scriptParseCompile: {
47
+ id: "scriptParseCompile";
48
+ label: string;
49
+ traceEventNames: Array<string>;
50
+ };
51
+ scriptEvaluation: {
52
+ id: "scriptEvaluation";
53
+ label: string;
54
+ traceEventNames: Array<string>;
55
+ };
56
+ garbageCollection: {
57
+ id: "garbageCollection";
58
+ label: string;
59
+ traceEventNames: Array<string>;
60
+ };
61
+ };
62
+ /** @type {Object<string, TaskGroup>} */
63
+ export const taskNameToGroup: {
64
+ [x: string]: TaskGroup;
65
+ };
66
+ //# sourceMappingURL=task-groups.d.ts.map
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @param {LH.Artifacts.NetworkRequest[]} records
3
+ */
4
+ export function getJavaScriptURLs(records: LH.Artifacts.NetworkRequest[]): Set<string>;
5
+ /**
6
+ * @param {LH.Artifacts.TaskNode} task
7
+ * @param {Set<string>} jsURLs
8
+ * @return {string}
9
+ */
10
+ export function getAttributableURLForTask(task: LH.Artifacts.TaskNode, jsURLs: Set<string>): string;
11
+ /**
12
+ * @param {LH.Artifacts.TaskNode[]} tasks
13
+ * @param {Array<LH.Artifacts.NetworkRequest>} networkRecords
14
+ * @return {Map<string, Record<string, number>>}
15
+ */
16
+ export function getExecutionTimingsByURL(tasks: LH.Artifacts.TaskNode[], networkRecords: Array<LH.Artifacts.NetworkRequest>): Map<string, Record<string, number>>;
17
+ import { NetworkRequest } from "../network-request.js";
18
+ //# sourceMappingURL=task-summary.d.ts.map
@@ -0,0 +1,275 @@
1
+ export type TraceNavigationTimesForFrame = Omit<LH.Artifacts.NavigationTraceTimes, 'firstContentfulPaintAllFrames' | 'traceEnd'>;
2
+ export type TimeOriginDeterminationMethod = 'lastNavigationStart' | 'firstResourceSendRequest' | 'lighthouseMarker' | 'auto';
3
+ export type FrameCommittedEvent = Omit<LH.TraceEvent, 'name' | 'args'> & {
4
+ name: 'FrameCommittedInBrowser';
5
+ args: {
6
+ data: {
7
+ frame: string;
8
+ url: string;
9
+ parent?: string;
10
+ };
11
+ };
12
+ };
13
+ export type LCPEvent = Omit<LH.TraceEvent, 'name' | 'args'> & {
14
+ name: 'largestContentfulPaint::Invalidate' | 'largestContentfulPaint::Candidate';
15
+ args: {
16
+ data?: {
17
+ size?: number;
18
+ };
19
+ frame: string;
20
+ };
21
+ };
22
+ export type LCPCandidateEvent = Omit<LH.TraceEvent, 'name' | 'args'> & {
23
+ name: 'largestContentfulPaint::Candidate';
24
+ args: {
25
+ data: {
26
+ size: number;
27
+ };
28
+ frame: string;
29
+ };
30
+ };
31
+ export type ToplevelEvent = {
32
+ start: number;
33
+ end: number;
34
+ duration: number;
35
+ };
36
+ export class TraceProcessor {
37
+ static get TIMESPAN_MARKER_ID(): string;
38
+ /**
39
+ * @return {Error}
40
+ */
41
+ static createNoNavstartError(): Error;
42
+ /**
43
+ * @return {Error}
44
+ */
45
+ static createNoResourceSendRequestError(): Error;
46
+ /**
47
+ * @return {Error}
48
+ */
49
+ static createNoTracingStartedError(): Error;
50
+ /**
51
+ * @return {Error}
52
+ */
53
+ static createNoFirstContentfulPaintError(): Error;
54
+ /**
55
+ * @return {Error}
56
+ */
57
+ static createNoLighthouseMarkerError(): Error;
58
+ /**
59
+ * Returns true if the event is a navigation start event of a document whose URL seems valid.
60
+ *
61
+ * @param {LH.TraceEvent} event
62
+ * @return {boolean}
63
+ */
64
+ static _isNavigationStartOfInterest(event: LH.TraceEvent): boolean;
65
+ /**
66
+ * This method sorts a group of trace events that have the same timestamp. We want to...
67
+ *
68
+ * 1. Put E events first, we finish off our existing events before we start new ones.
69
+ * 2. Order B/X events by their duration, we want parents to start before child events.
70
+ * 3. If we don't have any of this to go on, just use the position in the original array (stable sort).
71
+ *
72
+ * Note that the typical group size with the same timestamp will be quite small (<10 or so events),
73
+ * and the number of groups typically ~1% of total trace, so the same ultra-performance-sensitive consideration
74
+ * given to functions that run on entire traces does not necessarily apply here.
75
+ *
76
+ * @param {number[]} tsGroupIndices
77
+ * @param {number[]} timestampSortedIndices
78
+ * @param {number} indexOfTsGroupIndicesStart
79
+ * @param {LH.TraceEvent[]} traceEvents
80
+ * @return {number[]}
81
+ */
82
+ static _sortTimestampEventGroup(tsGroupIndices: number[], timestampSortedIndices: number[], indexOfTsGroupIndicesStart: number, traceEvents: LH.TraceEvent[]): number[];
83
+ /**
84
+ * Sorts and filters trace events by timestamp and respecting the nesting structure inherent to
85
+ * parent/child event relationships.
86
+ *
87
+ * @param {LH.TraceEvent[]} traceEvents
88
+ * @param {(e: LH.TraceEvent) => boolean} filter
89
+ */
90
+ static filteredTraceSort(traceEvents: LH.TraceEvent[], filter: (e: LH.TraceEvent) => boolean): import("../..").TraceEvent[];
91
+ /**
92
+ * There should *always* be at least one top level event, having 0 typically means something is
93
+ * drastically wrong with the trace and we should just give up early and loudly.
94
+ *
95
+ * @param {LH.TraceEvent[]} events
96
+ */
97
+ static assertHasToplevelEvents(events: LH.TraceEvent[]): void;
98
+ /**
99
+ * Calculate duration at specified percentiles for given population of
100
+ * durations.
101
+ * If one of the durations overlaps the end of the window, the full
102
+ * duration should be in the duration array, but the length not included
103
+ * within the window should be given as `clippedLength`. For instance, if a
104
+ * 50ms duration occurs 10ms before the end of the window, `50` should be in
105
+ * the `durations` array, and `clippedLength` should be set to 40.
106
+ * @see https://docs.google.com/document/d/1b9slyaB9yho91YTOkAQfpCdULFkZM9LqsipcX3t7He8/preview
107
+ * @param {!Array<number>} durations Array of durations, sorted in ascending order.
108
+ * @param {number} totalTime Total time (in ms) of interval containing durations.
109
+ * @param {!Array<number>} percentiles Array of percentiles of interest, in ascending order.
110
+ * @param {number=} clippedLength Optional length clipped from a duration overlapping end of window. Default of 0.
111
+ * @return {!Array<{percentile: number, time: number}>}
112
+ * @private
113
+ */
114
+ private static _riskPercentiles;
115
+ /**
116
+ * Calculates the maximum queueing time (in ms) of high priority tasks for
117
+ * selected percentiles within a window of the main thread.
118
+ * @see https://docs.google.com/document/d/1b9slyaB9yho91YTOkAQfpCdULFkZM9LqsipcX3t7He8/preview
119
+ * @param {Array<ToplevelEvent>} events
120
+ * @param {number} startTime Start time (in ms relative to timeOrigin) of range of interest.
121
+ * @param {number} endTime End time (in ms relative to timeOrigin) of range of interest.
122
+ * @param {!Array<number>=} percentiles Optional array of percentiles to compute. Defaults to [0.5, 0.75, 0.9, 0.99, 1].
123
+ * @return {!Array<{percentile: number, time: number}>}
124
+ */
125
+ static getRiskToResponsiveness(events: Array<ToplevelEvent>, startTime: number, endTime: number, percentiles?: Array<number> | undefined): Array<{
126
+ percentile: number;
127
+ time: number;
128
+ }>;
129
+ /**
130
+ * Provides durations in ms of all main thread top-level events
131
+ * @param {Array<ToplevelEvent>} topLevelEvents
132
+ * @param {number} startTime Optional start time (in ms relative to timeOrigin) of range of interest. Defaults to 0.
133
+ * @param {number} endTime Optional end time (in ms relative to timeOrigin) of range of interest. Defaults to trace end.
134
+ * @return {{durations: Array<number>, clippedLength: number}}
135
+ */
136
+ static getMainThreadTopLevelEventDurations(topLevelEvents: Array<ToplevelEvent>, startTime?: number, endTime?: number): {
137
+ durations: Array<number>;
138
+ clippedLength: number;
139
+ };
140
+ /**
141
+ * Provides the top level events on the main thread with timestamps in ms relative to timeOrigin.
142
+ * start.
143
+ * @param {LH.Artifacts.ProcessedTrace} trace
144
+ * @param {number=} startTime Optional start time (in ms relative to timeOrigin) of range of interest. Defaults to 0.
145
+ * @param {number=} endTime Optional end time (in ms relative to timeOrigin) of range of interest. Defaults to trace end.
146
+ * @return {Array<ToplevelEvent>}
147
+ */
148
+ static getMainThreadTopLevelEvents(trace: LH.Artifacts.ProcessedTrace, startTime?: number | undefined, endTime?: number | undefined): Array<ToplevelEvent>;
149
+ /**
150
+ * @param {LH.TraceEvent[]} events
151
+ * @return {{pid: number, tid: number, frameId: string}}
152
+ */
153
+ static findMainFrameIds(events: LH.TraceEvent[]): {
154
+ pid: number;
155
+ tid: number;
156
+ frameId: string;
157
+ };
158
+ /**
159
+ * @param {LH.TraceEvent} evt
160
+ * @return {boolean}
161
+ */
162
+ static isScheduleableTask(evt: LH.TraceEvent): boolean;
163
+ /**
164
+ * @param {LH.TraceEvent} evt
165
+ * @return {evt is LCPEvent}
166
+ */
167
+ static isLCPEvent(evt: LH.TraceEvent): evt is LCPEvent;
168
+ /**
169
+ * @param {LH.TraceEvent} evt
170
+ * @return {evt is LCPCandidateEvent}
171
+ */
172
+ static isLCPCandidateEvent(evt: LH.TraceEvent): evt is LCPCandidateEvent;
173
+ /**
174
+ * Returns the maximum LCP event across all frames in `events`.
175
+ * Sets `invalidated` flag if LCP of every frame is invalidated.
176
+ *
177
+ * LCP's trace event was first introduced in m78. We can't surface an LCP for older Chrome versions.
178
+ * LCP comes from a frame's latest `largestContentfulPaint::Candidate`, but it can be invalidated by a `largestContentfulPaint::Invalidate` event.
179
+ *
180
+ * @param {LH.TraceEvent[]} events
181
+ * @param {LH.TraceEvent} timeOriginEvent
182
+ * @return {{lcp: LCPEvent | undefined, invalidated: boolean}}
183
+ */
184
+ static computeValidLCPAllFrames(events: LH.TraceEvent[], timeOriginEvent: LH.TraceEvent): {
185
+ lcp: LCPEvent | undefined;
186
+ invalidated: boolean;
187
+ };
188
+ /**
189
+ * @param {Array<{id: string, url: string, parent?: string}>} frames
190
+ * @return {Map<string, string>}
191
+ */
192
+ static resolveRootFrames(frames: Array<{
193
+ id: string;
194
+ url: string;
195
+ parent?: string;
196
+ }>): Map<string, string>;
197
+ /**
198
+ * Finds key trace events, identifies main process/thread, and returns timings of trace events
199
+ * in milliseconds since the time origin in addition to the standard microsecond monotonic timestamps.
200
+ * @param {LH.Trace} trace
201
+ * @param {{timeOriginDeterminationMethod?: TimeOriginDeterminationMethod}} [options]
202
+ * @return {LH.Artifacts.ProcessedTrace}
203
+ */
204
+ static processTrace(trace: LH.Trace, options?: {
205
+ timeOriginDeterminationMethod?: TimeOriginDeterminationMethod | undefined;
206
+ } | undefined): LH.Artifacts.ProcessedTrace;
207
+ /**
208
+ * Finds key navigation trace events and computes timings of events in milliseconds since the time
209
+ * origin in addition to the standard microsecond monotonic timestamps.
210
+ * @param {LH.Artifacts.ProcessedTrace} processedTrace
211
+ * @return {LH.Artifacts.ProcessedNavigation}
212
+ */
213
+ static processNavigation(processedTrace: LH.Artifacts.ProcessedTrace): LH.Artifacts.ProcessedNavigation;
214
+ /**
215
+ * Computes the last observable timestamp in a set of trace events.
216
+ *
217
+ * @param {Array<LH.TraceEvent>} events
218
+ * @param {LH.TraceEvent} timeOriginEvt
219
+ * @return {{timing: number, timestamp: number}}
220
+ */
221
+ static computeTraceEnd(events: Array<LH.TraceEvent>, timeOriginEvt: LH.TraceEvent): {
222
+ timing: number;
223
+ timestamp: number;
224
+ };
225
+ /**
226
+ * Computes the time origin using the specified method.
227
+ *
228
+ * - firstResourceSendRequest
229
+ * Uses the time that the very first network request is sent in the main frame.
230
+ * Eventually should be used in place of lastNavigationStart as the default for navigations.
231
+ * This method includes the cost of all redirects when evaluating a navigation (which matches lantern behavior).
232
+ * The only difference between firstResourceSendRequest and the first `navigationStart` is
233
+ * the unload time of `about:blank` (which is a Lighthouse implementation detail and shouldn't be included).
234
+ *
235
+ * - lastNavigationStart
236
+ * Uses the time of the last `navigationStart` event in the main frame.
237
+ * The historical time origin of Lighthouse from 2016-Present.
238
+ * This method excludes the cost of client-side redirects when evaluating a navigation.
239
+ * Can also be skewed by several hundred milliseconds or even seconds when the browser takes a long
240
+ * time to unload `about:blank`.
241
+ *
242
+ * @param {{keyEvents: Array<LH.TraceEvent>, frameEvents: Array<LH.TraceEvent>, mainFrameIds: {frameId: string}}} traceEventSubsets
243
+ * @param {TimeOriginDeterminationMethod} method
244
+ * @return {LH.TraceEvent}
245
+ */
246
+ static computeTimeOrigin(traceEventSubsets: {
247
+ keyEvents: Array<LH.TraceEvent>;
248
+ frameEvents: Array<LH.TraceEvent>;
249
+ mainFrameIds: {
250
+ frameId: string;
251
+ };
252
+ }, method: TimeOriginDeterminationMethod): LH.TraceEvent;
253
+ /**
254
+ * Computes timings of trace events of key trace events in milliseconds since the time origin
255
+ * in addition to the standard microsecond monotonic timestamps.
256
+ * @param {Array<LH.TraceEvent>} frameEvents
257
+ * @param {{timeOriginEvt: LH.TraceEvent}} options
258
+ */
259
+ static computeNavigationTimingsForFrame(frameEvents: Array<LH.TraceEvent>, options: {
260
+ timeOriginEvt: LH.TraceEvent;
261
+ }): {
262
+ timings: TraceNavigationTimesForFrame;
263
+ timestamps: TraceNavigationTimesForFrame;
264
+ timeOriginEvt: import("../..").TraceEvent;
265
+ firstPaintEvt: import("../..").TraceEvent | undefined;
266
+ firstContentfulPaintEvt: import("../..").TraceEvent;
267
+ firstMeaningfulPaintEvt: import("../..").TraceEvent | undefined;
268
+ largestContentfulPaintEvt: LCPEvent | undefined;
269
+ loadEvt: import("../..").TraceEvent | undefined;
270
+ domContentLoadedEvt: import("../..").TraceEvent | undefined;
271
+ fmpFellBack: boolean;
272
+ lcpInvalidated: boolean;
273
+ };
274
+ }
275
+ //# sourceMappingURL=trace-processor.d.ts.map
@@ -0,0 +1,65 @@
1
+ export class MetricTraceEvents {
2
+ /**
3
+ * Returns simplified representation of all metrics
4
+ * @return {Array<{id: string, name: string, tsKey: keyof LH.Artifacts.TimingSummary}>} metrics to consider
5
+ */
6
+ static get metricsDefinitions(): {
7
+ id: string;
8
+ name: string;
9
+ tsKey: keyof LH.Artifacts.TimingSummary;
10
+ }[];
11
+ /**
12
+ * @param {Array<LH.TraceEvent>} traceEvents
13
+ * @param {LH.Result['audits']} auditResults
14
+ */
15
+ constructor(traceEvents: Array<LH.TraceEvent>, auditResults: LH.Result['audits']);
16
+ _traceEvents: import("../../index.js").TraceEvent[];
17
+ _auditResults: Record<string, import("../../../types/lhr/audit-result.js").Result>;
18
+ /**
19
+ * Returns simplified representation of all metrics' timestamps from monotonic clock
20
+ * @return {Array<{ts: number, id: string, name: string}>} metrics to consider
21
+ */
22
+ gatherMetrics(): Array<{
23
+ ts: number;
24
+ id: string;
25
+ name: string;
26
+ }>;
27
+ /**
28
+ * Get the trace event data for our timeOrigin
29
+ * @param {Array<{ts: number, id: string, name: string}>} metrics
30
+ * @return {{pid: number, tid: number, ts: number} | {errorMessage: string}}
31
+ */
32
+ getTimeOriginEvt(metrics: Array<{
33
+ ts: number;
34
+ id: string;
35
+ name: string;
36
+ }>): {
37
+ pid: number;
38
+ tid: number;
39
+ ts: number;
40
+ } | {
41
+ errorMessage: string;
42
+ };
43
+ /**
44
+ * Constructs performance.measure trace events, which have start/end events as follows:
45
+ * { "pid": 89922,"tid":1295,"ts":77176783452,"ph":"b","cat":"blink.user_timing","name":"innermeasure","args":{},"tts":1257886,"id":"0xe66c67"}
46
+ * { "pid": 89922,"tid":1295,"ts":77176882592,"ph":"e","cat":"blink.user_timing","name":"innermeasure","args":{},"tts":1257898,"id":"0xe66c67"}
47
+ * @param {{ts: number, id: string, name: string}} metric
48
+ * @param {{pid: number, tid: number, ts: number}} timeOriginEvt
49
+ * @return {Array<LH.TraceEvent>} Pair of trace events (start/end)
50
+ */
51
+ synthesizeEventPair(metric: {
52
+ ts: number;
53
+ id: string;
54
+ name: string;
55
+ }, timeOriginEvt: {
56
+ pid: number;
57
+ tid: number;
58
+ ts: number;
59
+ }): Array<LH.TraceEvent>;
60
+ /**
61
+ * @return {Array<LH.TraceEvent>} User timing raw trace event pairs
62
+ */
63
+ generateFakeEvents(): Array<LH.TraceEvent>;
64
+ }
65
+ //# sourceMappingURL=metric-trace-events.d.ts.map
@@ -0,0 +1,100 @@
1
+ export default UrlUtils;
2
+ export type NetworkRequest = import('./network-request.js').NetworkRequest;
3
+ declare class UrlUtils {
4
+ /**
5
+ * @param {string} url
6
+ * @return {boolean}
7
+ */
8
+ static isValid(url: string): boolean;
9
+ /**
10
+ * @param {string} urlA
11
+ * @param {string} urlB
12
+ * @return {boolean}
13
+ */
14
+ static hostsMatch(urlA: string, urlB: string): boolean;
15
+ /**
16
+ * @param {string} urlA
17
+ * @param {string} urlB
18
+ * @return {boolean}
19
+ */
20
+ static originsMatch(urlA: string, urlB: string): boolean;
21
+ /**
22
+ * @param {string} url
23
+ * @return {?string}
24
+ */
25
+ static getOrigin(url: string): string | null;
26
+ /**
27
+ * Check if rootDomains matches
28
+ *
29
+ * @param {string|URL} urlA
30
+ * @param {string|URL} urlB
31
+ */
32
+ static rootDomainsMatch(urlA: string | URL, urlB: string | URL): boolean;
33
+ /**
34
+ * @param {string} url
35
+ * @param {{numPathParts: number, preserveQuery: boolean, preserveHost: boolean}=} options
36
+ * @return {string}
37
+ */
38
+ static getURLDisplayName(url: string, options?: {
39
+ numPathParts: number;
40
+ preserveQuery: boolean;
41
+ preserveHost: boolean;
42
+ } | undefined): string;
43
+ /**
44
+ * Limits data URIs to 100 characters, returns all other strings untouched.
45
+ * @param {string} url
46
+ * @return {string}
47
+ */
48
+ static elideDataURI(url: string): string;
49
+ /**
50
+ * Determine if url1 equals url2, ignoring URL fragments.
51
+ * @param {string} url1
52
+ * @param {string} url2
53
+ * @return {boolean}
54
+ */
55
+ static equalWithExcludedFragments(url1: string, url2: string): boolean;
56
+ /**
57
+ * Determine if the url has a protocol that we're able to test
58
+ * @param {string} url
59
+ * @return {boolean}
60
+ */
61
+ static isProtocolAllowed(url: string): boolean;
62
+ /**
63
+ * Is the host localhost-enough to satisfy the "secure context" definition
64
+ * https://github.com/GoogleChrome/lighthouse/pull/11766#discussion_r582340683
65
+ * @param {string} hostname Either a `new URL(url).hostname` or a `networkRequest.parsedUrl.host`
66
+ * @return {boolean}
67
+ */
68
+ static isLikeLocalhost(hostname: string): boolean;
69
+ /**
70
+ * @param {NetworkRequest['parsedURL']['scheme']} scheme
71
+ * @return {boolean}
72
+ */
73
+ static isSecureScheme(scheme: NetworkRequest['parsedURL']['scheme']): boolean;
74
+ /**
75
+ * Use `NetworkRequest.isNonNetworkRequest(req)` if working with a request.
76
+ * Note: the `protocol` field from CDP can be 'h2', 'http', (not 'https'!) or it'll be url's scheme.
77
+ * https://source.chromium.org/chromium/chromium/src/+/main:content/browser/devtools/protocol/network_handler.cc;l=598-611;drc=56d4a9a9deb30be73adcee8737c73bcb2a5ab64f
78
+ * However, a `new URL(href).protocol` has a colon suffix.
79
+ * https://url.spec.whatwg.org/#dom-url-protocol
80
+ * A URL's `scheme` is specced as the `protocol` sans-colon, but isn't exposed on a URL object.
81
+ * This method can take all 3 of these string types as a parameter.
82
+ * @param {NetworkRequest['protocol'] | URL['protocol']} protocol Either a networkRequest's `protocol` per CDP or a `new URL(href).protocol`
83
+ * @return {boolean}
84
+ */
85
+ static isNonNetworkProtocol(protocol: NetworkRequest['protocol'] | URL['protocol']): boolean;
86
+ /**
87
+ * @param {string} src
88
+ * @return {string|undefined}
89
+ */
90
+ static guessMimeType(src: string): string | undefined;
91
+ /**
92
+ * @param {string|undefined} url
93
+ * @return {string}
94
+ */
95
+ static normalizeUrl(url: string | undefined): string;
96
+ }
97
+ declare namespace UrlUtils {
98
+ const INVALID_URL_DEBUG_STRING: string;
99
+ }
100
+ //# sourceMappingURL=url-utils.d.ts.map
@@ -0,0 +1,109 @@
1
+ export type Connection = import('./legacy/gather/connections/connection.js').Connection;
2
+ export type ArbitraryEqualityMap = import('./lib/arbitrary-equality-map.js').ArbitraryEqualityMap;
3
+ export type Config = LH.Config.LegacyResolvedConfig;
4
+ /** @typedef {import('./legacy/gather/connections/connection.js').Connection} Connection */
5
+ /** @typedef {import('./lib/arbitrary-equality-map.js').ArbitraryEqualityMap} ArbitraryEqualityMap */
6
+ /** @typedef {LH.Config.LegacyResolvedConfig} Config */
7
+ export class Runner {
8
+ /**
9
+ * @template {LH.Config.LegacyResolvedConfig | LH.Config.ResolvedConfig} TConfig
10
+ * @param {LH.Artifacts} artifacts
11
+ * @param {{resolvedConfig: TConfig, driverMock?: Driver, computedCache: Map<string, ArbitraryEqualityMap>}} options
12
+ * @return {Promise<LH.RunnerResult|undefined>}
13
+ */
14
+ static audit<TConfig extends import("../types/config.js").default.ResolvedConfig | import("../types/config.js").default.LegacyResolvedConfig>(artifacts: LH.Artifacts, options: {
15
+ resolvedConfig: TConfig;
16
+ driverMock?: Driver | undefined;
17
+ computedCache: Map<string, ArbitraryEqualityMap>;
18
+ }): Promise<LH.RunnerResult | undefined>;
19
+ /**
20
+ * User can run -G solo, -A solo, or -GA together
21
+ * -G and -A will run partial lighthouse pipelines,
22
+ * and -GA will run everything plus save artifacts and lhr to disk.
23
+ *
24
+ * @template {LH.Config.LegacyResolvedConfig | LH.Config.ResolvedConfig} TConfig
25
+ * @param {(runnerData: {resolvedConfig: TConfig, driverMock?: Driver}) => Promise<LH.Artifacts>} gatherFn
26
+ * @param {{resolvedConfig: TConfig, driverMock?: Driver, computedCache: Map<string, ArbitraryEqualityMap>}} options
27
+ * @return {Promise<LH.Artifacts>}
28
+ */
29
+ static gather<TConfig_1 extends import("../types/config.js").default.ResolvedConfig | import("../types/config.js").default.LegacyResolvedConfig>(gatherFn: (runnerData: {
30
+ resolvedConfig: TConfig_1;
31
+ driverMock?: Driver | undefined;
32
+ }) => Promise<LH.Artifacts>, options: {
33
+ resolvedConfig: TConfig_1;
34
+ driverMock?: Driver | undefined;
35
+ computedCache: Map<string, ArbitraryEqualityMap>;
36
+ }): Promise<LH.Artifacts>;
37
+ /**
38
+ * @param {any} err
39
+ * @param {LH.Config.Settings} settings
40
+ */
41
+ static createRunnerError(err: any, settings: LH.Config.Settings): any;
42
+ /**
43
+ * This handles both the auditMode case where gatherer entries need to be merged in and
44
+ * the gather/audit case where timingEntriesFromRunner contains all entries from this run,
45
+ * including those also in timingEntriesFromArtifacts.
46
+ * @param {LH.Artifacts} artifacts
47
+ * @return {LH.Result.Timing}
48
+ */
49
+ static _getTiming(artifacts: LH.Artifacts): LH.Result.Timing;
50
+ /**
51
+ * Establish connection, load page and collect all required artifacts
52
+ * @param {string} requestedUrl
53
+ * @param {{resolvedConfig: Config, computedCache: Map<string, ArbitraryEqualityMap>, driverMock?: Driver}} runnerOpts
54
+ * @param {Connection} connection
55
+ * @return {Promise<LH.Artifacts>}
56
+ */
57
+ static _gatherArtifactsFromBrowser(requestedUrl: string, runnerOpts: {
58
+ resolvedConfig: Config;
59
+ computedCache: Map<string, ArbitraryEqualityMap>;
60
+ driverMock?: Driver;
61
+ }, connection: Connection): Promise<LH.Artifacts>;
62
+ /**
63
+ * Run all audits with specified settings and artifacts.
64
+ * @param {LH.Config.Settings} settings
65
+ * @param {Array<LH.Config.AuditDefn>} audits
66
+ * @param {LH.Artifacts} artifacts
67
+ * @param {Array<string | LH.IcuMessage>} runWarnings
68
+ * @param {Map<string, ArbitraryEqualityMap>} computedCache
69
+ * @return {Promise<Record<string, LH.RawIcu<LH.Audit.Result>>>}
70
+ */
71
+ static _runAudits(settings: LH.Config.Settings, audits: Array<LH.Config.AuditDefn>, artifacts: LH.Artifacts, runWarnings: Array<string | LH.IcuMessage>, computedCache: Map<string, ArbitraryEqualityMap>): Promise<Record<string, LH.RawIcu<LH.Audit.Result>>>;
72
+ /**
73
+ * Checks that the audit's required artifacts exist and runs the audit if so.
74
+ * Otherwise returns error audit result.
75
+ * @param {LH.Config.AuditDefn} auditDefn
76
+ * @param {LH.Artifacts} artifacts
77
+ * @param {Pick<LH.Audit.Context, 'settings'|'computedCache'>} sharedAuditContext
78
+ * @param {Array<string | LH.IcuMessage>} runWarnings
79
+ * @return {Promise<LH.RawIcu<LH.Audit.Result>>}
80
+ * @private
81
+ */
82
+ private static _runAudit;
83
+ /**
84
+ * Searches a pass's artifacts for any `lhrRuntimeError` error artifacts.
85
+ * Returns the first one found or `null` if none found.
86
+ * @param {LH.Artifacts} artifacts
87
+ * @return {LH.RawIcu<LH.Result['runtimeError']>|undefined}
88
+ */
89
+ static getArtifactRuntimeError(artifacts: LH.Artifacts): LH.RawIcu<LH.Result['runtimeError']> | undefined;
90
+ /**
91
+ * Returns list of audit names for external querying.
92
+ * @return {Array<string>}
93
+ */
94
+ static getAuditList(): Array<string>;
95
+ /**
96
+ * Returns list of gatherer names for external querying.
97
+ * @return {Array<string>}
98
+ */
99
+ static getGathererList(): Array<string>;
100
+ /**
101
+ * Get path to use for -G and -A modes. Defaults to $CWD/latest-run
102
+ * @param {LH.Config.Settings} settings
103
+ * @return {string}
104
+ */
105
+ static _getDataSavePath(settings: LH.Config.Settings): string;
106
+ }
107
+ import { Driver } from "./legacy/gather/driver.js";
108
+ import { Audit } from "./audits/audit.js";
109
+ //# sourceMappingURL=runner.d.ts.map
@@ -0,0 +1,26 @@
1
+ export class ReportScoring {
2
+ /**
3
+ * Computes the weighted-average of the score of the list of items.
4
+ * @param {Array<{score: number|null, weight: number}>} items
5
+ * @return {number|null}
6
+ */
7
+ static arithmeticMean(items: Array<{
8
+ score: number | null;
9
+ weight: number;
10
+ }>): number | null;
11
+ /**
12
+ * Returns the report JSON object with computed scores.
13
+ * @param {Object<string, LH.Config.Category>} configCategories
14
+ * @param {Object<string, LH.RawIcu<LH.Audit.Result>>} resultsByAuditId
15
+ * @return {Object<string, LH.RawIcu<LH.Result.Category>>}
16
+ */
17
+ static scoreAllCategories(configCategories: {
18
+ [x: string]: LH.Config.Category;
19
+ }, resultsByAuditId: {
20
+ [x: string]: LH.RawIcu<LH.Audit.Result>;
21
+ }): {
22
+ [x: string]: LH.RawIcu<LH.Result.Category>;
23
+ };
24
+ }
25
+ import { Audit } from "./audits/audit.js";
26
+ //# sourceMappingURL=scoring.d.ts.map