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,137 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2024 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- import * as Lantern from './lantern.js';
8
-
9
- /** @typedef {import('./BaseNode.js').Node} Node */
10
- /** @typedef {import('./NetworkNode.js').NetworkNode} NetworkNode */
11
- /** @typedef {import('./simulation/Simulator.js').Simulator} Simulator */
12
-
13
- /**
14
- * @typedef Extras
15
- * @property {boolean} optimistic
16
- * @property {Lantern.Metrics.Result=} fcpResult
17
- * @property {Lantern.Metrics.Result=} lcpResult
18
- * @property {Lantern.Metrics.Result=} interactiveResult
19
- * @property {number=} observedSpeedIndex
20
- */
21
-
22
- class Metric {
23
- /**
24
- * @param {Node} dependencyGraph
25
- * @param {function(NetworkNode):boolean=} treatNodeAsRenderBlocking
26
- * @return {Set<string>}
27
- */
28
- static getScriptUrls(dependencyGraph, treatNodeAsRenderBlocking) {
29
- /** @type {Set<string>} */
30
- const scriptUrls = new Set();
31
-
32
- dependencyGraph.traverse(node => {
33
- if (node.type !== Lantern.BaseNode.TYPES.NETWORK) return;
34
- if (node.request.resourceType !== Lantern.NetworkRequestTypes.Script) return;
35
- if (treatNodeAsRenderBlocking?.(node)) {
36
- scriptUrls.add(node.request.url);
37
- }
38
- });
39
-
40
- return scriptUrls;
41
- }
42
-
43
- /**
44
- * @return {Lantern.Simulation.MetricCoefficients}
45
- */
46
- static get COEFFICIENTS() {
47
- throw new Error('COEFFICIENTS unimplemented!');
48
- }
49
-
50
- /**
51
- * Returns the coefficients, scaled by the throttling settings if needed by the metric.
52
- * Some lantern metrics (speed-index) use components in their estimate that are not
53
- * from the simulator. In this case, we need to adjust the coefficients as the target throttling
54
- * settings change.
55
- *
56
- * @param {number} rttMs
57
- * @return {Lantern.Simulation.MetricCoefficients}
58
- */
59
- static getScaledCoefficients(rttMs) { // eslint-disable-line no-unused-vars
60
- return this.COEFFICIENTS;
61
- }
62
-
63
- /**
64
- * @param {Node} dependencyGraph
65
- * @param {Lantern.Simulation.ProcessedNavigation} processedNavigation
66
- * @return {Node}
67
- */
68
- static getOptimisticGraph(dependencyGraph, processedNavigation) { // eslint-disable-line no-unused-vars
69
- throw new Error('Optimistic graph unimplemented!');
70
- }
71
-
72
- /**
73
- * @param {Node} dependencyGraph
74
- * @param {Lantern.Simulation.ProcessedNavigation} processedNavigation
75
- * @return {Node}
76
- */
77
- static getPessimisticGraph(dependencyGraph, processedNavigation) { // eslint-disable-line no-unused-vars
78
- throw new Error('Pessmistic graph unimplemented!');
79
- }
80
-
81
- /**
82
- * @param {Lantern.Simulation.Result} simulationResult
83
- * @param {Extras} extras
84
- * @return {Lantern.Simulation.Result}
85
- */
86
- static getEstimateFromSimulation(simulationResult, extras) { // eslint-disable-line no-unused-vars
87
- return simulationResult;
88
- }
89
-
90
- /**
91
- * @param {Lantern.Simulation.MetricComputationDataInput} data
92
- * @param {Omit<Extras, 'optimistic'>=} extras
93
- * @return {Promise<Lantern.Metrics.Result>}
94
- */
95
- static async compute(data, extras) {
96
- const {simulator, graph, processedNavigation} = data;
97
-
98
- const metricName = this.name.replace('Lantern', '');
99
- const optimisticGraph = this.getOptimisticGraph(graph, processedNavigation);
100
- const pessimisticGraph = this.getPessimisticGraph(graph, processedNavigation);
101
-
102
- let simulateOptions = {label: `optimistic${metricName}`};
103
- const optimisticSimulation = simulator.simulate(optimisticGraph, simulateOptions);
104
-
105
- simulateOptions = {label: `pessimistic${metricName}`};
106
- const pessimisticSimulation = simulator.simulate(pessimisticGraph, simulateOptions);
107
-
108
- const optimisticEstimate = this.getEstimateFromSimulation(
109
- optimisticSimulation,
110
- {...extras, optimistic: true}
111
- );
112
-
113
- const pessimisticEstimate = this.getEstimateFromSimulation(
114
- pessimisticSimulation,
115
- {...extras, optimistic: false}
116
- );
117
-
118
- const coefficients = this.getScaledCoefficients(simulator.rtt);
119
- // Estimates under 1s don't really follow the normal curve fit, minimize the impact of the intercept
120
- const interceptMultiplier = coefficients.intercept > 0 ?
121
- Math.min(1, optimisticEstimate.timeInMs / 1000) : 1;
122
- const timing =
123
- coefficients.intercept * interceptMultiplier +
124
- coefficients.optimistic * optimisticEstimate.timeInMs +
125
- coefficients.pessimistic * pessimisticEstimate.timeInMs;
126
-
127
- return {
128
- timing,
129
- optimisticEstimate,
130
- pessimisticEstimate,
131
- optimisticGraph,
132
- pessimisticGraph,
133
- };
134
- }
135
- }
136
-
137
- export {Metric};
@@ -1,49 +0,0 @@
1
- /**
2
- * @template [T=any]
3
- * @extends {Lantern.BaseNode<T>}
4
- */
5
- export class NetworkNode<T = any> extends Lantern.BaseNode<T> {
6
- /**
7
- * @param {Lantern.NetworkRequest<T>} networkRequest
8
- */
9
- constructor(networkRequest: Lantern.NetworkRequest<T>);
10
- /** @private */
11
- private _request;
12
- get type(): "network";
13
- /**
14
- * @return {Readonly<T>}
15
- */
16
- get rawRequest(): Readonly<T>;
17
- /**
18
- * @return {Lantern.NetworkRequest<T>}
19
- */
20
- get request(): Lantern.NetworkRequest<T>;
21
- /**
22
- * @return {string}
23
- */
24
- get initiatorType(): string;
25
- /**
26
- * @return {boolean}
27
- */
28
- get fromDiskCache(): boolean;
29
- /**
30
- * @return {boolean}
31
- */
32
- get isNonNetworkProtocol(): boolean;
33
- /**
34
- * Returns whether this network request can be downloaded without a TCP connection.
35
- * During simulation we treat data coming in over a network connection separately from on-device data.
36
- * @return {boolean}
37
- */
38
- get isConnectionless(): boolean;
39
- /**
40
- * @return {boolean}
41
- */
42
- hasRenderBlockingPriority(): boolean;
43
- /**
44
- * @return {NetworkNode<T>}
45
- */
46
- cloneWithoutRelationships(): NetworkNode<T>;
47
- }
48
- import * as Lantern from './lantern.js';
49
- //# sourceMappingURL=NetworkNode.d.ts.map
@@ -1,136 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2017 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- import * as Lantern from './lantern.js';
8
- import {NetworkRequestTypes} from './lantern.js';
9
-
10
- const NON_NETWORK_SCHEMES = [
11
- 'blob', // @see https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL
12
- 'data', // @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs
13
- 'intent', // @see https://developer.chrome.com/docs/multidevice/android/intents/
14
- 'file', // @see https://en.wikipedia.org/wiki/File_URI_scheme
15
- 'filesystem', // @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystem
16
- 'chrome-extension',
17
- ];
18
-
19
- /**
20
- * Note: the `protocol` field from CDP can be 'h2', 'http', (not 'https'!) or it'll be url's scheme.
21
- * https://source.chromium.org/chromium/chromium/src/+/main:content/browser/devtools/protocol/network_handler.cc;l=598-611;drc=56d4a9a9deb30be73adcee8737c73bcb2a5ab64f
22
- * However, a `new URL(href).protocol` has a colon suffix.
23
- * https://url.spec.whatwg.org/#dom-url-protocol
24
- * A URL's `scheme` is specced as the `protocol` sans-colon, but isn't exposed on a URL object.
25
- * This method can take all 3 of these string types as a parameter.
26
- * @param {string} protocol Either a networkRequest's `protocol` per CDP or a `new URL(href).protocol`
27
- * @return {boolean}
28
- */
29
- function isNonNetworkProtocol(protocol) {
30
- // Strip off any colon
31
- const urlScheme = protocol.includes(':') ? protocol.slice(0, protocol.indexOf(':')) : protocol;
32
- return NON_NETWORK_SCHEMES.includes(urlScheme);
33
- }
34
-
35
- /**
36
- * @template [T=any]
37
- * @extends {Lantern.BaseNode<T>}
38
- */
39
- class NetworkNode extends Lantern.BaseNode {
40
- /**
41
- * @param {Lantern.NetworkRequest<T>} networkRequest
42
- */
43
- constructor(networkRequest) {
44
- super(networkRequest.requestId);
45
- /** @private */
46
- this._request = networkRequest;
47
- }
48
-
49
- get type() {
50
- return Lantern.BaseNode.TYPES.NETWORK;
51
- }
52
-
53
- /**
54
- * @return {number}
55
- */
56
- get startTime() {
57
- return this._request.rendererStartTime * 1000;
58
- }
59
-
60
- /**
61
- * @return {number}
62
- */
63
- get endTime() {
64
- return this._request.networkEndTime * 1000;
65
- }
66
-
67
- /**
68
- * @return {Readonly<T>}
69
- */
70
- get rawRequest() {
71
- return /** @type {Required<T>} */ (this._request.rawRequest);
72
- }
73
-
74
- /**
75
- * @return {Lantern.NetworkRequest<T>}
76
- */
77
- get request() {
78
- return this._request;
79
- }
80
-
81
- /**
82
- * @return {string}
83
- */
84
- get initiatorType() {
85
- return this._request.initiator && this._request.initiator.type;
86
- }
87
-
88
- /**
89
- * @return {boolean}
90
- */
91
- get fromDiskCache() {
92
- return !!this._request.fromDiskCache;
93
- }
94
-
95
- /**
96
- * @return {boolean}
97
- */
98
- get isNonNetworkProtocol() {
99
- // The 'protocol' field in devtools a string more like a `scheme`
100
- return isNonNetworkProtocol(this.request.protocol) ||
101
- // But `protocol` can fail to be populated if the request fails, so fallback to scheme.
102
- isNonNetworkProtocol(this.request.parsedURL.scheme);
103
- }
104
-
105
- /**
106
- * Returns whether this network request can be downloaded without a TCP connection.
107
- * During simulation we treat data coming in over a network connection separately from on-device data.
108
- * @return {boolean}
109
- */
110
- get isConnectionless() {
111
- return this.fromDiskCache || this.isNonNetworkProtocol;
112
- }
113
-
114
- /**
115
- * @return {boolean}
116
- */
117
- hasRenderBlockingPriority() {
118
- const priority = this._request.priority;
119
- const isScript = this._request.resourceType === NetworkRequestTypes.Script;
120
- const isDocument = this._request.resourceType === NetworkRequestTypes.Document;
121
- const isBlockingScript = priority === 'High' && isScript;
122
- const isBlockingHtmlImport = priority === 'High' && isDocument;
123
- return priority === 'VeryHigh' || isBlockingScript || isBlockingHtmlImport;
124
- }
125
-
126
- /**
127
- * @return {NetworkNode<T>}
128
- */
129
- cloneWithoutRelationships() {
130
- const node = new NetworkNode(this._request);
131
- node.setIsMainDocument(this._isMainDocument);
132
- return node;
133
- }
134
- }
135
-
136
- export {NetworkNode};
@@ -1,82 +0,0 @@
1
- export type Node = import('./BaseNode.js').Node;
2
- export type NetworkNodeOutput = {
3
- nodes: Array<NetworkNode>;
4
- idToNodeMap: Map<string, NetworkNode>;
5
- urlToNodeMap: Map<string, Array<NetworkNode>>;
6
- frameIdToNodeMap: Map<string, NetworkNode | null>;
7
- };
8
- export class PageDependencyGraph {
9
- /**
10
- * @param {Lantern.NetworkRequest} request
11
- * @return {Array<string>}
12
- */
13
- static getNetworkInitiators(request: Lantern.NetworkRequest): Array<string>;
14
- /**
15
- * @param {Array<Lantern.NetworkRequest>} networkRequests
16
- * @return {NetworkNodeOutput}
17
- */
18
- static getNetworkNodeOutput(networkRequests: Array<Lantern.NetworkRequest>): NetworkNodeOutput;
19
- /**
20
- * @param {Lantern.TraceEvent} evt
21
- * @return {boolean}
22
- */
23
- static isScheduleableTask(evt: Lantern.TraceEvent): boolean;
24
- /**
25
- * There should *always* be at least one top level event, having 0 typically means something is
26
- * drastically wrong with the trace and we should just give up early and loudly.
27
- *
28
- * @param {Lantern.TraceEvent[]} events
29
- */
30
- static assertHasToplevelEvents(events: Lantern.TraceEvent[]): void;
31
- /**
32
- * @param {Lantern.TraceEvent[]} mainThreadEvents
33
- * @return {Array<CPUNode>}
34
- */
35
- static getCPUNodes(mainThreadEvents: Lantern.TraceEvent[]): Array<CPUNode>;
36
- /**
37
- * @param {NetworkNode} rootNode
38
- * @param {NetworkNodeOutput} networkNodeOutput
39
- */
40
- static linkNetworkNodes(rootNode: NetworkNode, networkNodeOutput: NetworkNodeOutput): void;
41
- /**
42
- * @param {Node} rootNode
43
- * @param {NetworkNodeOutput} networkNodeOutput
44
- * @param {Array<CPUNode>} cpuNodes
45
- */
46
- static linkCPUNodes(rootNode: Node, networkNodeOutput: NetworkNodeOutput, cpuNodes: Array<CPUNode>): void;
47
- /**
48
- * Removes the given node from the graph, but retains all paths between its dependencies and
49
- * dependents.
50
- * @param {Node} node
51
- */
52
- static _pruneNode(node: Node): void;
53
- /**
54
- * TODO(15841): remove when CDT backend is gone. until then, this is a useful debugging tool
55
- * to find delta between using CDP or the trace to create the network requests.
56
- *
57
- * When a test fails using the trace backend, I enabled this debug method and copied the network
58
- * requests when CDP was used, then when trace is used, and diff'd them. This method helped
59
- * remove non-logical differences from the comparison (order of properties, slight rounding
60
- * discrepancies, removing object cycles, etc).
61
- *
62
- * When using for a unit test, make sure to do `.only` so you are getting what you expect.
63
- * @param {Lantern.NetworkRequest[]} lanternRequests
64
- * @return {never}
65
- */
66
- static _debugNormalizeRequests(lanternRequests: Lantern.NetworkRequest[]): never;
67
- /**
68
- * @param {Lantern.TraceEvent[]} mainThreadEvents
69
- * @param {Lantern.NetworkRequest[]} networkRequests
70
- * @param {Lantern.Simulation.URL} URL
71
- * @return {Node}
72
- */
73
- static createGraph(mainThreadEvents: Lantern.TraceEvent[], networkRequests: Lantern.NetworkRequest[], URL: Lantern.Simulation.URL): Node;
74
- /**
75
- * @param {Node} rootNode
76
- */
77
- static printGraph(rootNode: Node, widthInCharacters?: number): void;
78
- }
79
- import { NetworkNode } from './NetworkNode.js';
80
- import * as Lantern from './lantern.js';
81
- import { CPUNode } from './CpuNode.js';
82
- //# sourceMappingURL=PageDependencyGraph.d.ts.map