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,83 @@
1
+ export default TraceElements;
2
+ export type TraceElementData = {
3
+ nodeId: number;
4
+ score?: number;
5
+ animations?: {
6
+ name?: string;
7
+ failureReasonsMask?: number;
8
+ unsupportedProperties?: string[];
9
+ }[];
10
+ type?: string;
11
+ };
12
+ declare class TraceElements extends FRGatherer {
13
+ /**
14
+ * @param {Array<number>} rect
15
+ * @return {LH.Artifacts.Rect}
16
+ */
17
+ static traceRectToLHRect(rect: Array<number>): LH.Artifacts.Rect;
18
+ /**
19
+ * This function finds the top (up to 5) elements that contribute to the CLS score of the page.
20
+ * Each layout shift event has a 'score' which is the amount added to the CLS as a result of the given shift(s).
21
+ * We calculate the score per element by taking the 'score' of each layout shift event and
22
+ * distributing it between all the nodes that were shifted, proportianal to the impact region of
23
+ * each shifted element.
24
+ * @param {Array<LH.TraceEvent>} mainThreadEvents
25
+ * @return {Array<TraceElementData>}
26
+ */
27
+ static getTopLayoutShiftElements(mainThreadEvents: Array<LH.TraceEvent>): Array<TraceElementData>;
28
+ /**
29
+ * @param {LH.Trace} trace
30
+ * @param {LH.Gatherer.FRTransitionalContext} context
31
+ * @return {Promise<TraceElementData|undefined>}
32
+ */
33
+ static getResponsivenessElement(trace: LH.Trace, context: LH.Gatherer.FRTransitionalContext): Promise<TraceElementData | undefined>;
34
+ /**
35
+ * @param {LH.Trace} trace
36
+ * @param {LH.Gatherer.FRTransitionalContext} context
37
+ * @return {Promise<{nodeId: number, type: string} | undefined>}
38
+ */
39
+ static getLcpElement(trace: LH.Trace, context: LH.Gatherer.FRTransitionalContext): Promise<{
40
+ nodeId: number;
41
+ type: string;
42
+ } | undefined>;
43
+ /** @type {LH.Gatherer.GathererMeta<'Trace'>} */
44
+ meta: LH.Gatherer.GathererMeta<'Trace'>;
45
+ /** @type {Map<string, string>} */
46
+ animationIdToName: Map<string, string>;
47
+ /** @param {LH.Crdp.Animation.AnimationStartedEvent} args */
48
+ _onAnimationStarted({ animation: { id, name } }: LH.Crdp.Animation.AnimationStartedEvent): void;
49
+ /**
50
+ * Find the node ids of elements which are animated using the Animation trace events.
51
+ * @param {Array<LH.TraceEvent>} mainThreadEvents
52
+ * @return {Promise<Array<TraceElementData>>}
53
+ */
54
+ getAnimatedElements(mainThreadEvents: Array<LH.TraceEvent>): Promise<Array<TraceElementData>>;
55
+ /**
56
+ * @param {LH.Gatherer.FRTransitionalContext} context
57
+ */
58
+ startInstrumentation(context: LH.Gatherer.FRTransitionalContext): Promise<void>;
59
+ /**
60
+ * @param {LH.Gatherer.FRTransitionalContext} context
61
+ */
62
+ stopInstrumentation(context: LH.Gatherer.FRTransitionalContext): Promise<void>;
63
+ /**
64
+ * @param {LH.Gatherer.FRTransitionalContext} context
65
+ * @param {LH.Trace|undefined} trace
66
+ * @return {Promise<LH.Artifacts['TraceElements']>}
67
+ */
68
+ _getArtifact(context: LH.Gatherer.FRTransitionalContext, trace: LH.Trace | undefined): Promise<LH.Artifacts['TraceElements']>;
69
+ /**
70
+ * @param {LH.Gatherer.FRTransitionalContext<'Trace'>} context
71
+ * @return {Promise<LH.Artifacts.TraceElement[]>}
72
+ */
73
+ getArtifact(context: LH.Gatherer.FRTransitionalContext<'Trace'>): Promise<LH.Artifacts.TraceElement[]>;
74
+ /**
75
+ * @param {LH.Gatherer.PassContext} passContext
76
+ * @param {LH.Gatherer.LoadData} loadData
77
+ * @return {Promise<LH.Artifacts.TraceElement[]>}
78
+ */
79
+ afterPass(passContext: LH.Gatherer.PassContext, loadData: LH.Gatherer.LoadData): Promise<LH.Artifacts.TraceElement[]>;
80
+ }
81
+ import FRGatherer from "../base-gatherer.js";
82
+ import Trace from "./trace.js";
83
+ //# sourceMappingURL=trace-elements.d.ts.map
@@ -213,14 +213,14 @@ class TraceElements extends FRGatherer {
213
213
  }
214
214
 
215
215
  /**
216
- * @param {LH.Artifacts.ProcessedTrace} processedTrace
216
+ * @param {LH.Trace} trace
217
217
  * @param {LH.Gatherer.FRTransitionalContext} context
218
218
  * @return {Promise<{nodeId: number, type: string} | undefined>}
219
219
  */
220
- static async getLcpElement(processedTrace, context) {
220
+ static async getLcpElement(trace, context) {
221
221
  let processedNavigation;
222
222
  try {
223
- processedNavigation = await ProcessedNavigation.request(processedTrace, context);
223
+ processedNavigation = await ProcessedNavigation.request(trace, context);
224
224
  } catch (err) {
225
225
  // If we were running in timespan mode and there was no paint, treat LCP as missing.
226
226
  if (context.gatherMode === 'timespan' && err.code === LighthouseError.errors.NO_FCP.code) {
@@ -270,7 +270,7 @@ class TraceElements extends FRGatherer {
270
270
  const processedTrace = await ProcessedTrace.request(trace, context);
271
271
  const {mainThreadEvents} = processedTrace;
272
272
 
273
- const lcpNodeData = await TraceElements.getLcpElement(processedTrace, context);
273
+ const lcpNodeData = await TraceElements.getLcpElement(trace, context);
274
274
  const clsNodeData = TraceElements.getTopLayoutShiftElements(mainThreadEvents);
275
275
  const animatedElementData = await this.getAnimatedElements(mainThreadEvents);
276
276
  const responsivenessElementData = await TraceElements.getResponsivenessElement(trace, context);
@@ -0,0 +1,23 @@
1
+ export default Trace;
2
+ declare class Trace extends FRGatherer {
3
+ static getDefaultTraceCategories(): string[];
4
+ /**
5
+ * @param {LH.Gatherer.FRProtocolSession} session
6
+ * @return {Promise<LH.Trace>}
7
+ */
8
+ static endTraceAndCollectEvents(session: LH.Gatherer.FRProtocolSession): Promise<LH.Trace>;
9
+ static symbol: symbol;
10
+ /** @type {LH.Trace} */
11
+ _trace: LH.Trace;
12
+ /**
13
+ * @param {LH.Gatherer.FRTransitionalContext} passContext
14
+ */
15
+ startSensitiveInstrumentation({ driver, gatherMode, settings }: LH.Gatherer.FRTransitionalContext): Promise<void>;
16
+ /**
17
+ * @param {LH.Gatherer.FRTransitionalContext} passContext
18
+ */
19
+ stopSensitiveInstrumentation({ driver }: LH.Gatherer.FRTransitionalContext): Promise<void>;
20
+ getArtifact(): import("../../index.js").Trace;
21
+ }
22
+ import FRGatherer from "../base-gatherer.js";
23
+ //# sourceMappingURL=trace.d.ts.map
@@ -0,0 +1,10 @@
1
+ export default ViewportDimensions;
2
+ declare class ViewportDimensions extends FRGatherer {
3
+ /**
4
+ * @param {LH.Gatherer.FRTransitionalContext} passContext
5
+ * @return {Promise<LH.Artifacts.ViewportDimensions>}
6
+ */
7
+ getArtifact(passContext: LH.Gatherer.FRTransitionalContext): Promise<LH.Artifacts.ViewportDimensions>;
8
+ }
9
+ import FRGatherer from "../base-gatherer.js";
10
+ //# sourceMappingURL=viewport-dimensions.d.ts.map
@@ -0,0 +1,32 @@
1
+ export default WebAppManifest;
2
+ declare class WebAppManifest extends FRGatherer {
3
+ /**
4
+ * @param {LH.Gatherer.FRProtocolSession} session
5
+ * @return {Promise<{url: string, data: string}|null>}
6
+ */
7
+ static fetchAppManifest(session: LH.Gatherer.FRProtocolSession): Promise<{
8
+ url: string;
9
+ data: string;
10
+ } | null>;
11
+ /**
12
+ * Uses the debugger protocol to fetch the manifest from within the context of
13
+ * the target page, reusing any credentials, emulation, etc, already established
14
+ * there.
15
+ *
16
+ * Returns the parsed manifest or null if the page had no manifest. If the manifest
17
+ * was unparseable as JSON, manifest.value will be undefined and manifest.warning
18
+ * will have the reason. See manifest-parser.js for more information.
19
+ *
20
+ * @param {LH.Gatherer.FRProtocolSession} session
21
+ * @param {string} pageUrl
22
+ * @return {Promise<LH.Artifacts.Manifest|null>}
23
+ */
24
+ static getWebAppManifest(session: LH.Gatherer.FRProtocolSession, pageUrl: string): Promise<LH.Artifacts.Manifest | null>;
25
+ /**
26
+ * @param {LH.Gatherer.FRTransitionalContext} context
27
+ * @return {Promise<LH.Artifacts['WebAppManifest']>}
28
+ */
29
+ getArtifact(context: LH.Gatherer.FRTransitionalContext): Promise<LH.Artifacts['WebAppManifest']>;
30
+ }
31
+ import FRGatherer from "../base-gatherer.js";
32
+ //# sourceMappingURL=web-app-manifest.d.ts.map
@@ -0,0 +1,92 @@
1
+ export type NavigationContext = {
2
+ driver: Driver;
3
+ page: LH.Puppeteer.Page;
4
+ resolvedConfig: LH.Config.ResolvedConfig;
5
+ navigation: LH.Config.NavigationDefn;
6
+ requestor: LH.NavigationRequestor;
7
+ baseArtifacts: LH.FRBaseArtifacts;
8
+ computedCache: Map<string, LH.ArbitraryEqualityMap>;
9
+ };
10
+ export type PhaseState = Omit<Parameters<typeof collectPhaseArtifacts>[0], 'phase'>;
11
+ /**
12
+ * @param {LH.Puppeteer.Page|undefined} page
13
+ * @param {LH.NavigationRequestor|undefined} requestor
14
+ * @param {{config?: LH.Config, flags?: LH.Flags}} [options]
15
+ * @return {Promise<LH.Gatherer.FRGatherResult>}
16
+ */
17
+ export function navigationGather(page: LH.Puppeteer.Page | undefined, requestor: LH.NavigationRequestor | undefined, options?: {
18
+ config?: import("../../types/config.js").default | undefined;
19
+ flags?: import("../index.js").Flags | undefined;
20
+ } | undefined): Promise<LH.Gatherer.FRGatherResult>;
21
+ /**
22
+ * @param {{driver: Driver, resolvedConfig: LH.Config.ResolvedConfig, requestor: LH.NavigationRequestor}} args
23
+ * @return {Promise<{baseArtifacts: LH.FRBaseArtifacts}>}
24
+ */
25
+ export function _setup({ driver, resolvedConfig, requestor }: {
26
+ driver: Driver;
27
+ resolvedConfig: LH.Config.ResolvedConfig;
28
+ requestor: LH.NavigationRequestor;
29
+ }): Promise<{
30
+ baseArtifacts: LH.FRBaseArtifacts;
31
+ }>;
32
+ /**
33
+ * @param {NavigationContext} navigationContext
34
+ * @return {Promise<{warnings: Array<LH.IcuMessage>}>}
35
+ */
36
+ export function _setupNavigation({ requestor, driver, navigation, resolvedConfig }: NavigationContext): Promise<{
37
+ warnings: Array<LH.IcuMessage>;
38
+ }>;
39
+ /**
40
+ * @param {NavigationContext} navigationContext
41
+ * @return {Promise<{requestedUrl: string, mainDocumentUrl: string, navigationError: LH.LighthouseError | undefined, warnings: Array<LH.IcuMessage>}>}
42
+ */
43
+ export function _navigate(navigationContext: NavigationContext): Promise<{
44
+ requestedUrl: string;
45
+ mainDocumentUrl: string;
46
+ navigationError: LH.LighthouseError | undefined;
47
+ warnings: Array<LH.IcuMessage>;
48
+ }>;
49
+ /**
50
+ * @param {NavigationContext} navigationContext
51
+ * @return {ReturnType<typeof _computeNavigationResult>}
52
+ */
53
+ export function _navigation(navigationContext: NavigationContext): ReturnType<typeof _computeNavigationResult>;
54
+ /**
55
+ * @param {{driver: Driver, page: LH.Puppeteer.Page, resolvedConfig: LH.Config.ResolvedConfig, requestor: LH.NavigationRequestor; baseArtifacts: LH.FRBaseArtifacts, computedCache: NavigationContext['computedCache']}} args
56
+ * @return {Promise<{artifacts: Partial<LH.FRArtifacts & LH.FRBaseArtifacts>}>}
57
+ */
58
+ export function _navigations(args: {
59
+ driver: Driver;
60
+ page: LH.Puppeteer.Page;
61
+ resolvedConfig: LH.Config.ResolvedConfig;
62
+ requestor: LH.NavigationRequestor;
63
+ baseArtifacts: LH.FRBaseArtifacts;
64
+ computedCache: NavigationContext['computedCache'];
65
+ }): Promise<{
66
+ artifacts: Partial<LH.FRArtifacts & LH.FRBaseArtifacts>;
67
+ }>;
68
+ /**
69
+ * @param {{requestedUrl?: string, driver: Driver, resolvedConfig: LH.Config.ResolvedConfig}} args
70
+ */
71
+ export function _cleanup({ requestedUrl, driver, resolvedConfig }: {
72
+ requestedUrl?: string;
73
+ driver: Driver;
74
+ resolvedConfig: LH.Config.ResolvedConfig;
75
+ }): Promise<void>;
76
+ import { Driver } from "./driver.js";
77
+ import { collectPhaseArtifacts } from "./runner-helpers.js";
78
+ import { LighthouseError } from "../lib/lh-error.js";
79
+ /**
80
+ * @param {NavigationContext} navigationContext
81
+ * @param {PhaseState} phaseState
82
+ * @param {Awaited<ReturnType<typeof _setupNavigation>>} setupResult
83
+ * @param {Awaited<ReturnType<typeof _navigate>>} navigateResult
84
+ * @return {Promise<{artifacts: Partial<LH.GathererArtifacts>, warnings: Array<LH.IcuMessage>, pageLoadError: LH.LighthouseError | undefined}>}
85
+ */
86
+ declare function _computeNavigationResult(navigationContext: NavigationContext, phaseState: PhaseState, setupResult: Awaited<ReturnType<typeof _setupNavigation>>, navigateResult: Awaited<ReturnType<typeof _navigate>>): Promise<{
87
+ artifacts: Partial<LH.GathererArtifacts>;
88
+ warnings: Array<LH.IcuMessage>;
89
+ pageLoadError: LH.LighthouseError | undefined;
90
+ }>;
91
+ export {};
92
+ //# sourceMappingURL=navigation-runner.d.ts.map
@@ -0,0 +1,39 @@
1
+ export type CollectPhaseArtifactOptions = {
2
+ driver: import('./driver.js').Driver;
3
+ page: LH.Puppeteer.Page;
4
+ artifactDefinitions: Array<LH.Config.AnyArtifactDefn>;
5
+ artifactState: ArtifactState;
6
+ baseArtifacts: LH.FRBaseArtifacts;
7
+ phase: LH.Gatherer.FRGatherPhase;
8
+ gatherMode: LH.Gatherer.GatherMode;
9
+ computedCache: Map<string, LH.ArbitraryEqualityMap>;
10
+ settings: LH.Config.Settings;
11
+ };
12
+ export type IntermediateArtifacts = Record<string, Promise<any>>;
13
+ export type ArtifactState = Record<CollectPhaseArtifactOptions['phase'], IntermediateArtifacts>;
14
+ export type Dependencies = LH.Gatherer.FRTransitionalContext<LH.Gatherer.DependencyKey>['dependencies'];
15
+ /** @return {ArtifactState} */
16
+ export function getEmptyArtifactState(): ArtifactState;
17
+ /**
18
+ * Awaits the result of artifact, catching errors to set the artifact to an error instead.
19
+ *
20
+ * @param {ArtifactState} artifactState
21
+ * @return {Promise<Partial<LH.GathererArtifacts>>}
22
+ */
23
+ export function awaitArtifacts(artifactState: ArtifactState): Promise<Partial<LH.GathererArtifacts>>;
24
+ /**
25
+ * Runs the gatherer methods for a particular navigation phase (startInstrumentation/getArtifact/etc).
26
+ * All gatherer method return values are stored on the artifact state object, organized by phase.
27
+ * This method collects required dependencies, runs the applicable gatherer methods, and saves the
28
+ * result on the artifact state object that was passed as part of `options`.
29
+ *
30
+ * @param {CollectPhaseArtifactOptions} options
31
+ */
32
+ export function collectPhaseArtifacts(options: CollectPhaseArtifactOptions): Promise<void>;
33
+ /**
34
+ * @param {LH.Config.AnyArtifactDefn} artifact
35
+ * @param {Record<string, LH.Gatherer.PhaseResult>} artifactsById
36
+ * @return {Promise<Dependencies>}
37
+ */
38
+ export function collectArtifactDependencies(artifact: LH.Config.AnyArtifactDefn, artifactsById: Record<string, LH.Gatherer.PhaseResult>): Promise<Dependencies>;
39
+ //# sourceMappingURL=runner-helpers.d.ts.map
@@ -0,0 +1,50 @@
1
+ export type CrdpEventMessageEmitter = LH.Protocol.StrictEventEmitterClass<LH.CrdpEvents>;
2
+ declare const ProtocolSession_base: CrdpEventMessageEmitter;
3
+ /** @implements {LH.Gatherer.FRProtocolSession} */
4
+ export class ProtocolSession extends ProtocolSession_base implements LH.Gatherer.FRProtocolSession {
5
+ /**
6
+ * @param {LH.Puppeteer.CDPSession} cdpSession
7
+ */
8
+ constructor(cdpSession: LH.Puppeteer.CDPSession);
9
+ _cdpSession: import("../../types/puppeteer.js").default.CDPSession;
10
+ /** @type {LH.Crdp.Target.TargetInfo|undefined} */
11
+ _targetInfo: LH.Crdp.Target.TargetInfo | undefined;
12
+ /** @type {number|undefined} */
13
+ _nextProtocolTimeout: number | undefined;
14
+ /**
15
+ * Re-emit protocol events from the underlying CDPSession.
16
+ * @template {keyof LH.CrdpEvents} E
17
+ * @param {E} method
18
+ * @param {LH.CrdpEvents[E]} params
19
+ */
20
+ _handleProtocolEvent<E extends keyof import("puppeteer-core").ProtocolMapping.Events>(method: E, ...params: import("puppeteer-core").ProtocolMapping.Events[E]): void;
21
+ id(): string;
22
+ /** @param {LH.Crdp.Target.TargetInfo} targetInfo */
23
+ setTargetInfo(targetInfo: LH.Crdp.Target.TargetInfo): void;
24
+ /**
25
+ * @return {boolean}
26
+ */
27
+ hasNextProtocolTimeout(): boolean;
28
+ /**
29
+ * @return {number}
30
+ */
31
+ getNextProtocolTimeout(): number;
32
+ /**
33
+ * @param {number} ms
34
+ */
35
+ setNextProtocolTimeout(ms: number): void;
36
+ /**
37
+ * @template {keyof LH.CrdpCommands} C
38
+ * @param {C} method
39
+ * @param {LH.CrdpCommands[C]['paramsType']} params
40
+ * @return {Promise<LH.CrdpCommands[C]['returnType']>}
41
+ */
42
+ sendCommand<C extends keyof import("puppeteer-core").ProtocolMapping.Commands>(method: C, ...params: import("puppeteer-core").ProtocolMapping.Commands[C]["paramsType"]): Promise<import("puppeteer-core").ProtocolMapping.Commands[C]["returnType"]>;
43
+ /**
44
+ * Disposes of a session so that it can no longer talk to Chrome.
45
+ * @return {Promise<void>}
46
+ */
47
+ dispose(): Promise<void>;
48
+ }
49
+ export {};
50
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @param {LH.Puppeteer.Page} page
3
+ * @param {{config?: LH.Config, flags?: LH.Flags}} [options]
4
+ * @return {Promise<LH.Gatherer.FRGatherResult>}
5
+ */
6
+ export function snapshotGather(page: LH.Puppeteer.Page, options?: {
7
+ config?: import("../../types/config.js").default | undefined;
8
+ flags?: import("../index.js").Flags | undefined;
9
+ } | undefined): Promise<LH.Gatherer.FRGatherResult>;
10
+ //# sourceMappingURL=snapshot-runner.d.ts.map
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @param {LH.Puppeteer.Page} page
3
+ * @param {{config?: LH.Config, flags?: LH.Flags}} [options]
4
+ * @return {Promise<{endTimespanGather(): Promise<LH.Gatherer.FRGatherResult>}>}
5
+ */
6
+ export function startTimespanGather(page: LH.Puppeteer.Page, options?: {
7
+ config?: import("../../types/config.js").default | undefined;
8
+ flags?: import("../index.js").Flags | undefined;
9
+ } | undefined): Promise<{
10
+ endTimespanGather(): Promise<LH.Gatherer.FRGatherResult>;
11
+ }>;
12
+ //# sourceMappingURL=timespan-runner.d.ts.map
@@ -0,0 +1,4 @@
1
+ export = lighthouse;
2
+ /** @type {import('./index.js')['default']} */
3
+ declare const lighthouse: typeof import("./index.js")['default'];
4
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1,88 @@
1
+ export default lighthouse;
2
+ export { Audit } from "./audits/audit.js";
3
+ export { default as Gatherer } from "./gather/base-gatherer.js";
4
+ export { NetworkRecords } from "./computed/network-records.js";
5
+ export { default as defaultConfig } from "./config/default-config.js";
6
+ export { default as desktopConfig } from "./config/desktop-config.js";
7
+ export * from "../types/lh.js";
8
+ export type Connection = import('./legacy/gather/connections/connection.js').Connection;
9
+ /** @typedef {import('./legacy/gather/connections/connection.js').Connection} Connection */
10
+ /**
11
+ * Run Lighthouse.
12
+ * @param {string=} url The URL to test. Optional if running in auditMode.
13
+ * @param {LH.Flags=} flags Optional settings for the Lighthouse run. If present,
14
+ * they will override any settings in the config.
15
+ * @param {LH.Config=} config Configuration for the Lighthouse run. If
16
+ * not present, the default config is used.
17
+ * @param {LH.Puppeteer.Page=} page
18
+ * @return {Promise<LH.RunnerResult|undefined>}
19
+ */
20
+ declare function lighthouse(url?: string | undefined, flags?: LH.Flags | undefined, config?: LH.Config | undefined, page?: LH.Puppeteer.Page | undefined): Promise<LH.RunnerResult | undefined>;
21
+ /**
22
+ * Run Lighthouse using the legacy navigation runner.
23
+ * This is left in place for any clients that don't support FR navigations yet (e.g. Lightrider)
24
+ * @deprecated
25
+ * @param {string=} url The URL to test. Optional if running in auditMode.
26
+ * @param {LH.Flags=} flags Optional settings for the Lighthouse run. If present,
27
+ * they will override any settings in the config.
28
+ * @param {LH.Config=} config Configuration for the Lighthouse run. If
29
+ * not present, the default config is used.
30
+ * @param {Connection=} userConnection
31
+ * @return {Promise<LH.RunnerResult|undefined>}
32
+ */
33
+ export function legacyNavigation(url?: string | undefined, flags?: LH.Flags | undefined, config?: LH.Config | undefined, userConnection?: Connection | undefined): Promise<LH.RunnerResult | undefined>;
34
+ /**
35
+ * @param {LH.Puppeteer.Page} page
36
+ * @param {LH.UserFlow.Options} [options]
37
+ */
38
+ export function startFlow(page: LH.Puppeteer.Page, options?: LH.UserFlow.Options | undefined): Promise<UserFlow>;
39
+ /**
40
+ * @param {LH.Puppeteer.Page|undefined} page
41
+ * @param {LH.NavigationRequestor|undefined} requestor
42
+ * @param {{config?: LH.Config, flags?: LH.Flags}} [options]
43
+ * @return {Promise<LH.RunnerResult|undefined>}
44
+ */
45
+ export function navigation(page: LH.Puppeteer.Page | undefined, requestor: LH.NavigationRequestor | undefined, options?: {
46
+ config?: LH.Config | undefined;
47
+ flags?: LH.Flags | undefined;
48
+ } | undefined): Promise<LH.RunnerResult | undefined>;
49
+ /**
50
+ * @param {LH.Puppeteer.Page} page
51
+ * @param {{config?: LH.Config, flags?: LH.Flags}} [options]
52
+ * @return {Promise<{endTimespan: () => Promise<LH.RunnerResult|undefined>}>}
53
+ */
54
+ export function startTimespan(page: LH.Puppeteer.Page, options?: {
55
+ config?: LH.Config | undefined;
56
+ flags?: LH.Flags | undefined;
57
+ } | undefined): Promise<{
58
+ endTimespan: () => Promise<LH.RunnerResult | undefined>;
59
+ }>;
60
+ /**
61
+ * @param {LH.Puppeteer.Page} page
62
+ * @param {{config?: LH.Config, flags?: LH.Flags}} [options]
63
+ * @return {Promise<LH.RunnerResult|undefined>}
64
+ */
65
+ export function snapshot(page: LH.Puppeteer.Page, options?: {
66
+ config?: LH.Config | undefined;
67
+ flags?: LH.Flags | undefined;
68
+ } | undefined): Promise<LH.RunnerResult | undefined>;
69
+ /**
70
+ * @template {LH.Result|LH.FlowResult} R
71
+ * @param {R} result
72
+ * @param {[R] extends [LH.Result] ? LH.OutputMode : Exclude<LH.OutputMode, 'csv'>} [format]
73
+ * @return {string}
74
+ */
75
+ export function generateReport<R extends LH.Result | LH.FlowResult>(result: R, format?: ([R] extends [LH.Result] ? LH.OutputMode : "json" | "html") | undefined): string;
76
+ /**
77
+ * @param {LH.UserFlow.FlowArtifacts} flowArtifacts
78
+ * @param {LH.Config} [config]
79
+ */
80
+ export function auditFlowArtifacts(flowArtifacts: LH.UserFlow.FlowArtifacts, config?: LH.Config | undefined): Promise<{
81
+ steps: LH.FlowResult.Step[];
82
+ name: string;
83
+ }>;
84
+ export function getAuditList(): string[];
85
+ export const traceCategories: string[];
86
+ import * as LH from "../types/lh.js";
87
+ import { UserFlow } from "./user-flow.js";
88
+ //# sourceMappingURL=index.d.ts.map
package/core/index.js CHANGED
@@ -16,6 +16,7 @@ import {ReportGenerator} from '../report/generator/report-generator.js';
16
16
  import {startTimespanGather} from './gather/timespan-runner.js';
17
17
  import {snapshotGather} from './gather/snapshot-runner.js';
18
18
  import {navigationGather} from './gather/navigation-runner.js';
19
+ import * as LH from '../types/lh.js';
19
20
 
20
21
  /** @typedef {import('./legacy/gather/connections/connection.js').Connection} Connection */
21
22
 
@@ -157,6 +158,7 @@ export {default as Gatherer} from './gather/base-gatherer.js';
157
158
  export {NetworkRecords} from './computed/network-records.js';
158
159
  export {default as defaultConfig} from './config/default-config.js';
159
160
  export {default as desktopConfig} from './config/desktop-config.js';
161
+ export * from '../types/lh.js';
160
162
  export {
161
163
  legacyNavigation,
162
164
  startFlow,
@@ -0,0 +1,107 @@
1
+ export type GathererConstructor = typeof import('../../gather/gatherers/gatherer.js').Gatherer;
2
+ export type Gatherer = InstanceType<GathererConstructor>;
3
+ /**
4
+ * @implements {LH.Config.LegacyResolvedConfig}
5
+ */
6
+ export class LegacyResolvedConfig implements LH.Config.LegacyResolvedConfig {
7
+ /**
8
+ * Resolves the provided config (inherits from extended config, if set), resolves
9
+ * all referenced modules, and validates.
10
+ * @param {LH.Config=} config If not provided, uses the default config.
11
+ * @param {LH.Flags=} flags
12
+ * @return {Promise<LegacyResolvedConfig>}
13
+ */
14
+ static fromJson(config?: LH.Config | undefined, flags?: LH.Flags | undefined): Promise<LegacyResolvedConfig>;
15
+ /**
16
+ * @param {LH.Config} baseJSON The JSON of the configuration to extend
17
+ * @param {LH.Config} extendJSON The JSON of the extensions
18
+ * @return {LH.Config}
19
+ */
20
+ static extendConfigJSON(baseJSON: LH.Config, extendJSON: LH.Config): LH.Config;
21
+ /**
22
+ * @param {LH.Config['passes']} passes
23
+ * @return {?Array<Required<LH.Config.PassJson>>}
24
+ */
25
+ static augmentPassesWithDefaults(passes: LH.Config['passes']): Array<Required<LH.Config.PassJson>> | null;
26
+ /**
27
+ * Observed throttling methods (devtools/provided) require at least 5s of quiet for the metrics to
28
+ * be computed. This method adjusts the quiet thresholds to the required minimums if necessary.
29
+ * @param {LH.Config.Settings} settings
30
+ * @param {?Array<Required<LH.Config.PassJson>>} passes
31
+ */
32
+ static adjustDefaultPassForThrottling(settings: LH.Config.Settings, passes: Array<Required<LH.Config.PassJson>> | null): void;
33
+ /**
34
+ * Filter out any unrequested items from the config, based on requested categories or audits.
35
+ * @param {LegacyResolvedConfig} config
36
+ */
37
+ static filterConfigIfNeeded(config: LegacyResolvedConfig): void;
38
+ /**
39
+ * Filter out any unrequested categories or audits from the categories object.
40
+ * @param {LegacyResolvedConfig['categories']} oldCategories
41
+ * @param {LH.Config.Settings} settings
42
+ * @return {{categories: LegacyResolvedConfig['categories'], requestedAuditNames: Set<string>}}
43
+ */
44
+ static filterCategoriesAndAudits(oldCategories: LegacyResolvedConfig['categories'], settings: LH.Config.Settings): {
45
+ categories: LegacyResolvedConfig['categories'];
46
+ requestedAuditNames: Set<string>;
47
+ };
48
+ /**
49
+ * From some requested audits, return names of all required and optional artifacts
50
+ * @param {LegacyResolvedConfig['audits']} audits
51
+ * @return {Set<string>}
52
+ */
53
+ static getGatherersRequestedByAudits(audits: LegacyResolvedConfig['audits']): Set<string>;
54
+ /**
55
+ * Filters to only requested passes and gatherers, returning a new passes array.
56
+ * @param {LegacyResolvedConfig['passes']} passes
57
+ * @param {Set<string>} requestedGatherers
58
+ * @return {LegacyResolvedConfig['passes']}
59
+ */
60
+ static generatePassesNeededByGatherers(passes: LegacyResolvedConfig['passes'], requestedGatherers: Set<string>): LegacyResolvedConfig['passes'];
61
+ /**
62
+ * Take an array of audits and audit paths and require any paths (possibly
63
+ * relative to the optional `configDir`) using `resolveModulePath`,
64
+ * leaving only an array of AuditDefns.
65
+ * @param {LH.Config['audits']} audits
66
+ * @param {string=} configDir
67
+ * @return {Promise<LegacyResolvedConfig['audits']>}
68
+ */
69
+ static requireAudits(audits: LH.Config['audits'], configDir?: string | undefined): Promise<LegacyResolvedConfig['audits']>;
70
+ /**
71
+ * Takes an array of passes with every property now initialized except the
72
+ * gatherers and requires them, (relative to the optional `configDir` if
73
+ * provided) using `resolveModulePath`, returning an array of full Passes.
74
+ * @param {?Array<Required<LH.Config.PassJson>>} passes
75
+ * @param {string=} configDir
76
+ * @return {Promise<LegacyResolvedConfig['passes']>}
77
+ */
78
+ static requireGatherers(passes: Array<Required<LH.Config.PassJson>> | null, configDir?: string | undefined): Promise<LegacyResolvedConfig['passes']>;
79
+ /**
80
+ * @deprecated `Config.fromJson` should be used instead.
81
+ * @constructor
82
+ * @param {LH.Config} config
83
+ * @param {{settings: LH.Config.Settings, passes: ?LH.Config.Pass[], audits: ?LH.Config.AuditDefn[]}} opts
84
+ */
85
+ constructor(config: LH.Config, opts: {
86
+ settings: LH.Config.Settings;
87
+ passes: LH.Config.Pass[] | null;
88
+ audits: LH.Config.AuditDefn[] | null;
89
+ });
90
+ /** @type {LH.Config.Settings} */
91
+ settings: LH.Config.Settings;
92
+ /** @type {?Array<LH.Config.Pass>} */
93
+ passes: Array<LH.Config.Pass> | null;
94
+ /** @type {?Array<LH.Config.AuditDefn>} */
95
+ audits: Array<LH.Config.AuditDefn> | null;
96
+ /** @type {?Record<string, LH.Config.Category>} */
97
+ categories: Record<string, LH.Config.Category> | null;
98
+ /** @type {?Record<string, LH.Config.Group>} */
99
+ groups: Record<string, LH.Config.Group> | null;
100
+ /**
101
+ * Provides a cleaned-up, stringified version of this config. Gatherer and
102
+ * Audit `implementation` and `instance` do not survive this process.
103
+ * @return {string}
104
+ */
105
+ getPrintString(): string;
106
+ }
107
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1,4 @@
1
+ export default legacyDefaultConfig;
2
+ /** @type {LH.Config} */
3
+ declare const legacyDefaultConfig: LH.Config;
4
+ //# sourceMappingURL=legacy-default-config.d.ts.map