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,141 @@
1
+ export class DetailsRenderer {
2
+ /**
3
+ * @param {DOM} dom
4
+ * @param {{fullPageScreenshot?: LH.Result.FullPageScreenshot}} [options]
5
+ */
6
+ constructor(dom: DOM, options?: {
7
+ fullPageScreenshot?: import("../../types/lhr/lhr.js").default.FullPageScreenshot | undefined;
8
+ } | undefined);
9
+ _dom: import("./dom.js").DOM;
10
+ _fullPageScreenshot: import("../../types/lhr/lhr.js").default.FullPageScreenshot | undefined;
11
+ /**
12
+ * @param {AuditDetails} details
13
+ * @return {Element|null}
14
+ */
15
+ render(details: AuditDetails): Element | null;
16
+ /**
17
+ * @param {{value: number, granularity?: number}} details
18
+ * @return {Element}
19
+ */
20
+ _renderBytes(details: {
21
+ value: number;
22
+ granularity?: number | undefined;
23
+ }): Element;
24
+ /**
25
+ * @param {{value: number, granularity?: number, displayUnit?: string}} details
26
+ * @return {Element}
27
+ */
28
+ _renderMilliseconds(details: {
29
+ value: number;
30
+ granularity?: number | undefined;
31
+ displayUnit?: string | undefined;
32
+ }): Element;
33
+ /**
34
+ * @param {string} text
35
+ * @return {HTMLElement}
36
+ */
37
+ renderTextURL(text: string): HTMLElement;
38
+ /**
39
+ * @param {{text: string, url: string}} details
40
+ * @return {HTMLElement}
41
+ */
42
+ _renderLink(details: {
43
+ text: string;
44
+ url: string;
45
+ }): HTMLElement;
46
+ /**
47
+ * @param {string} text
48
+ * @return {HTMLDivElement}
49
+ */
50
+ _renderText(text: string): HTMLDivElement;
51
+ /**
52
+ * @param {{value: number, granularity?: number}} details
53
+ * @return {Element}
54
+ */
55
+ _renderNumeric(details: {
56
+ value: number;
57
+ granularity?: number | undefined;
58
+ }): Element;
59
+ /**
60
+ * Create small thumbnail with scaled down image asset.
61
+ * @param {string} details
62
+ * @return {Element}
63
+ */
64
+ _renderThumbnail(details: string): Element;
65
+ /**
66
+ * @param {string} type
67
+ * @param {*} value
68
+ */
69
+ _renderUnknown(type: string, value: any): HTMLDetailsElement;
70
+ /**
71
+ * Render a details item value for embedding in a table. Renders the value
72
+ * based on the heading's valueType, unless the value itself has a `type`
73
+ * property to override it.
74
+ * @param {TableItemValue} value
75
+ * @param {LH.Audit.Details.TableColumnHeading} heading
76
+ * @return {Element|null}
77
+ */
78
+ _renderTableValue(value: TableItemValue, heading: LH.Audit.Details.TableColumnHeading): Element | null;
79
+ /**
80
+ * Returns a new heading where the values are defined first by `heading.subItemsHeading`,
81
+ * and secondly by `heading`. If there is no subItemsHeading, returns null, which will
82
+ * be rendered as an empty column.
83
+ * @param {LH.Audit.Details.TableColumnHeading} heading
84
+ * @return {LH.Audit.Details.TableColumnHeading | null}
85
+ */
86
+ _getDerivedSubItemsHeading(heading: LH.Audit.Details.TableColumnHeading): LH.Audit.Details.TableColumnHeading | null;
87
+ /**
88
+ * @param {TableItem} item
89
+ * @param {(LH.Audit.Details.TableColumnHeading | null)[]} headings
90
+ */
91
+ _renderTableRow(item: TableItem, headings: (LH.Audit.Details.TableColumnHeading | null)[]): HTMLTableRowElement;
92
+ /**
93
+ * Renders one or more rows from a details table item. A single table item can
94
+ * expand into multiple rows, if there is a subItemsHeading.
95
+ * @param {TableItem} item
96
+ * @param {LH.Audit.Details.TableColumnHeading[]} headings
97
+ */
98
+ _renderTableRowsFromItem(item: TableItem, headings: LH.Audit.Details.TableColumnHeading[]): DocumentFragment;
99
+ /**
100
+ * @param {{headings: TableColumnHeading[], items: TableItem[]}} details
101
+ * @return {Element}
102
+ */
103
+ _renderTable(details: {
104
+ headings: TableColumnHeading[];
105
+ items: TableItem[];
106
+ }): Element;
107
+ /**
108
+ * @param {LH.FormattedIcu<LH.Audit.Details.List>} details
109
+ * @return {Element}
110
+ */
111
+ _renderList(details: LH.FormattedIcu<LH.Audit.Details.List>): Element;
112
+ /**
113
+ * @param {LH.Audit.Details.NodeValue} item
114
+ * @return {Element}
115
+ */
116
+ renderNode(item: LH.Audit.Details.NodeValue): Element;
117
+ /**
118
+ * @param {LH.Audit.Details.SourceLocationValue} item
119
+ * @return {Element|null}
120
+ * @protected
121
+ */
122
+ protected renderSourceLocation(item: LH.Audit.Details.SourceLocationValue): Element | null;
123
+ /**
124
+ * @param {LH.Audit.Details.Filmstrip} details
125
+ * @return {Element}
126
+ */
127
+ _renderFilmstrip(details: LH.Audit.Details.Filmstrip): Element;
128
+ /**
129
+ * @param {string} text
130
+ * @return {Element}
131
+ */
132
+ _renderCode(text: string): Element;
133
+ }
134
+ export type DOM = import('./dom.js').DOM;
135
+ export type AuditDetails = LH.FormattedIcu<LH.Audit.Details>;
136
+ export type OpportunityTable = LH.FormattedIcu<LH.Audit.Details.Opportunity>;
137
+ export type Table = LH.FormattedIcu<LH.Audit.Details.Table>;
138
+ export type TableItem = LH.FormattedIcu<LH.Audit.Details.TableItem>;
139
+ export type TableItemValue = LH.FormattedIcu<LH.Audit.Details.ItemValue>;
140
+ export type TableColumnHeading = LH.FormattedIcu<LH.Audit.Details.TableColumnHeading>;
141
+ //# sourceMappingURL=details-renderer.d.ts.map
@@ -0,0 +1,125 @@
1
+ export class DOM {
2
+ /**
3
+ * @param {Document} document
4
+ * @param {HTMLElement} rootEl
5
+ */
6
+ constructor(document: Document, rootEl: HTMLElement);
7
+ /** @type {Document} */
8
+ _document: Document;
9
+ /** @type {string} */
10
+ _lighthouseChannel: string;
11
+ /** @type {Map<string, DocumentFragment>} */
12
+ _componentCache: Map<string, DocumentFragment>;
13
+ /** @type {HTMLElement} */
14
+ rootEl: HTMLElement;
15
+ /**
16
+ * @template {string} T
17
+ * @param {T} name
18
+ * @param {string=} className
19
+ * @return {HTMLElementByTagName[T]}
20
+ */
21
+ createElement<T extends string>(name: T, className?: string | undefined): HTMLElementByTagName[T];
22
+ /**
23
+ * @param {string} namespaceURI
24
+ * @param {string} name
25
+ * @param {string=} className
26
+ * @return {Element}
27
+ */
28
+ createElementNS(namespaceURI: string, name: string, className?: string | undefined): Element;
29
+ /**
30
+ * @return {!DocumentFragment}
31
+ */
32
+ createFragment(): DocumentFragment;
33
+ /**
34
+ * @param {string} data
35
+ * @return {!Node}
36
+ */
37
+ createTextNode(data: string): Node;
38
+ /**
39
+ * @template {string} T
40
+ * @param {Element} parentElem
41
+ * @param {T} elementName
42
+ * @param {string=} className
43
+ * @return {HTMLElementByTagName[T]}
44
+ */
45
+ createChildOf<T_1 extends string>(parentElem: Element, elementName: T_1, className?: string | undefined): HTMLElementByTagName[T_1];
46
+ /**
47
+ * @param {import('./components.js').ComponentName} componentName
48
+ * @return {!DocumentFragment} A clone of the cached component.
49
+ */
50
+ createComponent(componentName: import('./components.js').ComponentName): DocumentFragment;
51
+ clearComponentCache(): void;
52
+ /**
53
+ * @param {string} text
54
+ * @return {Element}
55
+ */
56
+ convertMarkdownLinkSnippets(text: string): Element;
57
+ /**
58
+ * Set link href, but safely, preventing `javascript:` protocol, etc.
59
+ * @see https://github.com/google/safevalues/
60
+ * @param {HTMLAnchorElement} elem
61
+ * @param {string} url
62
+ */
63
+ safelySetHref(elem: HTMLAnchorElement, url: string): void;
64
+ /**
65
+ * Only create blob URLs for JSON & HTML
66
+ * @param {HTMLAnchorElement} elem
67
+ * @param {Blob} blob
68
+ */
69
+ safelySetBlobHref(elem: HTMLAnchorElement, blob: Blob): void;
70
+ /**
71
+ * @param {string} markdownText
72
+ * @return {Element}
73
+ */
74
+ convertMarkdownCodeSnippets(markdownText: string): Element;
75
+ /**
76
+ * The channel to use for UTM data when rendering links to the documentation.
77
+ * @param {string} lighthouseChannel
78
+ */
79
+ setLighthouseChannel(lighthouseChannel: string): void;
80
+ /**
81
+ * ONLY use if `dom.rootEl` isn't sufficient for your needs. `dom.rootEl` is preferred
82
+ * for all scoping, because a document can have multiple reports within it.
83
+ * @return {Document}
84
+ */
85
+ document(): Document;
86
+ /**
87
+ * TODO(paulirish): import and conditionally apply the DevTools frontend subclasses instead of this
88
+ * @return {boolean}
89
+ */
90
+ isDevTools(): boolean;
91
+ /**
92
+ * Guaranteed context.querySelector. Always returns an element or throws if
93
+ * nothing matches query.
94
+ * @template {string} T
95
+ * @param {T} query
96
+ * @param {ParentNode} context
97
+ * @return {ParseSelector<T>}
98
+ */
99
+ find<T_2 extends string>(query: T_2, context: ParentNode): import("typed-query-selector/parser").ParseSelector<T_2, Element>;
100
+ /**
101
+ * Helper for context.querySelectorAll. Returns an Array instead of a NodeList.
102
+ * @template {string} T
103
+ * @param {T} query
104
+ * @param {ParentNode} context
105
+ */
106
+ findAll<T_3 extends string>(query: T_3, context: ParentNode): import("../../types/internal/query-selector.js").QuerySelectorParse<T_3>[];
107
+ /**
108
+ * Fires a custom DOM event on target.
109
+ * @param {string} name Name of the event.
110
+ * @param {Node=} target DOM node to fire the event on.
111
+ * @param {*=} detail Custom data to include.
112
+ */
113
+ fireEventOn(name: string, target?: Node | undefined, detail?: any | undefined): void;
114
+ /**
115
+ * Downloads a file (blob) using a[download].
116
+ * @param {Blob|File} blob The file to save.
117
+ * @param {string} filename
118
+ */
119
+ saveFile(blob: Blob | File, filename: string): void;
120
+ }
121
+ export type HTMLElementByTagName = HTMLElementTagNameMap & {
122
+ [id: string]: HTMLElement;
123
+ };
124
+ export type ParseSelector<T extends string> = import('typed-query-selector/parser').ParseSelector<T, Element>;
125
+ //# sourceMappingURL=dom.d.ts.map
@@ -0,0 +1,70 @@
1
+ /**
2
+ * @license Copyright 2021 The Lighthouse Authors. All Rights Reserved.
3
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
5
+ */
6
+ /** @typedef {import('./dom.js').DOM} DOM */
7
+ export class DropDownMenu {
8
+ /**
9
+ * @param {DOM} dom
10
+ */
11
+ constructor(dom: DOM);
12
+ /** @type {DOM} */
13
+ _dom: DOM;
14
+ /** @type {HTMLElement} */
15
+ _toggleEl: HTMLElement;
16
+ /** @type {HTMLElement} */
17
+ _menuEl: HTMLElement;
18
+ /**
19
+ * Keydown handler for the document.
20
+ * @param {KeyboardEvent} e
21
+ */
22
+ onDocumentKeyDown(e: KeyboardEvent): void;
23
+ /**
24
+ * Click handler for tools button.
25
+ * @param {Event} e
26
+ */
27
+ onToggleClick(e: Event): void;
28
+ /**
29
+ * Handler for tool button.
30
+ * @param {KeyboardEvent} e
31
+ */
32
+ onToggleKeydown(e: KeyboardEvent): void;
33
+ /**
34
+ * Focus out handler for the drop down menu.
35
+ * @param {FocusEvent} e
36
+ */
37
+ onMenuFocusOut(e: FocusEvent): void;
38
+ /**
39
+ * Handler for tool DropDown.
40
+ * @param {KeyboardEvent} e
41
+ */
42
+ onMenuKeydown(e: KeyboardEvent): void;
43
+ /**
44
+ * @param {?HTMLElement=} startEl
45
+ * @return {HTMLElement}
46
+ */
47
+ _getNextMenuItem(startEl?: (HTMLElement | null) | undefined): HTMLElement;
48
+ /**
49
+ * @param {Array<Node>} allNodes
50
+ * @param {?HTMLElement=} startNode
51
+ * @return {HTMLElement}
52
+ */
53
+ _getNextSelectableNode(allNodes: Array<Node>, startNode?: (HTMLElement | null) | undefined): HTMLElement;
54
+ /**
55
+ * @param {?HTMLElement=} startEl
56
+ * @return {HTMLElement}
57
+ */
58
+ _getPreviousMenuItem(startEl?: (HTMLElement | null) | undefined): HTMLElement;
59
+ /**
60
+ * @param {function(MouseEvent): any} menuClickHandler
61
+ */
62
+ setup(menuClickHandler: (arg0: MouseEvent) => any): void;
63
+ close(): void;
64
+ /**
65
+ * @param {HTMLElement} firstFocusElement
66
+ */
67
+ open(firstFocusElement: HTMLElement): void;
68
+ }
69
+ export type DOM = import('./dom.js').DOM;
70
+ //# sourceMappingURL=drop-down-menu.d.ts.map
@@ -0,0 +1,79 @@
1
+ export class ElementScreenshotRenderer {
2
+ /**
3
+ * Given the location of an element and the sizes of the preview and screenshot,
4
+ * compute the absolute positions (in screenshot coordinate scale) of the screenshot content
5
+ * and the highlighted rect around the element.
6
+ * @param {Rect} elementRectSC
7
+ * @param {Size} elementPreviewSizeSC
8
+ * @param {Size} screenshotSize
9
+ */
10
+ static getScreenshotPositions(elementRectSC: Rect, elementPreviewSizeSC: Size, screenshotSize: Size): {
11
+ screenshot: {
12
+ left: number;
13
+ top: number;
14
+ };
15
+ clip: {
16
+ left: number;
17
+ top: number;
18
+ };
19
+ };
20
+ /**
21
+ * Render a clipPath SVG element to assist marking the element's rect.
22
+ * The elementRect and previewSize are in screenshot coordinate scale.
23
+ * @param {DOM} dom
24
+ * @param {HTMLElement} maskEl
25
+ * @param {{left: number, top: number}} positionClip
26
+ * @param {Rect} elementRect
27
+ * @param {Size} elementPreviewSize
28
+ */
29
+ static renderClipPathInScreenshot(dom: DOM, maskEl: HTMLElement, positionClip: {
30
+ left: number;
31
+ top: number;
32
+ }, elementRect: Rect, elementPreviewSize: Size): void;
33
+ /**
34
+ * Called by report renderer. Defines a css variable used by any element screenshots
35
+ * in the provided report element.
36
+ * Allows for multiple Lighthouse reports to be rendered on the page, each with their
37
+ * own full page screenshot.
38
+ * @param {HTMLElement} el
39
+ * @param {LH.Result.FullPageScreenshot['screenshot']} screenshot
40
+ */
41
+ static installFullPageScreenshot(el: HTMLElement, screenshot: LH.Result.FullPageScreenshot['screenshot']): void;
42
+ /**
43
+ * Installs the lightbox elements and wires up click listeners to all .lh-element-screenshot elements.
44
+ * @param {InstallOverlayFeatureParams} opts
45
+ */
46
+ static installOverlayFeature(opts: InstallOverlayFeatureParams): void;
47
+ /**
48
+ * Given the size of the element in the screenshot and the total available size of our preview container,
49
+ * compute the factor by which we need to zoom out to view the entire element with context.
50
+ * @param {Rect} elementRectSC
51
+ * @param {Size} renderContainerSizeDC
52
+ * @return {number}
53
+ */
54
+ static _computeZoomFactor(elementRectSC: Rect, renderContainerSizeDC: Size): number;
55
+ /**
56
+ * Renders an element with surrounding context from the full page screenshot.
57
+ * Used to render both the thumbnail preview in details tables and the full-page screenshot in the lightbox.
58
+ * Returns null if element rect is outside screenshot bounds.
59
+ * @param {DOM} dom
60
+ * @param {LH.Result.FullPageScreenshot['screenshot']} screenshot
61
+ * @param {Rect} elementRectSC Region of screenshot to highlight.
62
+ * @param {Size} maxRenderSizeDC e.g. maxThumbnailSize or maxLightboxSize.
63
+ * @return {Element|null}
64
+ */
65
+ static render(dom: DOM, screenshot: LH.Result.FullPageScreenshot['screenshot'], elementRectSC: Rect, maxRenderSizeDC: Size): Element | null;
66
+ }
67
+ export type DOM = import('./dom.js').DOM;
68
+ export type Rect = LH.Audit.Details.Rect;
69
+ export type Size = {
70
+ width: number;
71
+ height: number;
72
+ };
73
+ export type InstallOverlayFeatureParams = {
74
+ dom: DOM;
75
+ rootEl: Element;
76
+ overlayContainerEl: Element;
77
+ fullPageScreenshot: LH.Result.FullPageScreenshot;
78
+ };
79
+ //# sourceMappingURL=element-screenshot-renderer.d.ts.map
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license Copyright 2021 The Lighthouse Authors. All Rights Reserved.
3
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
5
+ */
6
+ /** @typedef {import('./dom.js').DOM} DOM */
7
+ /**
8
+ * @param {DOM} dom
9
+ * @param {boolean} [force]
10
+ */
11
+ export function toggleDarkTheme(dom: DOM, force?: boolean | undefined): void;
12
+ export type DOM = import('./dom.js').DOM;
13
+ //# sourceMappingURL=features-util.d.ts.map
@@ -0,0 +1,106 @@
1
+ /**
2
+ * @template T
3
+ */
4
+ export class I18n<T> {
5
+ /**
6
+ * @param {LH.Locale} locale
7
+ * @param {T} strings
8
+ */
9
+ constructor(locale: LH.Locale, strings: T);
10
+ _locale: "en-US" | "en" | "en-AU" | "en-GB" | "en-IE" | "en-SG" | "en-ZA" | "en-IN" | "ar-XB" | "ar" | "bg" | "ca" | "cs" | "da" | "de" | "el" | "en-XL" | "es" | "es-419" | "es-AR" | "es-BO" | "es-BR" | "es-BZ" | "es-CL" | "es-CO" | "es-CR" | "es-CU" | "es-DO" | "es-EC" | "es-GT" | "es-HN" | "es-MX" | "es-NI" | "es-PA" | "es-PE" | "es-PR" | "es-PY" | "es-SV" | "es-US" | "es-UY" | "es-VE" | "fi" | "fil" | "fr" | "he" | "hi" | "hr" | "hu" | "gsw" | "id" | "in" | "it" | "iw" | "ja" | "ko" | "lt" | "lv" | "mo" | "nl" | "nb" | "no" | "pl" | "pt" | "pt-PT" | "ro" | "ru" | "sk" | "sl" | "sr" | "sr-Latn" | "sv" | "ta" | "te" | "th" | "tl" | "tr" | "uk" | "vi" | "zh" | "zh-HK" | "zh-TW";
11
+ _strings: T;
12
+ _cachedNumberFormatters: Map<any, any>;
13
+ get strings(): T;
14
+ /**
15
+ * @param {number} number
16
+ * @param {number|undefined} granularity
17
+ * @param {Intl.NumberFormatOptions=} opts
18
+ * @return {string}
19
+ */
20
+ _formatNumberWithGranularity(number: number, granularity: number | undefined, opts?: Intl.NumberFormatOptions | undefined): string;
21
+ /**
22
+ * Format number.
23
+ * @param {number} number
24
+ * @param {number=} granularity Controls how coarse the displayed value is.
25
+ * If undefined, the number will be displayed as described
26
+ * by the Intl defaults: tinyurl.com/7s67w5x7
27
+ * @return {string}
28
+ */
29
+ formatNumber(number: number, granularity?: number | undefined): string;
30
+ /**
31
+ * Format integer.
32
+ * Just like {@link formatNumber} but uses a granularity of 1, rounding to the nearest
33
+ * whole number.
34
+ * @param {number} number
35
+ * @return {string}
36
+ */
37
+ formatInteger(number: number): string;
38
+ /**
39
+ * Format percent.
40
+ * @param {number} number 0–1
41
+ * @return {string}
42
+ */
43
+ formatPercent(number: number): string;
44
+ /**
45
+ * @param {number} size
46
+ * @param {number=} granularity Controls how coarse the displayed value is.
47
+ * If undefined, the number will be displayed in full.
48
+ * @return {string}
49
+ */
50
+ formatBytesToKiB(size: number, granularity?: number | undefined): string;
51
+ /**
52
+ * @param {number} size
53
+ * @param {number=} granularity Controls how coarse the displayed value is.
54
+ * If undefined, the number will be displayed in full.
55
+ * @return {string}
56
+ */
57
+ formatBytesToMiB(size: number, granularity?: number | undefined): string;
58
+ /**
59
+ * @param {number} size
60
+ * @param {number=} granularity Controls how coarse the displayed value is.
61
+ * If undefined, the number will be displayed in full.
62
+ * @return {string}
63
+ */
64
+ formatBytes(size: number, granularity?: number | undefined): string;
65
+ /**
66
+ * @param {number} size
67
+ * @param {number=} granularity Controls how coarse the displayed value is.
68
+ * If undefined, the number will be displayed in full.
69
+ * @return {string}
70
+ */
71
+ formatBytesWithBestUnit(size: number, granularity?: number | undefined): string;
72
+ /**
73
+ * @param {number} size
74
+ * @param {number=} granularity Controls how coarse the displayed value is.
75
+ * If undefined, the number will be displayed in full.
76
+ * @return {string}
77
+ */
78
+ formatKbps(size: number, granularity?: number | undefined): string;
79
+ /**
80
+ * @param {number} ms
81
+ * @param {number=} granularity Controls how coarse the displayed value is.
82
+ * If undefined, the number will be displayed in full.
83
+ * @return {string}
84
+ */
85
+ formatMilliseconds(ms: number, granularity?: number | undefined): string;
86
+ /**
87
+ * @param {number} ms
88
+ * @param {number=} granularity Controls how coarse the displayed value is.
89
+ * If undefined, the number will be displayed in full.
90
+ * @return {string}
91
+ */
92
+ formatSeconds(ms: number, granularity?: number | undefined): string;
93
+ /**
94
+ * Format time.
95
+ * @param {string} date
96
+ * @return {string}
97
+ */
98
+ formatDateTime(date: string): string;
99
+ /**
100
+ * Converts a time in milliseconds into a duration string, i.e. `1d 2h 13m 52s`
101
+ * @param {number} timeInMilliseconds
102
+ * @return {string}
103
+ */
104
+ formatDuration(timeInMilliseconds: number): string;
105
+ }
106
+ //# sourceMappingURL=i18n.d.ts.map
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2017 The Lighthouse Authors. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS-IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Logs messages via a UI butter.
19
+ */
20
+ export class Logger {
21
+ /**
22
+ * @param {HTMLElement} element - expected to have id #lh-log
23
+ */
24
+ constructor(element: HTMLElement);
25
+ el: HTMLElement;
26
+ _id: number | undefined;
27
+ /**
28
+ * Shows a butter bar.
29
+ * @param {string} msg The message to show.
30
+ * @param {boolean=} autoHide True to hide the message after a duration.
31
+ * Default is true.
32
+ */
33
+ log(msg: string, autoHide?: boolean | undefined): void;
34
+ /**
35
+ * @param {string} msg
36
+ */
37
+ warn(msg: string): void;
38
+ /**
39
+ * @param {string} msg
40
+ */
41
+ error(msg: string): void;
42
+ /**
43
+ * Explicitly hides the butter bar.
44
+ */
45
+ hide(): void;
46
+ }
47
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Opens a new tab to the online viewer and sends the local page's JSON results
3
+ * to the online viewer using URL.fragment
4
+ * @param {LH.Result} lhr
5
+ * @protected
6
+ */
7
+ export function openViewer(lhr: LH.Result): Promise<void>;
8
+ /**
9
+ * Same as openViewer, but uses postMessage.
10
+ * @param {LH.Result} lhr
11
+ * @protected
12
+ */
13
+ export function openViewerAndSendData(lhr: LH.Result): Promise<void>;
14
+ /**
15
+ * Opens a new tab to the treemap app and sends the JSON results using URL.fragment
16
+ * @param {LH.Result} json
17
+ */
18
+ export function openTreemap(json: LH.Result): void;
19
+ //# sourceMappingURL=open-tab.d.ts.map
@@ -0,0 +1,56 @@
1
+ export class PerformanceCategoryRenderer extends CategoryRenderer {
2
+ /**
3
+ * @param {LH.ReportResult.AuditRef} audit
4
+ * @return {!Element}
5
+ */
6
+ _renderMetric(audit: LH.ReportResult.AuditRef): Element;
7
+ /**
8
+ * @param {LH.ReportResult.AuditRef} audit
9
+ * @param {number} scale
10
+ * @return {!Element}
11
+ */
12
+ _renderOpportunity(audit: LH.ReportResult.AuditRef, scale: number): Element;
13
+ /**
14
+ * Get an audit's wastedMs to sort the opportunity by, and scale the sparkline width
15
+ * Opportunities with an error won't have a details object, so MIN_VALUE is returned to keep any
16
+ * erroring opportunities last in sort order.
17
+ * @param {LH.ReportResult.AuditRef} audit
18
+ * @return {number}
19
+ */
20
+ _getWastedMs(audit: LH.ReportResult.AuditRef): number;
21
+ /**
22
+ * Get a link to the interactive scoring calculator with the metric values.
23
+ * @param {LH.ReportResult.AuditRef[]} auditRefs
24
+ * @return {string}
25
+ */
26
+ _getScoringCalculatorHref(auditRefs: LH.ReportResult.AuditRef[]): string;
27
+ /**
28
+ * For performance, audits with no group should be a diagnostic or opportunity.
29
+ * The audit details type will determine which of the two groups an audit is in.
30
+ *
31
+ * @param {LH.ReportResult.AuditRef} audit
32
+ * @return {'load-opportunity'|'diagnostic'|null}
33
+ */
34
+ _classifyPerformanceAudit(audit: LH.ReportResult.AuditRef): 'load-opportunity' | 'diagnostic' | null;
35
+ /**
36
+ * @param {LH.ReportResult.Category} category
37
+ * @param {Object<string, LH.Result.ReportGroup>} groups
38
+ * @param {{gatherMode: LH.Result.GatherMode}=} options
39
+ * @return {Element}
40
+ * @override
41
+ */
42
+ override render(category: LH.ReportResult.Category, groups: {
43
+ [x: string]: LH.Result.ReportGroup;
44
+ }, options?: {
45
+ gatherMode: LH.Result.GatherMode;
46
+ } | undefined): Element;
47
+ /**
48
+ * Render the control to filter the audits by metric. The filtering is done at runtime by CSS only
49
+ * @param {LH.ReportResult.AuditRef[]} filterableMetrics
50
+ * @param {HTMLDivElement} categoryEl
51
+ */
52
+ renderMetricAuditFilter(filterableMetrics: LH.ReportResult.AuditRef[], categoryEl: HTMLDivElement): void;
53
+ }
54
+ export type DOM = import('./dom.js').DOM;
55
+ import { CategoryRenderer } from "./category-renderer.js";
56
+ //# sourceMappingURL=performance-category-renderer.d.ts.map
@@ -116,8 +116,10 @@ export class PerformanceCategoryRenderer extends CategoryRenderer {
116
116
  _getScoringCalculatorHref(auditRefs) {
117
117
  // TODO: filter by !!acronym when dropping renderer support of v7 LHRs.
118
118
  const metrics = auditRefs.filter(audit => audit.group === 'metrics');
119
+ const tti = auditRefs.find(audit => audit.id === 'interactive');
119
120
  const fci = auditRefs.find(audit => audit.id === 'first-cpu-idle');
120
121
  const fmp = auditRefs.find(audit => audit.id === 'first-meaningful-paint');
122
+ if (tti) metrics.push(tti);
121
123
  if (fci) metrics.push(fci);
122
124
  if (fmp) metrics.push(fmp);
123
125