lighthouse 12.1.0 → 12.2.0

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 (436) hide show
  1. package/cli/cli-flags.d.ts +2 -2
  2. package/cli/cli-flags.js +1 -1
  3. package/cli/sentry-prompt.js +2 -2
  4. package/cli/test/smokehouse/frontends/lib.d.ts +1 -1
  5. package/cli/test/smokehouse/lib/concurrent-mapper.d.ts +6 -6
  6. package/cli/test/smokehouse/lighthouse-runners/bundle.d.ts +1 -1
  7. package/cli/test/smokehouse/lighthouse-runners/cli.d.ts +1 -2
  8. package/cli/test/smokehouse/lighthouse-runners/devtools.d.ts +1 -1
  9. package/cli/test/smokehouse/report-assert.d.ts +0 -1
  10. package/cli/test/smokehouse/version-check.d.ts +3 -3
  11. package/core/audits/accessibility/accesskeys.d.ts +3 -3
  12. package/core/audits/accessibility/aria-allowed-attr.d.ts +3 -3
  13. package/core/audits/accessibility/aria-allowed-role.d.ts +3 -3
  14. package/core/audits/accessibility/aria-command-name.d.ts +3 -3
  15. package/core/audits/accessibility/aria-conditional-attr.d.ts +3 -3
  16. package/core/audits/accessibility/aria-deprecated-role.d.ts +3 -3
  17. package/core/audits/accessibility/aria-dialog-name.d.ts +3 -3
  18. package/core/audits/accessibility/aria-hidden-body.d.ts +3 -3
  19. package/core/audits/accessibility/aria-hidden-focus.d.ts +3 -3
  20. package/core/audits/accessibility/aria-input-field-name.d.ts +3 -3
  21. package/core/audits/accessibility/aria-meter-name.d.ts +3 -3
  22. package/core/audits/accessibility/aria-progressbar-name.d.ts +3 -3
  23. package/core/audits/accessibility/aria-prohibited-attr.d.ts +3 -3
  24. package/core/audits/accessibility/aria-required-attr.d.ts +3 -3
  25. package/core/audits/accessibility/aria-required-children.d.ts +3 -3
  26. package/core/audits/accessibility/aria-required-parent.d.ts +3 -3
  27. package/core/audits/accessibility/aria-roles.d.ts +3 -3
  28. package/core/audits/accessibility/aria-text.d.ts +3 -3
  29. package/core/audits/accessibility/aria-toggle-field-name.d.ts +3 -3
  30. package/core/audits/accessibility/aria-tooltip-name.d.ts +3 -3
  31. package/core/audits/accessibility/aria-treeitem-name.d.ts +3 -3
  32. package/core/audits/accessibility/aria-valid-attr-value.d.ts +3 -3
  33. package/core/audits/accessibility/aria-valid-attr.d.ts +3 -3
  34. package/core/audits/accessibility/axe-audit.d.ts +1 -1
  35. package/core/audits/accessibility/button-name.d.ts +3 -3
  36. package/core/audits/accessibility/bypass.d.ts +3 -3
  37. package/core/audits/accessibility/color-contrast.d.ts +3 -3
  38. package/core/audits/accessibility/definition-list.d.ts +3 -3
  39. package/core/audits/accessibility/dlitem.d.ts +3 -3
  40. package/core/audits/accessibility/document-title.d.ts +3 -3
  41. package/core/audits/accessibility/duplicate-id-aria.d.ts +3 -3
  42. package/core/audits/accessibility/empty-heading.d.ts +3 -3
  43. package/core/audits/accessibility/form-field-multiple-labels.d.ts +3 -3
  44. package/core/audits/accessibility/frame-title.d.ts +3 -3
  45. package/core/audits/accessibility/heading-order.d.ts +3 -3
  46. package/core/audits/accessibility/html-has-lang.d.ts +3 -3
  47. package/core/audits/accessibility/html-lang-valid.d.ts +3 -3
  48. package/core/audits/accessibility/html-xml-lang-mismatch.d.ts +3 -3
  49. package/core/audits/accessibility/identical-links-same-purpose.d.ts +3 -3
  50. package/core/audits/accessibility/image-alt.d.ts +3 -3
  51. package/core/audits/accessibility/image-redundant-alt.d.ts +3 -3
  52. package/core/audits/accessibility/input-button-name.d.ts +3 -3
  53. package/core/audits/accessibility/input-image-alt.d.ts +3 -3
  54. package/core/audits/accessibility/label-content-name-mismatch.d.ts +3 -3
  55. package/core/audits/accessibility/label.d.ts +3 -3
  56. package/core/audits/accessibility/landmark-one-main.d.ts +3 -3
  57. package/core/audits/accessibility/link-in-text-block.d.ts +3 -3
  58. package/core/audits/accessibility/link-name.d.ts +3 -3
  59. package/core/audits/accessibility/list.d.ts +3 -3
  60. package/core/audits/accessibility/listitem.d.ts +3 -3
  61. package/core/audits/accessibility/meta-refresh.d.ts +3 -3
  62. package/core/audits/accessibility/meta-viewport.d.ts +3 -3
  63. package/core/audits/accessibility/object-alt.d.ts +3 -3
  64. package/core/audits/accessibility/select-name.d.ts +3 -3
  65. package/core/audits/accessibility/skip-link.d.ts +3 -3
  66. package/core/audits/accessibility/tabindex.d.ts +3 -3
  67. package/core/audits/accessibility/table-duplicate-name.d.ts +3 -3
  68. package/core/audits/accessibility/table-fake-caption.d.ts +3 -3
  69. package/core/audits/accessibility/target-size.d.ts +3 -3
  70. package/core/audits/accessibility/td-has-header.d.ts +3 -3
  71. package/core/audits/accessibility/td-headers-attr.d.ts +3 -3
  72. package/core/audits/accessibility/th-has-data-cells.d.ts +3 -3
  73. package/core/audits/accessibility/valid-lang.d.ts +3 -3
  74. package/core/audits/accessibility/video-caption.d.ts +3 -3
  75. package/core/audits/audit.d.ts +17 -17
  76. package/core/audits/autocomplete.d.ts +9 -9
  77. package/core/audits/bf-cache.d.ts +10 -10
  78. package/core/audits/bootup-time.d.ts +7 -7
  79. package/core/audits/byte-efficiency/byte-efficiency-audit.d.ts +6 -8
  80. package/core/audits/byte-efficiency/byte-efficiency-audit.js +3 -6
  81. package/core/audits/byte-efficiency/duplicated-javascript.d.ts +4 -4
  82. package/core/audits/byte-efficiency/efficient-animated-content.d.ts +3 -4
  83. package/core/audits/byte-efficiency/legacy-javascript.d.ts +7 -8
  84. package/core/audits/byte-efficiency/modern-image-formats.d.ts +3 -3
  85. package/core/audits/byte-efficiency/offscreen-images.d.ts +3 -4
  86. package/core/audits/byte-efficiency/render-blocking-resources.d.ts +5 -9
  87. package/core/audits/byte-efficiency/render-blocking-resources.js +10 -16
  88. package/core/audits/byte-efficiency/total-byte-weight.d.ts +4 -4
  89. package/core/audits/byte-efficiency/unminified-css.d.ts +3 -3
  90. package/core/audits/byte-efficiency/unminified-javascript.d.ts +3 -3
  91. package/core/audits/byte-efficiency/unused-css-rules.d.ts +3 -3
  92. package/core/audits/byte-efficiency/unused-javascript.d.ts +3 -3
  93. package/core/audits/byte-efficiency/uses-long-cache-ttl.d.ts +4 -6
  94. package/core/audits/byte-efficiency/uses-optimized-images.d.ts +3 -3
  95. package/core/audits/byte-efficiency/uses-responsive-images-snapshot.d.ts +4 -4
  96. package/core/audits/byte-efficiency/uses-responsive-images.d.ts +4 -5
  97. package/core/audits/byte-efficiency/uses-text-compression.d.ts +3 -3
  98. package/core/audits/critical-request-chains.d.ts +3 -3
  99. package/core/audits/csp-xss.d.ts +8 -8
  100. package/core/audits/deprecations.d.ts +6 -6
  101. package/core/audits/dobetterweb/charset.d.ts +3 -3
  102. package/core/audits/dobetterweb/doctype.d.ts +9 -9
  103. package/core/audits/dobetterweb/dom-size.d.ts +9 -9
  104. package/core/audits/dobetterweb/geolocation-on-start.d.ts +3 -3
  105. package/core/audits/dobetterweb/inspector-issues.d.ts +6 -6
  106. package/core/audits/dobetterweb/js-libraries.d.ts +3 -3
  107. package/core/audits/dobetterweb/no-document-write.d.ts +3 -3
  108. package/core/audits/dobetterweb/notification-on-start.d.ts +3 -3
  109. package/core/audits/dobetterweb/paste-preventing-inputs.d.ts +3 -3
  110. package/core/audits/dobetterweb/uses-http2.d.ts +7 -11
  111. package/core/audits/dobetterweb/uses-http2.js +2 -5
  112. package/core/audits/dobetterweb/uses-passive-event-listeners.d.ts +3 -3
  113. package/core/audits/errors-in-console.d.ts +4 -4
  114. package/core/audits/font-display.d.ts +4 -4
  115. package/core/audits/image-aspect-ratio.d.ts +5 -5
  116. package/core/audits/image-size-responsive.d.ts +7 -7
  117. package/core/audits/is-on-https.d.ts +10 -10
  118. package/core/audits/largest-contentful-paint-element.d.ts +9 -9
  119. package/core/audits/layout-shifts.d.ts +9 -9
  120. package/core/audits/lcp-lazy-loaded.d.ts +3 -3
  121. package/core/audits/long-tasks.d.ts +11 -11
  122. package/core/audits/long-tasks.js +5 -5
  123. package/core/audits/mainthread-work-breakdown.d.ts +5 -5
  124. package/core/audits/metrics/cumulative-layout-shift.d.ts +1 -1
  125. package/core/audits/metrics/first-contentful-paint.d.ts +1 -1
  126. package/core/audits/metrics/first-meaningful-paint.d.ts +1 -1
  127. package/core/audits/metrics/interaction-to-next-paint.d.ts +1 -1
  128. package/core/audits/metrics/interactive.d.ts +1 -1
  129. package/core/audits/metrics/largest-contentful-paint.d.ts +1 -1
  130. package/core/audits/metrics/max-potential-fid.d.ts +2 -4
  131. package/core/audits/metrics/speed-index.d.ts +1 -1
  132. package/core/audits/metrics/total-blocking-time.d.ts +1 -1
  133. package/core/audits/network-rtt.d.ts +2 -2
  134. package/core/audits/network-server-latency.d.ts +2 -2
  135. package/core/audits/non-composited-animations.d.ts +9 -9
  136. package/core/audits/oopif-iframe-test-audit.d.ts +5 -5
  137. package/core/audits/preload-fonts.d.ts +3 -3
  138. package/core/audits/prioritize-lcp-image.d.ts +7 -7
  139. package/core/audits/redirects-http.d.ts +3 -3
  140. package/core/audits/redirects.d.ts +2 -3
  141. package/core/audits/resource-summary.d.ts +1 -1
  142. package/core/audits/screenshot-thumbnails.d.ts +2 -3
  143. package/core/audits/script-treemap-data.d.ts +1 -1
  144. package/core/audits/seo/canonical.d.ts +8 -8
  145. package/core/audits/seo/crawlable-anchors.d.ts +4 -4
  146. package/core/audits/seo/font-size.d.ts +11 -11
  147. package/core/audits/seo/hreflang.d.ts +6 -6
  148. package/core/audits/seo/http-status-code.d.ts +3 -3
  149. package/core/audits/seo/is-crawlable.d.ts +9 -10
  150. package/core/audits/seo/link-text.d.ts +4 -4
  151. package/core/audits/seo/manual/structured-data.d.ts +2 -2
  152. package/core/audits/seo/meta-description.d.ts +4 -4
  153. package/core/audits/seo/robots-txt.d.ts +6 -6
  154. package/core/audits/server-response-time.d.ts +4 -4
  155. package/core/audits/third-party-cookies.d.ts +4 -4
  156. package/core/audits/third-party-facades.d.ts +11 -12
  157. package/core/audits/third-party-summary.d.ts +5 -6
  158. package/core/audits/third-party-summary.js +7 -4
  159. package/core/audits/unsized-images.d.ts +3 -3
  160. package/core/audits/user-timings.d.ts +6 -6
  161. package/core/audits/uses-rel-preconnect.d.ts +5 -5
  162. package/core/audits/uses-rel-preload.d.ts +7 -7
  163. package/core/audits/uses-rel-preload.js +8 -6
  164. package/core/audits/valid-source-maps.d.ts +6 -7
  165. package/core/audits/viewport.d.ts +4 -4
  166. package/core/audits/work-during-interaction.d.ts +11 -12
  167. package/core/computed/computed-artifact.d.ts +2 -2
  168. package/core/computed/critical-request-chains.d.ts +9 -11
  169. package/core/computed/critical-request-chains.js +6 -6
  170. package/core/computed/document-urls.d.ts +3 -8
  171. package/core/computed/document-urls.js +1 -1
  172. package/core/computed/entity-classification.d.ts +6 -8
  173. package/core/computed/image-records.d.ts +3 -5
  174. package/core/computed/js-bundles.d.ts +2 -4
  175. package/core/computed/lcp-image-record.d.ts +3 -5
  176. package/core/computed/load-simulator.d.ts +7 -11
  177. package/core/computed/load-simulator.js +1 -1
  178. package/core/computed/main-resource.d.ts +5 -7
  179. package/core/computed/main-resource.js +1 -1
  180. package/core/computed/main-thread-tasks.d.ts +1 -3
  181. package/core/computed/metrics/cumulative-layout-shift.d.ts +2 -14
  182. package/core/computed/metrics/first-contentful-paint-all-frames.d.ts +1 -3
  183. package/core/computed/metrics/first-contentful-paint.d.ts +1 -3
  184. package/core/computed/metrics/interactive.d.ts +1 -3
  185. package/core/computed/metrics/lantern-first-contentful-paint.d.ts +3 -7
  186. package/core/computed/metrics/lantern-first-contentful-paint.js +3 -5
  187. package/core/computed/metrics/lantern-interactive.d.ts +3 -7
  188. package/core/computed/metrics/lantern-interactive.js +3 -5
  189. package/core/computed/metrics/lantern-largest-contentful-paint.d.ts +3 -7
  190. package/core/computed/metrics/lantern-largest-contentful-paint.js +3 -5
  191. package/core/computed/metrics/lantern-max-potential-fid.d.ts +3 -7
  192. package/core/computed/metrics/lantern-max-potential-fid.js +3 -5
  193. package/core/computed/metrics/lantern-metric.d.ts +8 -8
  194. package/core/computed/metrics/lantern-metric.js +1 -1
  195. package/core/computed/metrics/lantern-speed-index.d.ts +3 -7
  196. package/core/computed/metrics/lantern-speed-index.js +3 -5
  197. package/core/computed/metrics/lantern-total-blocking-time.d.ts +3 -7
  198. package/core/computed/metrics/lantern-total-blocking-time.js +1 -3
  199. package/core/computed/metrics/largest-contentful-paint-all-frames.d.ts +1 -3
  200. package/core/computed/metrics/largest-contentful-paint.d.ts +1 -3
  201. package/core/computed/metrics/lcp-breakdown.d.ts +3 -9
  202. package/core/computed/metrics/max-potential-fid.d.ts +1 -3
  203. package/core/computed/metrics/responsiveness.d.ts +7 -10
  204. package/core/computed/metrics/speed-index.d.ts +1 -3
  205. package/core/computed/metrics/time-to-first-byte.d.ts +1 -3
  206. package/core/computed/metrics/timing-summary.d.ts +8 -13
  207. package/core/computed/metrics/total-blocking-time.d.ts +1 -3
  208. package/core/computed/metrics/total-blocking-time.js +1 -1
  209. package/core/computed/module-duplication.d.ts +2 -8
  210. package/core/computed/navigation-insights.d.ts +2 -4
  211. package/core/computed/network-analysis.d.ts +2 -4
  212. package/core/computed/network-analysis.js +1 -1
  213. package/core/computed/network-records.d.ts +1 -3
  214. package/core/computed/page-dependency-graph.d.ts +9 -14
  215. package/core/computed/page-dependency-graph.js +3 -4
  216. package/core/computed/processed-navigation.d.ts +2 -5
  217. package/core/computed/processed-trace.d.ts +1 -3
  218. package/core/computed/resource-summary.d.ts +6 -10
  219. package/core/computed/screenshots.d.ts +1 -6
  220. package/core/computed/speedline.d.ts +1 -3
  221. package/core/computed/tbt-impact-tasks.d.ts +4 -5
  222. package/core/computed/tbt-impact-tasks.js +31 -8
  223. package/core/computed/trace-engine-result.d.ts +1 -3
  224. package/core/computed/trace-engine-result.js +10 -1
  225. package/core/computed/unused-css.d.ts +7 -9
  226. package/core/computed/unused-javascript-summary.d.ts +3 -5
  227. package/core/computed/user-timings.d.ts +3 -5
  228. package/core/computed/viewport-meta.d.ts +7 -9
  229. package/core/config/config-helpers.d.ts +5 -5
  230. package/core/config/config.d.ts +3 -3
  231. package/core/config/constants.d.ts +6 -6
  232. package/core/config/filters.d.ts +8 -8
  233. package/core/config/validation.d.ts +1 -1
  234. package/core/gather/driver/environment.d.ts +5 -5
  235. package/core/gather/driver/environment.js +1 -1
  236. package/core/gather/driver/execution-context.d.ts +6 -6
  237. package/core/gather/driver/navigation.d.ts +3 -3
  238. package/core/gather/driver/network-monitor.d.ts +6 -6
  239. package/core/gather/driver/storage.d.ts +4 -4
  240. package/core/gather/driver/target-manager.d.ts +4 -5
  241. package/core/gather/driver/target-manager.js +1 -1
  242. package/core/gather/driver/wait-for-condition.d.ts +3 -3
  243. package/core/gather/driver/wait-for-condition.js +4 -4
  244. package/core/gather/driver.d.ts +1 -1
  245. package/core/gather/gatherers/accessibility.d.ts +1 -1
  246. package/core/gather/gatherers/anchor-elements.d.ts +1 -1
  247. package/core/gather/gatherers/bf-cache-failures.d.ts +3 -3
  248. package/core/gather/gatherers/cache-contents.d.ts +1 -1
  249. package/core/gather/gatherers/console-messages.d.ts +1 -1
  250. package/core/gather/gatherers/css-usage.d.ts +1 -1
  251. package/core/gather/gatherers/devtools-log-compat.d.ts +3 -3
  252. package/core/gather/gatherers/devtools-log.d.ts +3 -3
  253. package/core/gather/gatherers/dobetterweb/doctype.d.ts +1 -1
  254. package/core/gather/gatherers/dobetterweb/domstats.d.ts +1 -1
  255. package/core/gather/gatherers/dobetterweb/optimized-images.d.ts +6 -7
  256. package/core/gather/gatherers/dobetterweb/response-compression.d.ts +4 -5
  257. package/core/gather/gatherers/full-page-screenshot.d.ts +3 -3
  258. package/core/gather/gatherers/iframe-elements.d.ts +1 -1
  259. package/core/gather/gatherers/image-elements.d.ts +1 -1
  260. package/core/gather/gatherers/inputs.d.ts +1 -1
  261. package/core/gather/gatherers/inspector-issues.d.ts +2 -2
  262. package/core/gather/gatherers/js-usage.d.ts +1 -1
  263. package/core/gather/gatherers/link-elements.d.ts +6 -10
  264. package/core/gather/gatherers/link-elements.js +5 -12
  265. package/core/gather/gatherers/main-document-content.d.ts +2 -2
  266. package/core/gather/gatherers/meta-elements.d.ts +1 -1
  267. package/core/gather/gatherers/network-user-agent.d.ts +4 -4
  268. package/core/gather/gatherers/root-causes.d.ts +3 -4
  269. package/core/gather/gatherers/seo/font-size.d.ts +19 -19
  270. package/core/gather/gatherers/seo/robots-txt.d.ts +1 -1
  271. package/core/gather/gatherers/source-maps.d.ts +2 -2
  272. package/core/gather/gatherers/stacks.d.ts +2 -2
  273. package/core/gather/gatherers/stylesheets.d.ts +1 -9
  274. package/core/gather/gatherers/stylesheets.js +8 -39
  275. package/core/gather/gatherers/trace-compat.d.ts +3 -3
  276. package/core/gather/gatherers/trace-elements.d.ts +4 -6
  277. package/core/gather/navigation-runner.d.ts +3 -4
  278. package/core/gather/runner-helpers.d.ts +3 -3
  279. package/core/gather/session.d.ts +4 -4
  280. package/core/gather/session.js +1 -1
  281. package/core/gather/snapshot-runner.d.ts +2 -2
  282. package/core/gather/timespan-runner.d.ts +3 -3
  283. package/core/index.d.cts +1 -7
  284. package/core/index.d.ts +6 -6
  285. package/core/lib/arbitrary-equality-map.d.ts +2 -2
  286. package/core/lib/asset-saver.d.ts +3 -3
  287. package/core/lib/asset-saver.js +1 -1
  288. package/core/lib/bf-cache-strings.d.ts +117 -117
  289. package/core/lib/cdt/Platform.d.ts +1 -1
  290. package/core/lib/cdt/SDK.d.ts +1 -1
  291. package/core/lib/cdt/generated/ParsedURL.js +2 -2
  292. package/core/lib/cdt/generated/SourceMap.d.ts +11 -11
  293. package/core/lib/cdt/generated/SourceMap.js +3 -3
  294. package/core/lib/csp-evaluator.d.ts +20 -20
  295. package/core/lib/deprecation-description.d.ts +3 -3
  296. package/core/lib/deprecations-strings.d.ts +112 -112
  297. package/core/lib/i18n/i18n.d.ts +48 -48
  298. package/core/lib/icons.d.ts +3 -3
  299. package/core/lib/lantern/lantern.d.ts +2 -19
  300. package/core/lib/lantern/lantern.js +2 -45
  301. package/core/lib/lantern-trace-saver.d.ts +5 -7
  302. package/core/lib/lantern-trace-saver.js +2 -3
  303. package/core/lib/lh-error.d.ts +87 -87
  304. package/core/lib/lighthouse-compatibility.d.ts +1 -1
  305. package/core/lib/manifest-parser.d.ts +1 -1
  306. package/core/lib/minify-devtoolslog.d.ts +1 -1
  307. package/core/lib/navigation-error.d.ts +4 -6
  308. package/core/lib/navigation-error.js +2 -2
  309. package/core/lib/network-recorder.js +1 -1
  310. package/core/lib/network-request.d.ts +5 -5
  311. package/core/lib/network-request.js +2 -2
  312. package/core/lib/page-functions.d.ts +2 -2
  313. package/core/lib/script-helpers.d.ts +0 -1
  314. package/core/lib/sentry.d.ts +8 -8
  315. package/core/lib/stack-packs.d.ts +1 -1
  316. package/core/lib/trace-engine.d.ts +2 -2
  317. package/core/lib/tracehouse/cpu-profile-model.d.ts +8 -8
  318. package/core/lib/tracehouse/cpu-profile-model.js +2 -2
  319. package/core/lib/tracehouse/main-thread-tasks.d.ts +5 -5
  320. package/core/lib/tracehouse/task-groups.d.ts +6 -38
  321. package/core/lib/tracehouse/task-summary.d.ts +0 -1
  322. package/core/lib/tracehouse/trace-processor.d.ts +9 -9
  323. package/core/lib/traces/metric-trace-events.d.ts +1 -1
  324. package/core/lib/url-utils.d.ts +4 -4
  325. package/core/runner.d.ts +3 -4
  326. package/core/runner.js +0 -1
  327. package/core/scoring.d.ts +0 -1
  328. package/core/user-flow.d.ts +5 -5
  329. package/dist/report/bundle.esm.js +1 -1
  330. package/dist/report/flow.js +1 -1
  331. package/dist/report/standalone.js +1 -1
  332. package/eslint-local-rules.d.cts +4 -1
  333. package/flow-report/src/i18n/localized-strings.d.ts +1 -1
  334. package/flow-report/src/i18n/ui-strings.d.ts +43 -43
  335. package/package.json +7 -7
  336. package/readme.md +0 -2
  337. package/report/generator/file-namer.d.ts +2 -2
  338. package/report/generator/flow-report-assets.d.ts +1 -1
  339. package/report/generator/report-generator.d.ts +4 -4
  340. package/report/renderer/api.d.ts +2 -5
  341. package/report/renderer/category-renderer.d.ts +8 -8
  342. package/report/renderer/components.d.ts +2 -2
  343. package/report/renderer/crc-details-renderer.d.ts +2 -2
  344. package/report/renderer/details-renderer.d.ts +7 -7
  345. package/report/renderer/dom.d.ts +7 -7
  346. package/report/renderer/drop-down-menu.d.ts +1 -1
  347. package/report/renderer/drop-down-menu.js +15 -17
  348. package/report/renderer/element-screenshot-renderer.d.ts +3 -3
  349. package/report/renderer/explodey-gauge.d.ts +2 -2
  350. package/report/renderer/features-util.d.ts +1 -1
  351. package/report/renderer/performance-category-renderer.d.ts +1 -1
  352. package/report/renderer/report-globals.d.ts +1 -1
  353. package/report/renderer/report-renderer.d.ts +1 -1
  354. package/report/renderer/report-ui-features.d.ts +1 -1
  355. package/report/renderer/report-utils.d.ts +62 -62
  356. package/report/renderer/snippet-renderer.d.ts +9 -9
  357. package/report/renderer/swap-locale-feature.d.ts +2 -2
  358. package/report/renderer/topbar-features.d.ts +2 -2
  359. package/report/types/augment-dom.d.ts +0 -11
  360. package/shared/localization/format.d.ts +3 -3
  361. package/shared/localization/locales/en-US.json +1 -1
  362. package/shared/localization/locales/en-XL.json +1 -1
  363. package/shared/localization/locales.d.ts +1 -1
  364. package/shared/type-verifiers.d.ts +1 -1
  365. package/shared/util.d.ts +6 -6
  366. package/tsconfig.json +1 -11
  367. package/types/artifacts.d.ts +4 -4
  368. package/types/gatherer.d.ts +4 -5
  369. package/types/internal/node.d.ts +0 -6
  370. package/types/internal/query-selector.d.ts +2 -2
  371. package/core/lib/lantern/BaseNode.d.ts +0 -163
  372. package/core/lib/lantern/BaseNode.js +0 -369
  373. package/core/lib/lantern/BaseNode.test.js +0 -385
  374. package/core/lib/lantern/CpuNode.d.ts +0 -43
  375. package/core/lib/lantern/CpuNode.js +0 -99
  376. package/core/lib/lantern/LanternError.d.ts +0 -8
  377. package/core/lib/lantern/LanternError.js +0 -9
  378. package/core/lib/lantern/Metric.d.ts +0 -69
  379. package/core/lib/lantern/Metric.js +0 -137
  380. package/core/lib/lantern/NetworkNode.d.ts +0 -49
  381. package/core/lib/lantern/NetworkNode.js +0 -136
  382. package/core/lib/lantern/PageDependencyGraph.d.ts +0 -82
  383. package/core/lib/lantern/PageDependencyGraph.js +0 -610
  384. package/core/lib/lantern/PageDependencyGraph.test.js +0 -654
  385. package/core/lib/lantern/TBTUtils.d.ts +0 -44
  386. package/core/lib/lantern/TBTUtils.js +0 -76
  387. package/core/lib/lantern/TBTUtils.test.d.ts +0 -2
  388. package/core/lib/lantern/TBTUtils.test.js +0 -130
  389. package/core/lib/lantern/TraceEngineComputationData.d.ts +0 -25
  390. package/core/lib/lantern/TraceEngineComputationData.js +0 -466
  391. package/core/lib/lantern/metrics/FirstContentfulPaint.d.ts +0 -79
  392. package/core/lib/lantern/metrics/FirstContentfulPaint.js +0 -198
  393. package/core/lib/lantern/metrics/FirstContentfulPaint.test.js +0 -54
  394. package/core/lib/lantern/metrics/Interactive.d.ts +0 -20
  395. package/core/lib/lantern/metrics/Interactive.js +0 -109
  396. package/core/lib/lantern/metrics/Interactive.test.js +0 -56
  397. package/core/lib/lantern/metrics/LargestContentfulPaint.d.ts +0 -19
  398. package/core/lib/lantern/metrics/LargestContentfulPaint.js +0 -105
  399. package/core/lib/lantern/metrics/LargestContentfulPaint.test.js +0 -42
  400. package/core/lib/lantern/metrics/MaxPotentialFID.d.ts +0 -24
  401. package/core/lib/lantern/metrics/MaxPotentialFID.js +0 -91
  402. package/core/lib/lantern/metrics/MetricTestUtils.d.ts +0 -19
  403. package/core/lib/lantern/metrics/MetricTestUtils.js +0 -48
  404. package/core/lib/lantern/metrics/SpeedIndex.d.ts +0 -32
  405. package/core/lib/lantern/metrics/SpeedIndex.js +0 -142
  406. package/core/lib/lantern/metrics/SpeedIndex.test.js +0 -83
  407. package/core/lib/lantern/metrics/TotalBlockingTime.d.ts +0 -25
  408. package/core/lib/lantern/metrics/TotalBlockingTime.js +0 -125
  409. package/core/lib/lantern/metrics/__snapshots__/FirstContentfulPaint.test.js.snap +0 -11
  410. package/core/lib/lantern/metrics/__snapshots__/Interactive.test.js.snap +0 -17
  411. package/core/lib/lantern/metrics/metrics.d.ts +0 -9
  412. package/core/lib/lantern/metrics/metrics.js +0 -16
  413. package/core/lib/lantern/simulation/ConnectionPool.d.ts +0 -48
  414. package/core/lib/lantern/simulation/ConnectionPool.js +0 -152
  415. package/core/lib/lantern/simulation/ConnectionPool.test.js +0 -195
  416. package/core/lib/lantern/simulation/Constants.d.ts +0 -52
  417. package/core/lib/lantern/simulation/Constants.js +0 -48
  418. package/core/lib/lantern/simulation/DNSCache.d.ts +0 -42
  419. package/core/lib/lantern/simulation/DNSCache.js +0 -74
  420. package/core/lib/lantern/simulation/DNSCache.test.js +0 -72
  421. package/core/lib/lantern/simulation/NetworkAnalyzer.d.ts +0 -209
  422. package/core/lib/lantern/simulation/NetworkAnalyzer.js +0 -597
  423. package/core/lib/lantern/simulation/NetworkAnalyzer.test.js +0 -475
  424. package/core/lib/lantern/simulation/SimulationTimingMap.d.ts +0 -153
  425. package/core/lib/lantern/simulation/SimulationTimingMap.js +0 -219
  426. package/core/lib/lantern/simulation/Simulator.d.ts +0 -157
  427. package/core/lib/lantern/simulation/Simulator.js +0 -593
  428. package/core/lib/lantern/simulation/Simulator.test.js +0 -434
  429. package/core/lib/lantern/simulation/TCPConnection.test.d.ts +0 -2
  430. package/core/lib/lantern/simulation/TCPConnection.test.js +0 -374
  431. package/core/lib/lantern/simulation/TcpConnection.d.ts +0 -89
  432. package/core/lib/lantern/simulation/TcpConnection.js +0 -230
  433. package/core/lib/lantern/simulation/simulation.d.ts +0 -21
  434. package/core/lib/lantern/simulation/simulation.js +0 -28
  435. package/core/lib/lantern/types/lantern.d.ts +0 -256
  436. package/core/lib/lantern/types/lantern.js +0 -7
@@ -1,219 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2020 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- import * as Lantern from '../lantern.js';
8
-
9
- /**
10
- * @fileoverview
11
- *
12
- * This class encapsulates the type-related validation logic for moving timing information for nodes
13
- * through the different simulation phases. Methods here ensure that the invariants of simulation hold
14
- * as nodes are queued, partially simulated, and completed.
15
- */
16
-
17
- /** @typedef {import('../BaseNode.js').Node} Node */
18
- /** @typedef {import('../NetworkNode.js').NetworkNode} NetworkNode */
19
- /** @typedef {import('../CpuNode.js').CPUNode} CpuNode */
20
-
21
- /**
22
- * @typedef NodeTimingComplete
23
- * @property {number} startTime
24
- * @property {number} endTime
25
- * @property {number} queuedTime Helpful for debugging.
26
- * @property {number} estimatedTimeElapsed
27
- * @property {number} timeElapsed
28
- * @property {number} timeElapsedOvershoot
29
- * @property {number} bytesDownloaded
30
- */
31
-
32
- /** @typedef {Pick<NodeTimingComplete, 'queuedTime'>} NodeTimingQueued */
33
-
34
- /** @typedef {NodeTimingQueued & Pick<NodeTimingComplete, 'startTime'|'timeElapsed'>} CpuNodeTimingStarted */
35
- /** @typedef {CpuNodeTimingStarted & Pick<NodeTimingComplete, 'timeElapsedOvershoot'|'bytesDownloaded'>} NetworkNodeTimingStarted */
36
-
37
- /** @typedef {CpuNodeTimingStarted & Pick<NodeTimingComplete, 'estimatedTimeElapsed'>} CpuNodeTimingInProgress */
38
- /** @typedef {NetworkNodeTimingStarted & Pick<NodeTimingComplete, 'estimatedTimeElapsed'>} NetworkNodeTimingInProgress */
39
-
40
- /** @typedef {CpuNodeTimingInProgress & Pick<NodeTimingComplete, 'endTime'>} CpuNodeTimingComplete */
41
- /** @typedef {NetworkNodeTimingInProgress & Pick<NodeTimingComplete, 'endTime'> & {connectionTiming: ConnectionTiming}} NetworkNodeTimingComplete */
42
-
43
- /** @typedef {NodeTimingQueued | CpuNodeTimingStarted | NetworkNodeTimingStarted | CpuNodeTimingInProgress | NetworkNodeTimingInProgress | CpuNodeTimingComplete | NetworkNodeTimingComplete} NodeTimingData */
44
-
45
- /**
46
- * @typedef ConnectionTiming A breakdown of network connection timings.
47
- * @property {number} [dnsResolutionTime]
48
- * @property {number} [connectionTime]
49
- * @property {number} [sslTime]
50
- * @property {number} timeToFirstByte
51
- */
52
-
53
- class SimulatorTimingMap {
54
- constructor() {
55
- /** @type {Map<Node, NodeTimingData>} */
56
- this._nodeTimings = new Map();
57
- }
58
-
59
- /** @return {Array<Node>} */
60
- getNodes() {
61
- return Array.from(this._nodeTimings.keys());
62
- }
63
-
64
- /**
65
- * @param {Node} node
66
- * @param {{queuedTime: number}} values
67
- */
68
- setReadyToStart(node, values) {
69
- this._nodeTimings.set(node, values);
70
- }
71
-
72
- /**
73
- * @param {Node} node
74
- * @param {{startTime: number}} values
75
- */
76
- setInProgress(node, values) {
77
- const nodeTiming = {
78
- ...this.getQueued(node),
79
- startTime: values.startTime,
80
- timeElapsed: 0,
81
- };
82
-
83
- this._nodeTimings.set(
84
- node,
85
- node.type === Lantern.BaseNode.TYPES.NETWORK
86
- ? {...nodeTiming, timeElapsedOvershoot: 0, bytesDownloaded: 0}
87
- : nodeTiming
88
- );
89
- }
90
-
91
- /**
92
- * @param {Node} node
93
- * @param {{endTime: number, connectionTiming?: ConnectionTiming}} values
94
- */
95
- setCompleted(node, values) {
96
- const nodeTiming = {
97
- ...this.getInProgress(node),
98
- endTime: values.endTime,
99
- connectionTiming: values.connectionTiming,
100
- };
101
-
102
- this._nodeTimings.set(node, nodeTiming);
103
- }
104
-
105
- /**
106
- * @param {CpuNode} node
107
- * @param {{timeElapsed: number}} values
108
- */
109
- setCpu(node, values) {
110
- const nodeTiming = {
111
- ...this.getCpuStarted(node),
112
- timeElapsed: values.timeElapsed,
113
- };
114
-
115
- this._nodeTimings.set(node, nodeTiming);
116
- }
117
-
118
- /**
119
- * @param {CpuNode} node
120
- * @param {{estimatedTimeElapsed: number}} values
121
- */
122
- setCpuEstimated(node, values) {
123
- const nodeTiming = {
124
- ...this.getCpuStarted(node),
125
- estimatedTimeElapsed: values.estimatedTimeElapsed,
126
- };
127
-
128
- this._nodeTimings.set(node, nodeTiming);
129
- }
130
-
131
- /**
132
- * @param {NetworkNode} node
133
- * @param {{timeElapsed: number, timeElapsedOvershoot: number, bytesDownloaded: number}} values
134
- */
135
- setNetwork(node, values) {
136
- const nodeTiming = {
137
- ...this.getNetworkStarted(node),
138
- timeElapsed: values.timeElapsed,
139
- timeElapsedOvershoot: values.timeElapsedOvershoot,
140
- bytesDownloaded: values.bytesDownloaded,
141
- };
142
-
143
- this._nodeTimings.set(node, nodeTiming);
144
- }
145
-
146
- /**
147
- * @param {NetworkNode} node
148
- * @param {{estimatedTimeElapsed: number}} values
149
- */
150
- setNetworkEstimated(node, values) {
151
- const nodeTiming = {
152
- ...this.getNetworkStarted(node),
153
- estimatedTimeElapsed: values.estimatedTimeElapsed,
154
- };
155
-
156
- this._nodeTimings.set(node, nodeTiming);
157
- }
158
-
159
- /**
160
- * @param {Node} node
161
- * @return {NodeTimingQueued}
162
- */
163
- getQueued(node) {
164
- const timing = this._nodeTimings.get(node);
165
- if (!timing) throw new Error(`Node ${node.id} not yet queued`);
166
- return timing;
167
- }
168
-
169
- /**
170
- * @param {CpuNode} node
171
- * @return {CpuNodeTimingStarted}
172
- */
173
- getCpuStarted(node) {
174
- const timing = this._nodeTimings.get(node);
175
- if (!timing) throw new Error(`Node ${node.id} not yet queued`);
176
- if (!('startTime' in timing)) throw new Error(`Node ${node.id} not yet started`);
177
- if ('bytesDownloaded' in timing) throw new Error(`Node ${node.id} timing not valid`);
178
- return timing;
179
- }
180
-
181
- /**
182
- * @param {NetworkNode} node
183
- * @return {NetworkNodeTimingStarted}
184
- */
185
- getNetworkStarted(node) {
186
- const timing = this._nodeTimings.get(node);
187
- if (!timing) throw new Error(`Node ${node.id} not yet queued`);
188
- if (!('startTime' in timing)) throw new Error(`Node ${node.id} not yet started`);
189
- if (!('bytesDownloaded' in timing)) throw new Error(`Node ${node.id} timing not valid`);
190
- return timing;
191
- }
192
-
193
- /**
194
- * @param {Node} node
195
- * @return {CpuNodeTimingInProgress | NetworkNodeTimingInProgress}
196
- */
197
- getInProgress(node) {
198
- const timing = this._nodeTimings.get(node);
199
- if (!timing) throw new Error(`Node ${node.id} not yet queued`);
200
- if (!('startTime' in timing)) throw new Error(`Node ${node.id} not yet started`);
201
- if (!('estimatedTimeElapsed' in timing)) throw new Error(`Node ${node.id} not yet in progress`);
202
- return timing;
203
- }
204
-
205
- /**
206
- * @param {Node} node
207
- * @return {CpuNodeTimingComplete | NetworkNodeTimingComplete}
208
- */
209
- getCompleted(node) {
210
- const timing = this._nodeTimings.get(node);
211
- if (!timing) throw new Error(`Node ${node.id} not yet queued`);
212
- if (!('startTime' in timing)) throw new Error(`Node ${node.id} not yet started`);
213
- if (!('estimatedTimeElapsed' in timing)) throw new Error(`Node ${node.id} not yet in progress`);
214
- if (!('endTime' in timing)) throw new Error(`Node ${node.id} not yet completed`);
215
- return timing;
216
- }
217
- }
218
-
219
- export {SimulatorTimingMap};
@@ -1,157 +0,0 @@
1
- export type Node = import('../BaseNode.js').Node;
2
- export type NetworkNode = import('../NetworkNode.js').NetworkNode;
3
- export type CpuNode = import('../CpuNode.js').CPUNode;
4
- export type CompleteNodeTiming = import('./SimulationTimingMap.js').CpuNodeTimingComplete | import('./SimulationTimingMap.js').NetworkNodeTimingComplete;
5
- export type ConnectionTiming = import('./SimulationTimingMap.js').ConnectionTiming;
6
- /**
7
- * @template [T=any]
8
- */
9
- export class Simulator<T = any> {
10
- /**
11
- * @param {Lantern.Simulation.Settings} settings
12
- */
13
- static createSimulator(settings: Lantern.Simulation.Settings): Simulator<any>;
14
- /** @return {Map<string, Map<Node, CompleteNodeTiming>>} */
15
- static get ALL_NODE_TIMINGS(): Map<string, Map<Node, CompleteNodeTiming>>;
16
- /**
17
- * We attempt to start nodes by their observed start time using the request priority as a tie breaker.
18
- * When simulating, just because a low priority image started 5ms before a high priority image doesn't mean
19
- * it would have happened like that when the network was slower.
20
- * @param {Node} node
21
- */
22
- static _computeNodeStartPosition(node: Node): number;
23
- /**
24
- * @param {Lantern.Simulation.Options} [options]
25
- */
26
- constructor(options?: import("../types/lantern.js").Simulation.Options | undefined);
27
- /** @type {Required<Lantern.Simulation.Options>} */
28
- _options: Required<Lantern.Simulation.Options>;
29
- _rtt: number;
30
- _throughput: number;
31
- _maximumConcurrentRequests: number;
32
- _cpuSlowdownMultiplier: number;
33
- _layoutTaskMultiplier: number;
34
- /** @type {Array<Node>} */
35
- _cachedNodeListByStartPosition: Array<Node>;
36
- _nodeTimings: Lantern.Simulation.SimulatorTimingMap;
37
- /** @type {Map<string, number>} */
38
- _numberInProgressByType: Map<string, number>;
39
- /** @type {Record<number, Set<Node>>} */
40
- _nodes: Record<number, Set<Node>>;
41
- _dns: Lantern.Simulation.DNSCache;
42
- /** @type {ConnectionPool} */
43
- _connectionPool: ConnectionPool;
44
- /** @return {number} */
45
- get rtt(): number;
46
- /**
47
- * @param {Node} graph
48
- */
49
- _initializeConnectionPool(graph: Node): void;
50
- /**
51
- * Initializes the various state data structures such _nodeTimings and the _node Sets by state.
52
- */
53
- _initializeAuxiliaryData(): void;
54
- /**
55
- * @param {string} type
56
- * @return {number}
57
- */
58
- _numberInProgress(type: string): number;
59
- /**
60
- * @param {Node} node
61
- * @param {number} queuedTime
62
- */
63
- _markNodeAsReadyToStart(node: Node, queuedTime: number): void;
64
- /**
65
- * @param {Node} node
66
- * @param {number} startTime
67
- */
68
- _markNodeAsInProgress(node: Node, startTime: number): void;
69
- /**
70
- * @param {Node} node
71
- * @param {number} endTime
72
- * @param {ConnectionTiming} [connectionTiming] Optional network connection information.
73
- */
74
- _markNodeAsComplete(node: Node, endTime: number, connectionTiming?: import("./SimulationTimingMap.js").ConnectionTiming | undefined): void;
75
- /**
76
- * @param {Lantern.NetworkRequest} request
77
- * @return {?TcpConnection}
78
- */
79
- _acquireConnection(request: Lantern.NetworkRequest): TcpConnection | null;
80
- /**
81
- * @return {Node[]}
82
- */
83
- _getNodesSortedByStartPosition(): Node[];
84
- /**
85
- * @param {Node} node
86
- * @param {number} totalElapsedTime
87
- */
88
- _startNodeIfPossible(node: Node, totalElapsedTime: number): void;
89
- /**
90
- * Updates each connection in use with the available throughput based on the number of network requests
91
- * currently in flight.
92
- */
93
- _updateNetworkCapacity(): void;
94
- /**
95
- * Estimates the number of milliseconds remaining given current condidtions before the node is complete.
96
- * @param {Node} node
97
- * @return {number}
98
- */
99
- _estimateTimeRemaining(node: Node): number;
100
- /**
101
- * @param {CpuNode} cpuNode
102
- * @return {number}
103
- */
104
- _estimateCPUTimeRemaining(cpuNode: CpuNode): number;
105
- /**
106
- * @param {NetworkNode} networkNode
107
- * @return {number}
108
- */
109
- _estimateNetworkTimeRemaining(networkNode: NetworkNode): number;
110
- /**
111
- * Computes and returns the minimum estimated completion time of the nodes currently in progress.
112
- * @return {number}
113
- */
114
- _findNextNodeCompletionTime(): number;
115
- /**
116
- * Given a time period, computes the progress toward completion that the node made durin that time.
117
- * @param {Node} node
118
- * @param {number} timePeriodLength
119
- * @param {number} totalElapsedTime
120
- */
121
- _updateProgressMadeInTimePeriod(node: Node, timePeriodLength: number, totalElapsedTime: number): number | void;
122
- /**
123
- * @return {{nodeTimings: Map<Node, Lantern.Simulation.NodeTiming>, completeNodeTimings: Map<Node, CompleteNodeTiming>}}
124
- */
125
- _computeFinalNodeTimings(): {
126
- nodeTimings: Map<Node, Lantern.Simulation.NodeTiming>;
127
- completeNodeTimings: Map<Node, CompleteNodeTiming>;
128
- };
129
- /**
130
- * @return {Required<Lantern.Simulation.Options>}
131
- */
132
- getOptions(): Required<Lantern.Simulation.Options>;
133
- /**
134
- * Estimates the time taken to process all of the graph's nodes, returns the overall time along with
135
- * each node annotated by start/end times.
136
- *
137
- * Simulator/connection pool are allowed to deviate from what was
138
- * observed in the trace/devtoolsLog and start requests as soon as they are queued (i.e. do not
139
- * wait around for a warm connection to be available if the original request was fetched on a warm
140
- * connection).
141
- *
142
- * @param {Node} graph
143
- * @param {{label?: string}=} options
144
- * @return {Lantern.Simulation.Result<T>}
145
- */
146
- simulate(graph: Node, options?: {
147
- label?: string;
148
- } | undefined): Lantern.Simulation.Result<T>;
149
- /**
150
- * @param {number} wastedBytes
151
- */
152
- computeWastedMsFromWastedBytes(wastedBytes: number): number;
153
- }
154
- import * as Lantern from '../lantern.js';
155
- import { ConnectionPool } from './ConnectionPool.js';
156
- import { TcpConnection } from './TcpConnection.js';
157
- //# sourceMappingURL=Simulator.d.ts.map