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,186 @@
1
+ /**
2
+ * Parse a manifest from the given inputs.
3
+ * @param {string} string Manifest JSON string.
4
+ * @param {string} manifestUrl URL of manifest file.
5
+ * @param {string} documentUrl URL of document containing manifest link element.
6
+ */
7
+ export function parseManifest(string: string, manifestUrl: string, documentUrl: string): {
8
+ raw: string;
9
+ value: undefined;
10
+ warning: string;
11
+ url: string;
12
+ } | {
13
+ raw: string;
14
+ value: {
15
+ name: {
16
+ raw: any;
17
+ value: string | undefined;
18
+ warning: string | undefined;
19
+ };
20
+ short_name: {
21
+ raw: any;
22
+ value: string | undefined;
23
+ warning: string | undefined;
24
+ };
25
+ start_url: {
26
+ raw: any;
27
+ value: string;
28
+ warning?: string | undefined;
29
+ };
30
+ display: {
31
+ raw: any;
32
+ value: string;
33
+ warning: string | undefined;
34
+ };
35
+ orientation: {
36
+ raw: any;
37
+ value: string | undefined;
38
+ warning: string | undefined;
39
+ };
40
+ icons: {
41
+ raw: any;
42
+ /** @type {Array<ReturnType<typeof parseIcon>>} */
43
+ value: Array<ReturnType<typeof parseIcon>>;
44
+ warning: undefined;
45
+ } | {
46
+ raw: any;
47
+ /** @type {Array<ReturnType<typeof parseIcon>>} */
48
+ value: Array<ReturnType<typeof parseIcon>>;
49
+ warning: string;
50
+ } | {
51
+ raw: any[];
52
+ value: {
53
+ raw: any;
54
+ value: {
55
+ src: {
56
+ raw: any;
57
+ value: string | undefined;
58
+ warning: string | undefined;
59
+ };
60
+ type: {
61
+ raw: any;
62
+ value: string | undefined;
63
+ warning: string | undefined;
64
+ };
65
+ density: {
66
+ raw: any;
67
+ value: number;
68
+ /** @type {string|undefined} */
69
+ warning: string | undefined;
70
+ };
71
+ sizes: {
72
+ raw: any;
73
+ value: string[] | undefined;
74
+ warning: undefined;
75
+ } | {
76
+ value: undefined;
77
+ raw: any;
78
+ warning: string | undefined;
79
+ };
80
+ purpose: {
81
+ raw: any;
82
+ value: string[];
83
+ /** @type {string|undefined} */
84
+ warning: string | undefined;
85
+ };
86
+ };
87
+ warning: undefined;
88
+ }[];
89
+ warning: string | undefined;
90
+ };
91
+ related_applications: {
92
+ raw: any;
93
+ value: undefined;
94
+ warning: undefined;
95
+ } | {
96
+ raw: any;
97
+ value: undefined;
98
+ warning: string;
99
+ } | {
100
+ raw: any[];
101
+ value: {
102
+ raw: any;
103
+ value: {
104
+ platform: {
105
+ raw: any;
106
+ value: string | undefined;
107
+ warning: string | undefined;
108
+ };
109
+ id: {
110
+ raw: any;
111
+ value: string | undefined;
112
+ warning: string | undefined;
113
+ };
114
+ url: {
115
+ raw: any;
116
+ value: string | undefined;
117
+ warning: string | undefined;
118
+ };
119
+ };
120
+ warning: undefined;
121
+ }[];
122
+ warning: undefined;
123
+ };
124
+ prefer_related_applications: {
125
+ raw: any;
126
+ value: boolean | undefined;
127
+ warning: string | undefined;
128
+ };
129
+ theme_color: {
130
+ raw: any;
131
+ value: string | undefined;
132
+ warning: string | undefined;
133
+ };
134
+ background_color: {
135
+ raw: any;
136
+ value: string | undefined;
137
+ warning: string | undefined;
138
+ };
139
+ };
140
+ warning: string | undefined;
141
+ url: string;
142
+ };
143
+ /**
144
+ * @see https://www.w3.org/TR/2016/WD-appmanifest-20160825/#src-member
145
+ * @param {*} raw
146
+ * @param {string} manifestUrl
147
+ */
148
+ declare function parseIcon(raw: any, manifestUrl: string): {
149
+ raw: any;
150
+ value: {
151
+ src: {
152
+ raw: any;
153
+ value: string | undefined;
154
+ warning: string | undefined;
155
+ };
156
+ type: {
157
+ raw: any;
158
+ value: string | undefined;
159
+ warning: string | undefined;
160
+ };
161
+ density: {
162
+ raw: any;
163
+ value: number;
164
+ /** @type {string|undefined} */
165
+ warning: string | undefined;
166
+ };
167
+ sizes: {
168
+ raw: any;
169
+ value: string[] | undefined;
170
+ warning: undefined;
171
+ } | {
172
+ value: undefined;
173
+ raw: any;
174
+ warning: string | undefined;
175
+ };
176
+ purpose: {
177
+ raw: any;
178
+ value: string[];
179
+ /** @type {string|undefined} */
180
+ warning: string | undefined;
181
+ };
182
+ };
183
+ warning: undefined;
184
+ };
185
+ export {};
186
+ //# sourceMappingURL=manifest-parser.d.ts.map
@@ -0,0 +1,17 @@
1
+ /**
2
+ * We want the run that's closest to the median of the FCP and the median of the TTI.
3
+ * We're using the Euclidean distance for that (https://en.wikipedia.org/wiki/Euclidean_distance).
4
+ * We use FCP and TTI because they represent the earliest and latest moments in the page lifecycle.
5
+ * We avoid the median of single measures like the performance score because they can still exhibit
6
+ * outlier behavior at the beginning or end of load.
7
+ *
8
+ * @param {Array<LH.Result>} runs
9
+ * @return {LH.Result}
10
+ */
11
+ export function computeMedianRun(runs: Array<LH.Result>): LH.Result;
12
+ /**
13
+ * @param {Array<LH.Result>} runs
14
+ * @return {Array<LH.Result>}
15
+ */
16
+ export function filterToValidRuns(runs: Array<LH.Result>): Array<LH.Result>;
17
+ //# sourceMappingURL=median-run.d.ts.map
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @param {string} content
3
+ */
4
+ export function computeJSTokenLength(content: string): number;
5
+ /**
6
+ * @param {string} content
7
+ */
8
+ export function computeCSSTokenLength(content: string): number;
9
+ //# sourceMappingURL=minification-estimator.d.ts.map
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @param {LH.DevtoolsLog} log
3
+ * @return {LH.DevtoolsLog}
4
+ */
5
+ export function minifyDevtoolsLog(log: import("..").DevtoolsLog): import("..").DevtoolsLog;
6
+ //# sourceMappingURL=minify-devtoolslog.d.ts.map
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @param {LH.Trace} inputTrace
3
+ * @return {LH.Trace}
4
+ */
5
+ export function minifyTrace(inputTrace: LH.Trace): LH.Trace;
6
+ //# sourceMappingURL=minify-trace.d.ts.map
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Returns an error if the original network request failed or wasn't found.
3
+ * @param {LH.Artifacts.NetworkRequest|undefined} mainRecord
4
+ * @return {LH.LighthouseError|undefined}
5
+ */
6
+ export function getNetworkError(mainRecord: LH.Artifacts.NetworkRequest | undefined): LH.LighthouseError | undefined;
7
+ /**
8
+ * Returns an error if we ended up on the `chrome-error` page and all other requests failed.
9
+ * @param {LH.Artifacts.NetworkRequest|undefined} mainRecord
10
+ * @param {Array<LH.Artifacts.NetworkRequest>} networkRecords
11
+ * @return {LH.LighthouseError|undefined}
12
+ */
13
+ export function getInterstitialError(mainRecord: LH.Artifacts.NetworkRequest | undefined, networkRecords: Array<LH.Artifacts.NetworkRequest>): LH.LighthouseError | undefined;
14
+ /**
15
+ * Returns an error if the page load should be considered failed, e.g. from a
16
+ * main document request failure, a security issue, etc.
17
+ * @param {LH.LighthouseError|undefined} navigationError
18
+ * @param {{url: string, loadFailureMode: LH.Gatherer.PassContext['passConfig']['loadFailureMode'], networkRecords: Array<LH.Artifacts.NetworkRequest>, warnings: Array<string | LH.IcuMessage>}} context
19
+ * @return {LH.LighthouseError|undefined}
20
+ */
21
+ export function getPageLoadError(navigationError: LH.LighthouseError | undefined, context: {
22
+ url: string;
23
+ loadFailureMode: LH.Gatherer.PassContext['passConfig']['loadFailureMode'];
24
+ networkRecords: Array<LH.Artifacts.NetworkRequest>;
25
+ warnings: Array<string | LH.IcuMessage>;
26
+ }): LH.LighthouseError | undefined;
27
+ /**
28
+ * Returns an error if we try to load a non-HTML page.
29
+ * Expects a network request with all redirects resolved, otherwise the MIME type may be incorrect.
30
+ * @param {LH.Artifacts.NetworkRequest|undefined} finalRecord
31
+ * @return {LH.LighthouseError|undefined}
32
+ */
33
+ export function getNonHtmlError(finalRecord: LH.Artifacts.NetworkRequest | undefined): LH.LighthouseError | undefined;
34
+ export namespace UIStrings {
35
+ const warningXhtml: string;
36
+ }
37
+ import { NetworkRequest } from "./network-request.js";
38
+ import { LighthouseError } from "./lh-error.js";
39
+ //# sourceMappingURL=navigation-error.d.ts.map
@@ -0,0 +1,115 @@
1
+ export type NetworkRecorderEventMap = {
2
+ requeststarted: [NetworkRequest];
3
+ requestfinished: [NetworkRequest];
4
+ };
5
+ export type RequestEmitter = LH.Protocol.StrictEventEmitterClass<NetworkRecorderEventMap>;
6
+ declare const NetworkRecorder_base: RequestEmitter;
7
+ export class NetworkRecorder extends NetworkRecorder_base {
8
+ /**
9
+ * @param {NetworkRequest} record The record to find the initiator of
10
+ * @param {Map<string, NetworkRequest[]>} recordsByURL
11
+ * @return {NetworkRequest|null}
12
+ * @private
13
+ */
14
+ private static _chooseInitiatorRequest;
15
+ /**
16
+ * Construct network records from a log of devtools protocol messages.
17
+ * @param {LH.DevtoolsLog} devtoolsLog
18
+ * @return {Array<LH.Artifacts.NetworkRequest>}
19
+ */
20
+ static recordsFromLogs(devtoolsLog: import("../index.js").DevtoolsLog): Array<LH.Artifacts.NetworkRequest>;
21
+ /** @type {NetworkRequest[]} */
22
+ _records: NetworkRequest[];
23
+ /** @type {Map<string, NetworkRequest>} */
24
+ _recordsById: Map<string, NetworkRequest>;
25
+ /** @type {string|null|undefined} */
26
+ _mainSessionId: string | null | undefined;
27
+ /**
28
+ * Returns the array of raw network request data without finalizing the initiator and
29
+ * redirect chain.
30
+ * @return {Array<NetworkRequest>}
31
+ */
32
+ getRawRecords(): Array<NetworkRequest>;
33
+ /**
34
+ * Listener for the DevTools SDK NetworkManager's RequestStarted event, which includes both
35
+ * web socket and normal request creation.
36
+ * @param {NetworkRequest} request
37
+ * @private
38
+ */
39
+ private onRequestStarted;
40
+ /**
41
+ * Listener for the DevTools SDK NetworkManager's RequestFinished event, which includes
42
+ * request finish, failure, and redirect, as well as the closing of web sockets.
43
+ * @param {NetworkRequest} request
44
+ * @private
45
+ */
46
+ private onRequestFinished;
47
+ /**
48
+ * @param {{params: LH.Crdp.Network.RequestWillBeSentEvent, sessionId?: string}} event
49
+ */
50
+ onRequestWillBeSent(event: {
51
+ params: LH.Crdp.Network.RequestWillBeSentEvent;
52
+ sessionId?: string;
53
+ }): void;
54
+ /**
55
+ * @param {{params: LH.Crdp.Network.RequestServedFromCacheEvent, sessionId?: string}} event
56
+ */
57
+ onRequestServedFromCache(event: {
58
+ params: LH.Crdp.Network.RequestServedFromCacheEvent;
59
+ sessionId?: string;
60
+ }): void;
61
+ /**
62
+ * @param {{params: LH.Crdp.Network.ResponseReceivedEvent, sessionId?: string}} event
63
+ */
64
+ onResponseReceived(event: {
65
+ params: LH.Crdp.Network.ResponseReceivedEvent;
66
+ sessionId?: string;
67
+ }): void;
68
+ /**
69
+ * @param {{params: LH.Crdp.Network.DataReceivedEvent, sessionId?: string}} event
70
+ */
71
+ onDataReceived(event: {
72
+ params: LH.Crdp.Network.DataReceivedEvent;
73
+ sessionId?: string;
74
+ }): void;
75
+ /**
76
+ * @param {{params: LH.Crdp.Network.LoadingFinishedEvent, sessionId?: string}} event
77
+ */
78
+ onLoadingFinished(event: {
79
+ params: LH.Crdp.Network.LoadingFinishedEvent;
80
+ sessionId?: string;
81
+ }): void;
82
+ /**
83
+ * @param {{params: LH.Crdp.Network.LoadingFailedEvent, sessionId?: string}} event
84
+ */
85
+ onLoadingFailed(event: {
86
+ params: LH.Crdp.Network.LoadingFailedEvent;
87
+ sessionId?: string;
88
+ }): void;
89
+ /**
90
+ * @param {{params: LH.Crdp.Network.ResourceChangedPriorityEvent, sessionId?: string}} event
91
+ */
92
+ onResourceChangedPriority(event: {
93
+ params: LH.Crdp.Network.ResourceChangedPriorityEvent;
94
+ sessionId?: string;
95
+ }): void;
96
+ /**
97
+ * Routes network events to their handlers, so we can construct networkRecords
98
+ * @param {LH.Protocol.RawEventMessage} event
99
+ */
100
+ dispatch(event: LH.Protocol.RawEventMessage): void;
101
+ /**
102
+ * Redirected requests all have identical requestIds over the protocol. Once a request has been
103
+ * redirected all future messages referrencing that requestId are about the new destination, not
104
+ * the original. This method is a helper for finding the real request object to which the current
105
+ * message is referring.
106
+ *
107
+ * @param {string} requestId
108
+ * @param {string|undefined} sessionId
109
+ * @return {NetworkRequest|undefined}
110
+ */
111
+ _findRealRequestAndSetSession(requestId: string, sessionId: string | undefined): NetworkRequest | undefined;
112
+ }
113
+ import { NetworkRequest } from "./network-request.js";
114
+ export {};
115
+ //# sourceMappingURL=network-recorder.d.ts.map
@@ -0,0 +1,245 @@
1
+ export type HeaderEntry = {
2
+ name: string;
3
+ value: string;
4
+ };
5
+ export type ParsedURL = {
6
+ /**
7
+ * Equivalent to a `new URL(url).protocol` BUT w/o the trailing colon (:)
8
+ */
9
+ scheme: string;
10
+ /**
11
+ * Equivalent to a `new URL(url).hostname`
12
+ */
13
+ host: string;
14
+ securityOrigin: string;
15
+ };
16
+ /**
17
+ * The difference in endTime between the observed Lighthouse endTime and Lightrider's derived endTime.
18
+ */
19
+ export type LightriderStatistics = {
20
+ /**
21
+ * The time spent making a TCP connection (connect + SSL).
22
+ */
23
+ endTimeDeltaMs: number;
24
+ /**
25
+ * The time spent requesting a resource from a remote server, we use this to approx RTT.
26
+ */
27
+ TCPMs: number;
28
+ /**
29
+ * The time spent transferring a resource from a remote server.
30
+ */
31
+ requestMs: number;
32
+ responseMs: number;
33
+ };
34
+ export class NetworkRequest {
35
+ /**
36
+ * Convert the requestId to backend-version by removing the `:redirect` portion
37
+ *
38
+ * @param {string} requestId
39
+ * @return {string}
40
+ */
41
+ static getRequestIdForBackend(requestId: string): string;
42
+ /**
43
+ * Based on DevTools NetworkManager.
44
+ * @see https://github.com/ChromeDevTools/devtools-frontend/blob/3415ee28e86a3f4bcc2e15b652d22069938df3a6/front_end/sdk/NetworkManager.js#L285-L297
45
+ * @param {LH.Crdp.Network.Headers} headersDict
46
+ * @return {Array<HeaderEntry>}
47
+ */
48
+ static _headersDictToHeadersArray(headersDict: LH.Crdp.Network.Headers): Array<HeaderEntry>;
49
+ static get TYPES(): LH.Util.SelfMap<LH.Crdp.Network.ResourceType>;
50
+ /**
51
+ * @param {NetworkRequest} record
52
+ * @return {boolean}
53
+ */
54
+ static isNonNetworkRequest(record: NetworkRequest): boolean;
55
+ /**
56
+ * Technically there's not alignment on URLs that create "secure connections" vs "secure contexts"
57
+ * https://github.com/GoogleChrome/lighthouse/pull/11766#discussion_r582340683
58
+ * But for our purposes, we don't need to worry too much.
59
+ * @param {NetworkRequest} record
60
+ * @return {boolean}
61
+ */
62
+ static isSecureRequest(record: NetworkRequest): boolean;
63
+ /**
64
+ * Returns whether the network request was an HSTS redirect request.
65
+ * @param {NetworkRequest} record
66
+ * @return {boolean}
67
+ */
68
+ static isHstsRequest(record: NetworkRequest): boolean;
69
+ /**
70
+ * Resource size is almost always the right one to be using because of the below:
71
+ * `transferSize = resourceSize + headers.length`.
72
+ * HOWEVER, there are some cases where an image is compressed again over the network and transfer size
73
+ * is smaller (see https://github.com/GoogleChrome/lighthouse/pull/4968).
74
+ * Use the min of the two numbers to be safe.
75
+ * `tranferSize` of cached records is 0
76
+ * @param {NetworkRequest} networkRecord
77
+ * @return {number}
78
+ */
79
+ static getResourceSizeOnNetwork(networkRecord: NetworkRequest): number;
80
+ requestId: string;
81
+ connectionId: string;
82
+ connectionReused: boolean;
83
+ url: string;
84
+ protocol: string;
85
+ isSecure: boolean;
86
+ isValid: boolean;
87
+ parsedURL: ParsedURL;
88
+ documentURL: string;
89
+ /**
90
+ * When the network service is about to handle a request, ie. just before going to the
91
+ * HTTP cache or going to the network for DNS/connection setup, in milliseconds.
92
+ */
93
+ startTime: number;
94
+ /** When the last byte of the response body is received, in milliseconds. */
95
+ endTime: number;
96
+ /** When the last byte of the response headers is received, in milliseconds. */
97
+ responseReceivedTime: number;
98
+ transferSize: number;
99
+ resourceSize: number;
100
+ fromDiskCache: boolean;
101
+ fromMemoryCache: boolean;
102
+ fromPrefetchCache: boolean;
103
+ /** @type {LightriderStatistics|undefined} Extra timing information available only when run in Lightrider. */
104
+ lrStatistics: LightriderStatistics | undefined;
105
+ finished: boolean;
106
+ requestMethod: string;
107
+ statusCode: number;
108
+ /** @type {NetworkRequest|undefined} The network request that redirected to this one */
109
+ redirectSource: NetworkRequest | undefined;
110
+ /** @type {NetworkRequest|undefined} The network request that this one redirected to */
111
+ redirectDestination: NetworkRequest | undefined;
112
+ /** @type {NetworkRequest[]|undefined} The chain of network requests that redirected to this one */
113
+ redirects: NetworkRequest[] | undefined;
114
+ failed: boolean;
115
+ localizedFailDescription: string;
116
+ /** @type {LH.Crdp.Network.Initiator} */
117
+ initiator: LH.Crdp.Network.Initiator;
118
+ /** @type {LH.Crdp.Network.ResourceTiming|undefined} */
119
+ timing: LH.Crdp.Network.ResourceTiming | undefined;
120
+ /** @type {LH.Crdp.Network.ResourceType|undefined} */
121
+ resourceType: LH.Crdp.Network.ResourceType | undefined;
122
+ mimeType: string;
123
+ /** @type {LH.Crdp.Network.ResourcePriority} */
124
+ priority: LH.Crdp.Network.ResourcePriority;
125
+ /** @type {NetworkRequest|undefined} */
126
+ initiatorRequest: NetworkRequest | undefined;
127
+ /** @type {HeaderEntry[]} */
128
+ responseHeaders: HeaderEntry[];
129
+ /** @type {string} */
130
+ responseHeadersText: string;
131
+ fetchedViaServiceWorker: boolean;
132
+ /** @type {string|undefined} */
133
+ frameId: string | undefined;
134
+ /**
135
+ * @type {string|undefined}
136
+ * Only set for child targets (OOPIFs). This is the sessionId of the protocol connection on
137
+ * which this request was discovered. `undefined` means it came from the root.
138
+ */
139
+ sessionId: string | undefined;
140
+ isLinkPreload: boolean;
141
+ /**
142
+ * @return {boolean}
143
+ */
144
+ hasErrorStatusCode(): boolean;
145
+ /**
146
+ * @param {NetworkRequest} initiatorRequest
147
+ */
148
+ setInitiatorRequest(initiatorRequest: NetworkRequest): void;
149
+ /**
150
+ * @param {LH.Crdp.Network.RequestWillBeSentEvent} data
151
+ */
152
+ onRequestWillBeSent(data: LH.Crdp.Network.RequestWillBeSentEvent): void;
153
+ onRequestServedFromCache(): void;
154
+ /**
155
+ * @param {LH.Crdp.Network.ResponseReceivedEvent} data
156
+ */
157
+ onResponseReceived(data: LH.Crdp.Network.ResponseReceivedEvent): void;
158
+ /**
159
+ * @param {LH.Crdp.Network.DataReceivedEvent} data
160
+ */
161
+ onDataReceived(data: LH.Crdp.Network.DataReceivedEvent): void;
162
+ /**
163
+ * @param {LH.Crdp.Network.LoadingFinishedEvent} data
164
+ */
165
+ onLoadingFinished(data: LH.Crdp.Network.LoadingFinishedEvent): void;
166
+ /**
167
+ * @param {LH.Crdp.Network.LoadingFailedEvent} data
168
+ */
169
+ onLoadingFailed(data: LH.Crdp.Network.LoadingFailedEvent): void;
170
+ /**
171
+ * @param {LH.Crdp.Network.ResourceChangedPriorityEvent} data
172
+ */
173
+ onResourceChangedPriority(data: LH.Crdp.Network.ResourceChangedPriorityEvent): void;
174
+ /**
175
+ * @param {LH.Crdp.Network.RequestWillBeSentEvent} data
176
+ */
177
+ onRedirectResponse(data: LH.Crdp.Network.RequestWillBeSentEvent): void;
178
+ /**
179
+ * @param {string=} sessionId
180
+ */
181
+ setSession(sessionId?: string | undefined): void;
182
+ /**
183
+ * @param {LH.Crdp.Network.Response} response
184
+ * @param {number} timestamp in seconds
185
+ * @param {LH.Crdp.Network.ResponseReceivedEvent['type']=} resourceType
186
+ */
187
+ _onResponse(response: LH.Crdp.Network.Response, timestamp: number, resourceType?: LH.Crdp.Network.ResponseReceivedEvent['type'] | undefined): void;
188
+ /**
189
+ * Resolve differences between conflicting timing signals. Based on the property setters in DevTools.
190
+ * @see https://github.com/ChromeDevTools/devtools-frontend/blob/56a99365197b85c24b732ac92b0ac70feed80179/front_end/sdk/NetworkRequest.js#L485-L502
191
+ * @param {LH.Crdp.Network.ResourceTiming} timing
192
+ */
193
+ _recomputeTimesWithResourceTiming(timing: LH.Crdp.Network.ResourceTiming): void;
194
+ /**
195
+ * Update responseReceivedTime to the endTime if endTime is earlier.
196
+ * A response can't be received after the entire request finished.
197
+ */
198
+ _updateResponseReceivedTimeIfNecessary(): void;
199
+ /**
200
+ * LR loses transfer size information, but passes it in the 'X-TotalFetchedSize' header.
201
+ * 'X-TotalFetchedSize' is the canonical transfer size in LR. Nothing should supersede it.
202
+ *
203
+ * The total length of the encoded data is spread out among multiple events. The sum of the
204
+ * values in onResponseReceived and all the onDataReceived events typically equals the value
205
+ * seen on the onLoadingFinished event. In <1% of cases we see the values differ. As we process
206
+ * onResponseReceived and onDataReceived we accumulate the total encodedDataLength. When we
207
+ * process onLoadingFinished, we override the accumulated total. We do this so that if the
208
+ * request is aborted or fails, we still get a value via the accumulation.
209
+ *
210
+ * In Lightrider, due to instrumentation limitations, our values for encodedDataLength are bogus
211
+ * and not valid. However the resource's true encodedDataLength/transferSize is shared via a
212
+ * special response header, X-TotalFetchedSize. In this situation, we read this value from
213
+ * responseReceived, use it for the transferSize and ignore the encodedDataLength values in
214
+ * both dataReceived and loadingFinished.
215
+ */
216
+ _updateTransferSizeForLightrider(): void;
217
+ /**
218
+ * LR loses protocol information.
219
+ */
220
+ _updateProtocolForLightrider(): void;
221
+ /**
222
+ * LR gets additional, accurate timing information from its underlying fetch infrastructure. This
223
+ * is passed in via X-Headers similar to 'X-TotalFetchedSize'.
224
+ */
225
+ _updateTimingsForLightrider(): void;
226
+ }
227
+ export namespace NetworkRequest {
228
+ export { HEADER_TCP };
229
+ export { HEADER_SSL };
230
+ export { HEADER_REQ };
231
+ export { HEADER_RES };
232
+ export { HEADER_TOTAL };
233
+ export { HEADER_FETCHED_SIZE };
234
+ export { HEADER_PROTOCOL_IS_H2 };
235
+ }
236
+ import * as LH from "../../types/lh.js";
237
+ declare const HEADER_TCP: "X-TCPMs";
238
+ declare const HEADER_SSL: "X-SSLMs";
239
+ declare const HEADER_REQ: "X-RequestMs";
240
+ declare const HEADER_RES: "X-ResponseMs";
241
+ declare const HEADER_TOTAL: "X-TotalMs";
242
+ declare const HEADER_FETCHED_SIZE: "X-TotalFetchedSize";
243
+ declare const HEADER_PROTOCOL_IS_H2: "X-ProtocolIsH2";
244
+ export {};
245
+ //# sourceMappingURL=network-request.d.ts.map
@@ -52,6 +52,7 @@
52
52
  Trace: ResourceFinish.ts
53
53
  */
54
54
 
55
+ import * as LH from '../../types/lh.js';
55
56
  import UrlUtils from './url-utils.js';
56
57
 
57
58
  // Lightrider X-Header names for timing information.