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,176 @@
1
+ export class CategoryRenderer {
2
+ /**
3
+ * @param {DOM} dom
4
+ * @param {DetailsRenderer} detailsRenderer
5
+ */
6
+ constructor(dom: DOM, detailsRenderer: DetailsRenderer);
7
+ /** @type {DOM} */
8
+ dom: DOM;
9
+ /** @type {DetailsRenderer} */
10
+ detailsRenderer: DetailsRenderer;
11
+ /**
12
+ * Display info per top-level clump. Define on class to avoid race with Util init.
13
+ */
14
+ get _clumpTitles(): {
15
+ warning: string;
16
+ manual: string;
17
+ passed: string;
18
+ notApplicable: string;
19
+ };
20
+ /**
21
+ * @param {LH.ReportResult.AuditRef} audit
22
+ * @return {Element}
23
+ */
24
+ renderAudit(audit: LH.ReportResult.AuditRef): Element;
25
+ /**
26
+ * Populate an DOM tree with audit details. Used by renderAudit and renderOpportunity
27
+ * @param {LH.ReportResult.AuditRef} audit
28
+ * @param {DocumentFragment} component
29
+ * @return {!Element}
30
+ */
31
+ populateAuditValues(audit: LH.ReportResult.AuditRef, component: DocumentFragment): Element;
32
+ /**
33
+ * Inject the final screenshot next to the score gauge of the first category (likely Performance)
34
+ * @param {HTMLElement} categoriesEl
35
+ * @param {LH.ReportResult['audits']} audits
36
+ * @param {Element} scoreScaleEl
37
+ */
38
+ injectFinalScreenshot(categoriesEl: HTMLElement, audits: LH.ReportResult['audits'], scoreScaleEl: Element): null | undefined;
39
+ /**
40
+ * @return {Element}
41
+ */
42
+ _createChevron(): Element;
43
+ /**
44
+ * @param {Element} element DOM node to populate with values.
45
+ * @param {number|null} score
46
+ * @param {string} scoreDisplayMode
47
+ * @return {!Element}
48
+ */
49
+ _setRatingClass(element: Element, score: number | null, scoreDisplayMode: string): Element;
50
+ /**
51
+ * @param {LH.ReportResult.Category} category
52
+ * @param {Record<string, LH.Result.ReportGroup>} groupDefinitions
53
+ * @param {{gatherMode: LH.Result.GatherMode}=} options
54
+ * @return {DocumentFragment}
55
+ */
56
+ renderCategoryHeader(category: LH.ReportResult.Category, groupDefinitions: Record<string, LH.Result.ReportGroup>, options?: {
57
+ gatherMode: LH.Result.GatherMode;
58
+ } | undefined): DocumentFragment;
59
+ /**
60
+ * Renders the group container for a group of audits. Individual audit elements can be added
61
+ * directly to the returned element.
62
+ * @param {LH.Result.ReportGroup} group
63
+ * @return {[Element, Element | null]}
64
+ */
65
+ renderAuditGroup(group: LH.Result.ReportGroup): [Element, Element | null];
66
+ /**
67
+ * Takes an array of auditRefs, groups them if requested, then returns an
68
+ * array of audit and audit-group elements.
69
+ * @param {Array<LH.ReportResult.AuditRef>} auditRefs
70
+ * @param {Object<string, LH.Result.ReportGroup>} groupDefinitions
71
+ * @return {Array<Element>}
72
+ */
73
+ _renderGroupedAudits(auditRefs: Array<LH.ReportResult.AuditRef>, groupDefinitions: {
74
+ [x: string]: LH.Result.ReportGroup;
75
+ }): Array<Element>;
76
+ /**
77
+ * Take a set of audits, group them if they have groups, then render in a top-level
78
+ * clump that can't be expanded/collapsed.
79
+ * @param {Array<LH.ReportResult.AuditRef>} auditRefs
80
+ * @param {Object<string, LH.Result.ReportGroup>} groupDefinitions
81
+ * @return {Element}
82
+ */
83
+ renderUnexpandableClump(auditRefs: Array<LH.ReportResult.AuditRef>, groupDefinitions: {
84
+ [x: string]: LH.Result.ReportGroup;
85
+ }): Element;
86
+ /**
87
+ * Take a set of audits and render in a top-level, expandable clump that starts
88
+ * in a collapsed state.
89
+ * @param {Exclude<TopLevelClumpId, 'failed'>} clumpId
90
+ * @param {{auditRefs: Array<LH.ReportResult.AuditRef>, description?: string}} clumpOpts
91
+ * @return {!Element}
92
+ */
93
+ renderClump(clumpId: Exclude<TopLevelClumpId, 'failed'>, { auditRefs, description }: {
94
+ auditRefs: Array<LH.ReportResult.AuditRef>;
95
+ description?: string;
96
+ }): Element;
97
+ /**
98
+ * @param {LH.ReportResult.Category} category
99
+ * @param {Record<string, LH.Result.ReportGroup>} groupDefinitions
100
+ * @param {{gatherMode: LH.Result.GatherMode, omitLabel?: boolean, onPageAnchorRendered?: (link: HTMLAnchorElement) => void}=} options
101
+ * @return {DocumentFragment}
102
+ */
103
+ renderCategoryScore(category: LH.ReportResult.Category, groupDefinitions: Record<string, LH.Result.ReportGroup>, options?: {
104
+ gatherMode: LH.Result.GatherMode;
105
+ omitLabel?: boolean | undefined;
106
+ onPageAnchorRendered?: ((link: HTMLAnchorElement) => void) | undefined;
107
+ } | undefined): DocumentFragment;
108
+ /**
109
+ * @param {LH.ReportResult.Category} category
110
+ * @param {Record<string, LH.Result.ReportGroup>} groupDefinitions
111
+ * @return {DocumentFragment}
112
+ */
113
+ renderScoreGauge(category: LH.ReportResult.Category, groupDefinitions: Record<string, LH.Result.ReportGroup>): DocumentFragment;
114
+ /**
115
+ * @param {LH.ReportResult.Category} category
116
+ * @return {DocumentFragment}
117
+ */
118
+ renderCategoryFraction(category: LH.ReportResult.Category): DocumentFragment;
119
+ /**
120
+ * Returns true if an LH category has any non-"notApplicable" audits.
121
+ * @param {LH.ReportResult.Category} category
122
+ * @return {boolean}
123
+ */
124
+ hasApplicableAudits(category: LH.ReportResult.Category): boolean;
125
+ /**
126
+ * Define the score arc of the gauge
127
+ * Credit to xgad for the original technique: https://codepen.io/xgad/post/svg-radial-progress-meters
128
+ * @param {SVGCircleElement} arcElem
129
+ * @param {number} percent
130
+ */
131
+ _setGaugeArc(arcElem: SVGCircleElement, percent: number): void;
132
+ /**
133
+ * @param {LH.ReportResult.AuditRef} audit
134
+ * @return {boolean}
135
+ */
136
+ _auditHasWarning(audit: LH.ReportResult.AuditRef): boolean;
137
+ /**
138
+ * Returns the id of the top-level clump to put this audit in.
139
+ * @param {LH.ReportResult.AuditRef} auditRef
140
+ * @return {TopLevelClumpId}
141
+ */
142
+ _getClumpIdForAuditRef(auditRef: LH.ReportResult.AuditRef): TopLevelClumpId;
143
+ /**
144
+ * Renders a set of top level sections (clumps), under a status of failed, warning,
145
+ * manual, passed, or notApplicable. The result ends up something like:
146
+ *
147
+ * failed clump
148
+ * ├── audit 1 (w/o group)
149
+ * ├── audit 2 (w/o group)
150
+ * ├── audit group
151
+ * | ├── audit 3
152
+ * | └── audit 4
153
+ * └── audit group
154
+ * ├── audit 5
155
+ * └── audit 6
156
+ * other clump (e.g. 'manual')
157
+ * ├── audit 1
158
+ * ├── audit 2
159
+ * ├── …
160
+ * ⋮
161
+ * @param {LH.ReportResult.Category} category
162
+ * @param {Object<string, LH.Result.ReportGroup>=} groupDefinitions
163
+ * @param {{gatherMode: LH.Result.GatherMode}=} options
164
+ * @return {Element}
165
+ */
166
+ render(category: LH.ReportResult.Category, groupDefinitions?: {
167
+ [x: string]: LH.Result.ReportGroup;
168
+ } | undefined, options?: {
169
+ gatherMode: LH.Result.GatherMode;
170
+ } | undefined): Element;
171
+ }
172
+ export type DOM = import('./dom.js').DOM;
173
+ export type ReportRenderer = import('./report-renderer.js').ReportRenderer;
174
+ export type DetailsRenderer = import('./details-renderer.js').DetailsRenderer;
175
+ export type TopLevelClumpId = 'failed' | 'warning' | 'manual' | 'passed' | 'notApplicable';
176
+ //# sourceMappingURL=category-renderer.d.ts.map
@@ -0,0 +1,10 @@
1
+ /** @typedef {'3pFilter'|'audit'|'categoryHeader'|'chevron'|'clump'|'crc'|'crcChain'|'elementScreenshot'|'footer'|'fraction'|'gauge'|'gaugePwa'|'heading'|'metric'|'opportunity'|'opportunityHeader'|'scorescale'|'scoresWrapper'|'snippet'|'snippetContent'|'snippetHeader'|'snippetLine'|'styles'|'topbar'|'warningsToplevel'} ComponentName */
2
+ /**
3
+ * @param {DOM} dom
4
+ * @param {ComponentName} componentName
5
+ * @return {DocumentFragment}
6
+ */
7
+ export function createComponent(dom: DOM, componentName: ComponentName): DocumentFragment;
8
+ export type DOM = import('./dom.js').DOM;
9
+ export type ComponentName = '3pFilter' | 'audit' | 'categoryHeader' | 'chevron' | 'clump' | 'crc' | 'crcChain' | 'elementScreenshot' | 'footer' | 'fraction' | 'gauge' | 'gaugePwa' | 'heading' | 'metric' | 'opportunity' | 'opportunityHeader' | 'scorescale' | 'scoresWrapper' | 'snippet' | 'snippetContent' | 'snippetHeader' | 'snippetLine' | 'styles' | 'topbar' | 'warningsToplevel';
10
+ //# sourceMappingURL=components.d.ts.map
@@ -0,0 +1,73 @@
1
+ export type DOM = import('./dom.js').DOM;
2
+ export type DetailsRenderer = import('./details-renderer.js').DetailsRenderer;
3
+ export type CRCSegment = {
4
+ node: LH.Audit.Details.SimpleCriticalRequestNode[string];
5
+ isLastChild: boolean;
6
+ hasChildren: boolean;
7
+ startTime: number;
8
+ transferSize: number;
9
+ treeMarkers: boolean[];
10
+ };
11
+ /** @typedef {import('./dom.js').DOM} DOM */
12
+ /** @typedef {import('./details-renderer.js').DetailsRenderer} DetailsRenderer */
13
+ /**
14
+ * @typedef CRCSegment
15
+ * @property {LH.Audit.Details.SimpleCriticalRequestNode[string]} node
16
+ * @property {boolean} isLastChild
17
+ * @property {boolean} hasChildren
18
+ * @property {number} startTime
19
+ * @property {number} transferSize
20
+ * @property {boolean[]} treeMarkers
21
+ */
22
+ export class CriticalRequestChainRenderer {
23
+ /**
24
+ * Create render context for critical-request-chain tree display.
25
+ * @param {LH.Audit.Details.SimpleCriticalRequestNode} tree
26
+ * @return {{tree: LH.Audit.Details.SimpleCriticalRequestNode, startTime: number, transferSize: number}}
27
+ */
28
+ static initTree(tree: LH.Audit.Details.SimpleCriticalRequestNode): {
29
+ tree: LH.Audit.Details.SimpleCriticalRequestNode;
30
+ startTime: number;
31
+ transferSize: number;
32
+ };
33
+ /**
34
+ * Helper to create context for each critical-request-chain node based on its
35
+ * parent. Calculates if this node is the last child, whether it has any
36
+ * children itself and what the tree looks like all the way back up to the root,
37
+ * so the tree markers can be drawn correctly.
38
+ * @param {LH.Audit.Details.SimpleCriticalRequestNode} parent
39
+ * @param {string} id
40
+ * @param {number} startTime
41
+ * @param {number} transferSize
42
+ * @param {Array<boolean>=} treeMarkers
43
+ * @param {boolean=} parentIsLastChild
44
+ * @return {CRCSegment}
45
+ */
46
+ static createSegment(parent: LH.Audit.Details.SimpleCriticalRequestNode, id: string, startTime: number, transferSize: number, treeMarkers?: Array<boolean> | undefined, parentIsLastChild?: boolean | undefined): CRCSegment;
47
+ /**
48
+ * Creates the DOM for a tree segment.
49
+ * @param {DOM} dom
50
+ * @param {CRCSegment} segment
51
+ * @param {DetailsRenderer} detailsRenderer
52
+ * @return {Node}
53
+ */
54
+ static createChainNode(dom: DOM, segment: CRCSegment, detailsRenderer: DetailsRenderer): Node;
55
+ /**
56
+ * Recursively builds a tree from segments.
57
+ * @param {DOM} dom
58
+ * @param {DocumentFragment} tmpl
59
+ * @param {CRCSegment} segment
60
+ * @param {Element} elem Parent element.
61
+ * @param {LH.Audit.Details.CriticalRequestChain} details
62
+ * @param {DetailsRenderer} detailsRenderer
63
+ */
64
+ static buildTree(dom: DOM, tmpl: DocumentFragment, segment: CRCSegment, elem: Element, details: LH.Audit.Details.CriticalRequestChain, detailsRenderer: DetailsRenderer): void;
65
+ /**
66
+ * @param {DOM} dom
67
+ * @param {LH.Audit.Details.CriticalRequestChain} details
68
+ * @param {DetailsRenderer} detailsRenderer
69
+ * @return {Element}
70
+ */
71
+ static render(dom: DOM, details: LH.Audit.Details.CriticalRequestChain, detailsRenderer: DetailsRenderer): Element;
72
+ }
73
+ //# sourceMappingURL=crc-details-renderer.d.ts.map
@@ -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