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,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
@@ -0,0 +1,75 @@
1
+ export type ProtocolEventRecord = {
2
+ 'protocolevent': [LH.Protocol.RawEventMessage];
3
+ };
4
+ export type CrdpEventMessageEmitter = LH.Protocol.StrictEventEmitter<ProtocolEventRecord>;
5
+ export type CommandInfo = LH.CrdpCommands[keyof LH.CrdpCommands];
6
+ export type CommandCallback = {
7
+ resolve: (arg0: Promise<CommandInfo['returnType']>) => void;
8
+ method: keyof LH.CrdpCommands;
9
+ };
10
+ /**
11
+ * @typedef {{'protocolevent': [LH.Protocol.RawEventMessage]}} ProtocolEventRecord
12
+ * @typedef {LH.Protocol.StrictEventEmitter<ProtocolEventRecord>} CrdpEventMessageEmitter
13
+ * @typedef {LH.CrdpCommands[keyof LH.CrdpCommands]} CommandInfo
14
+ * @typedef {{resolve: function(Promise<CommandInfo['returnType']>): void, method: keyof LH.CrdpCommands}} CommandCallback
15
+ */
16
+ export class Connection {
17
+ _lastCommandId: number;
18
+ /** @type {Map<number, CommandCallback>} */
19
+ _callbacks: Map<number, CommandCallback>;
20
+ _eventEmitter: CrdpEventMessageEmitter | null;
21
+ /**
22
+ * @return {Promise<void>}
23
+ */
24
+ connect(): Promise<void>;
25
+ /**
26
+ * @return {Promise<void>}
27
+ */
28
+ disconnect(): Promise<void>;
29
+ /**
30
+ * @return {Promise<string>}
31
+ */
32
+ wsEndpoint(): Promise<string>;
33
+ /**
34
+ * Call protocol methods
35
+ * @template {keyof LH.CrdpCommands} C
36
+ * @param {C} method
37
+ * @param {string|undefined} sessionId
38
+ * @param {LH.CrdpCommands[C]['paramsType']} paramArgs,
39
+ * @return {Promise<LH.CrdpCommands[C]['returnType']>}
40
+ */
41
+ sendCommand<C extends keyof LH.CrdpCommands>(method: C, sessionId: string | undefined, ...paramArgs: LH.CrdpCommands[C]["paramsType"]): Promise<LH.CrdpCommands[C]["returnType"]>;
42
+ /**
43
+ * Bind listeners for connection events.
44
+ * @param {'protocolevent'} eventName
45
+ * @param {function(LH.Protocol.RawEventMessage): void} cb
46
+ */
47
+ on(eventName: 'protocolevent', cb: (arg0: LH.Protocol.RawEventMessage) => void): void;
48
+ /**
49
+ * Unbind listeners for connection events.
50
+ * @param {'protocolevent'} eventName
51
+ * @param {function(LH.Protocol.RawEventMessage): void} cb
52
+ */
53
+ off(eventName: 'protocolevent', cb: (arg0: LH.Protocol.RawEventMessage) => void): void;
54
+ /**
55
+ * @param {string} message
56
+ * @protected
57
+ */
58
+ protected sendRawMessage(message: string): void;
59
+ /**
60
+ * @param {string} message
61
+ * @return {void}
62
+ * @protected
63
+ */
64
+ protected handleRawMessage(message: string): void;
65
+ /**
66
+ * @param {LH.Protocol.RawEventMessage} eventMessage
67
+ */
68
+ emitProtocolEvent(eventMessage: LH.Protocol.RawEventMessage): void;
69
+ /**
70
+ * @protected
71
+ */
72
+ protected dispose(): void;
73
+ }
74
+ import * as LH from "../../../../types/lh.js";
75
+ //# sourceMappingURL=connection.d.ts.map
@@ -8,6 +8,7 @@ import {EventEmitter} from 'events';
8
8
 
9
9
  import log from 'lighthouse-logger';
10
10
 
11
+ import * as LH from '../../../../types/lh.js';
11
12
  import {LighthouseError} from '../../../lib/lh-error.js';
12
13
 
13
14
  // TODO(bckenny): CommandCallback properties should be tied by command type after
@@ -0,0 +1,27 @@
1
+ export class CriConnection extends Connection {
2
+ /**
3
+ * @param {number=} port Optional port number. Defaults to 9222;
4
+ * @param {string=} hostname Optional hostname. Defaults to localhost.
5
+ * @constructor
6
+ */
7
+ constructor(port?: number | undefined, hostname?: string | undefined);
8
+ port: number;
9
+ hostname: string;
10
+ _ws: WebSocket | null;
11
+ _pageId: string | null;
12
+ /**
13
+ * @param {LH.DevToolsJsonTarget} response
14
+ * @return {Promise<void>}
15
+ * @private
16
+ */
17
+ private _connectToSocket;
18
+ /**
19
+ * @param {string} command
20
+ * @return {Promise<LH.DevToolsJsonTarget | Array<LH.DevToolsJsonTarget> | {message: string}>}
21
+ * @private
22
+ */
23
+ private _runJsonCommand;
24
+ }
25
+ import { Connection } from "./connection.js";
26
+ import WebSocket from "ws";
27
+ //# sourceMappingURL=cri.d.ts.map
@@ -0,0 +1,20 @@
1
+ export type Port = {
2
+ on: (eventName: 'message' | 'close', cb: ((arg: string) => void) | (() => void)) => void;
3
+ send: (message: string) => void;
4
+ close: () => void;
5
+ };
6
+ /**
7
+ * @typedef {object} Port
8
+ * @property {(eventName: 'message'|'close', cb: ((arg: string) => void) | (() => void)) => void} on
9
+ * @property {(message: string) => void} send
10
+ * @property {() => void} close
11
+ */
12
+ export class RawConnection extends Connection {
13
+ /**
14
+ * @param {Port} port
15
+ */
16
+ constructor(port: Port);
17
+ _port: Port;
18
+ }
19
+ import { Connection } from "./connection.js";
20
+ //# sourceMappingURL=raw.d.ts.map