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,385 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2017 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- import assert from 'assert/strict';
8
-
9
- import * as Lantern from './lantern.js';
10
-
11
- const {BaseNode, NetworkNode} = Lantern;
12
-
13
- function sortedById(nodeArray) {
14
- return nodeArray.sort((node1, node2) => node1.id.localeCompare(node2.id));
15
- }
16
-
17
- function createComplexGraph() {
18
- // B F
19
- // / \ /
20
- // A D - E
21
- // \ / \
22
- // C G - H
23
-
24
- const nodeA = new BaseNode('A');
25
- const nodeB = new BaseNode('B');
26
- const nodeC = new BaseNode('C');
27
- const nodeD = new BaseNode('D');
28
- const nodeE = new BaseNode('E');
29
- const nodeF = new BaseNode('F');
30
- const nodeG = new BaseNode('G');
31
- const nodeH = new BaseNode('H');
32
-
33
- nodeA.addDependent(nodeB);
34
- nodeA.addDependent(nodeC);
35
- nodeB.addDependent(nodeD);
36
- nodeC.addDependent(nodeD);
37
- nodeD.addDependent(nodeE);
38
- nodeE.addDependent(nodeF);
39
- nodeE.addDependent(nodeG);
40
- nodeG.addDependent(nodeH);
41
-
42
- return {
43
- nodeA,
44
- nodeB,
45
- nodeC,
46
- nodeD,
47
- nodeE,
48
- nodeF,
49
- nodeG,
50
- nodeH,
51
- };
52
- }
53
- describe('DependencyGraph/Node', () => {
54
- describe('#constructor', () => {
55
- it('should set the ID', () => {
56
- const node = new BaseNode('foo');
57
- assert.equal(node.id, 'foo');
58
- });
59
- });
60
-
61
- describe('.addDependent', () => {
62
- it('should add the correct edge', () => {
63
- const nodeA = new BaseNode(1);
64
- const nodeB = new BaseNode(2);
65
- nodeA.addDependent(nodeB);
66
-
67
- assert.deepEqual(nodeA.getDependents(), [nodeB]);
68
- assert.deepEqual(nodeB.getDependencies(), [nodeA]);
69
- });
70
- });
71
-
72
- describe('.addDependency', () => {
73
- it('should add the correct edge', () => {
74
- const nodeA = new BaseNode(1);
75
- const nodeB = new BaseNode(2);
76
- nodeA.addDependency(nodeB);
77
-
78
- assert.deepEqual(nodeA.getDependencies(), [nodeB]);
79
- assert.deepEqual(nodeB.getDependents(), [nodeA]);
80
- });
81
-
82
- it('throw when trying to add a dependency on itself', () => {
83
- const nodeA = new BaseNode(1);
84
- expect(() => nodeA.addDependency(nodeA)).toThrow();
85
- });
86
- });
87
-
88
- describe('.isDependentOn', () => {
89
- it('should identify the dependency relationships', () => {
90
- const graph = createComplexGraph();
91
- const nodes = Object.values(graph);
92
- const {nodeA, nodeB, nodeD, nodeF, nodeH} = graph;
93
-
94
- for (const node of nodes) {
95
- expect(nodeA.isDependentOn(node)).toBe(node === nodeA);
96
- expect(nodeB.isDependentOn(node)).toBe(node === nodeA || node === nodeB);
97
- expect(nodeH.isDependentOn(node)).toBe(node !== nodeF);
98
- }
99
-
100
- expect(nodeD.isDependentOn(nodeA)).toBe(true);
101
- expect(nodeD.isDependentOn(nodeB)).toBe(true);
102
- expect(nodeD.isDependentOn(nodeD)).toBe(true);
103
-
104
- expect(nodeD.isDependentOn(nodeH)).toBe(false);
105
- expect(nodeH.isDependentOn(nodeD)).toBe(true);
106
-
107
- expect(nodeF.isDependentOn(nodeH)).toBe(false);
108
- expect(nodeH.isDependentOn(nodeF)).toBe(false);
109
- });
110
- });
111
-
112
- describe('.getRootNode', () => {
113
- it('should return the root node', () => {
114
- const graph = createComplexGraph();
115
-
116
- assert.equal(graph.nodeA.getRootNode(), graph.nodeA);
117
- assert.equal(graph.nodeB.getRootNode(), graph.nodeA);
118
- assert.equal(graph.nodeD.getRootNode(), graph.nodeA);
119
- assert.equal(graph.nodeF.getRootNode(), graph.nodeA);
120
- });
121
- });
122
-
123
- describe('.cloneWithoutRelationships', () => {
124
- it('should create a copy', () => {
125
- const node = new BaseNode(1);
126
- const neighbor = new BaseNode(2);
127
- node.addDependency(neighbor);
128
- const clone = node.cloneWithoutRelationships();
129
-
130
- assert.equal(clone.id, 1);
131
- assert.notEqual(node, clone);
132
- assert.equal(clone.getDependencies().length, 0);
133
- });
134
-
135
- it('should copy isMainDocument', () => {
136
- const node = new BaseNode(1);
137
- node.setIsMainDocument(true);
138
- const networkNode = new NetworkNode({});
139
- networkNode.setIsMainDocument(true);
140
-
141
- assert.ok(node.cloneWithoutRelationships().isMainDocument());
142
- assert.ok(networkNode.cloneWithoutRelationships().isMainDocument());
143
- });
144
- });
145
-
146
- describe('.cloneWithRelationships', () => {
147
- it('should create a copy of a basic graph', () => {
148
- const node = new BaseNode(1);
149
- const neighbor = new BaseNode(2);
150
- node.addDependency(neighbor);
151
- const clone = node.cloneWithRelationships();
152
-
153
- assert.equal(clone.id, 1);
154
- assert.notEqual(node, clone);
155
-
156
- const dependencies = clone.getDependencies();
157
- assert.equal(dependencies.length, 1);
158
-
159
- const neighborClone = dependencies[0];
160
- assert.equal(neighborClone.id, neighbor.id);
161
- assert.notEqual(neighborClone, neighbor);
162
- assert.equal(neighborClone.getDependents()[0], clone);
163
- });
164
-
165
- it('should create a copy of a complex graph', () => {
166
- const graph = createComplexGraph();
167
- const clone = graph.nodeA.cloneWithRelationships();
168
-
169
- const clonedIdMap = new Map();
170
- clone.traverse(node => clonedIdMap.set(node.id, node));
171
- assert.equal(clonedIdMap.size, 8);
172
-
173
- graph.nodeA.traverse(node => {
174
- const clone = clonedIdMap.get(node.id);
175
- assert.equal(clone.id, node.id);
176
- assert.notEqual(clone, node);
177
-
178
- const actualDependents = sortedById(clone.getDependents());
179
- const expectedDependents = sortedById(node.getDependents());
180
- actualDependents.forEach((cloneDependent, index) => {
181
- const originalDependent = expectedDependents[index];
182
- assert.equal(cloneDependent.id, originalDependent.id);
183
- assert.notEqual(cloneDependent, originalDependent);
184
- });
185
- });
186
- });
187
-
188
- it('should create a copy of a graph with long dependency chains', () => {
189
- // C - D - E - F
190
- // / \
191
- // A - - - - - - - B
192
- const nodeA = new BaseNode('A');
193
- const nodeB = new BaseNode('B');
194
- const nodeC = new BaseNode('C');
195
- const nodeD = new BaseNode('D');
196
- const nodeE = new BaseNode('E');
197
- const nodeF = new BaseNode('F');
198
-
199
- nodeA.addDependent(nodeB);
200
- nodeF.addDependent(nodeB);
201
-
202
- nodeA.addDependent(nodeC);
203
- nodeC.addDependent(nodeD);
204
- nodeD.addDependent(nodeE);
205
- nodeE.addDependent(nodeF);
206
-
207
- const clone = nodeA.cloneWithRelationships();
208
-
209
- const clonedIdMap = new Map();
210
- clone.traverse(node => clonedIdMap.set(node.id, node));
211
- assert.equal(clonedIdMap.size, 6);
212
- });
213
-
214
- it('should create a copy when not starting at root node', () => {
215
- const graph = createComplexGraph();
216
- const cloneD = graph.nodeD.cloneWithRelationships();
217
- assert.equal(cloneD.id, 'D');
218
- assert.equal(cloneD.getRootNode().id, 'A');
219
- });
220
-
221
- it('should create a partial copy of a complex graph', () => {
222
- const graph = createComplexGraph();
223
- // create a clone with F and all its dependencies
224
- const clone = graph.nodeA.cloneWithRelationships(node => node.id === 'F');
225
-
226
- const clonedIdMap = new Map();
227
- clone.traverse(node => clonedIdMap.set(node.id, node));
228
-
229
- assert.equal(clonedIdMap.size, 6);
230
- assert.ok(clonedIdMap.has('F'), 'did not include target node');
231
- assert.ok(clonedIdMap.has('E'), 'did not include dependency');
232
- assert.ok(clonedIdMap.has('B'), 'did not include branched dependency');
233
- assert.ok(clonedIdMap.has('C'), 'did not include branched dependency');
234
- assert.equal(clonedIdMap.get('G'), undefined);
235
- assert.equal(clonedIdMap.get('H'), undefined);
236
- });
237
-
238
- it('should throw if original node is not in cloned graph', () => {
239
- const graph = createComplexGraph();
240
- assert.throws(
241
- // clone from root to nodeB, but called on nodeD
242
- _ => graph.nodeD.cloneWithRelationships(node => node.id === 'B'),
243
- /^Error: Cloned graph missing node$/
244
- );
245
- });
246
- });
247
-
248
- describe('.traverse', () => {
249
- it('should visit every dependent node', () => {
250
- const graph = createComplexGraph();
251
- const ids = [];
252
- graph.nodeA.traverse(node => ids.push(node.id));
253
-
254
- assert.deepEqual(ids, ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']);
255
- });
256
-
257
- it('should include a shortest traversal path to every dependent node', () => {
258
- const graph = createComplexGraph();
259
- const paths = [];
260
- graph.nodeA.traverse((node, traversalPath) => {
261
- assert.strictEqual(node.id, traversalPath[0].id);
262
- paths.push(traversalPath.map(node => node.id));
263
- });
264
-
265
- assert.deepStrictEqual(paths, [
266
- ['A'],
267
- ['B', 'A'],
268
- ['C', 'A'],
269
- ['D', 'B', 'A'],
270
- ['E', 'D', 'B', 'A'],
271
- ['F', 'E', 'D', 'B', 'A'],
272
- ['G', 'E', 'D', 'B', 'A'],
273
- ['H', 'G', 'E', 'D', 'B', 'A'],
274
- ]);
275
- });
276
-
277
- it('should respect getNext', () => {
278
- const graph = createComplexGraph();
279
- const ids = [];
280
- graph.nodeF.traverse(
281
- node => ids.push(node.id),
282
- node => node.getDependencies()
283
- );
284
-
285
- assert.deepEqual(ids, ['F', 'E', 'D', 'B', 'C', 'A']);
286
- });
287
- });
288
-
289
- describe('#hasCycle', () => {
290
- it('should return false for DAGs', () => {
291
- const graph = createComplexGraph();
292
- assert.equal(BaseNode.hasCycle(graph.nodeA), false);
293
- });
294
-
295
- it('should return false for triangular DAGs', () => {
296
- // B
297
- // / \
298
- // A - C
299
- const nodeA = new BaseNode('A');
300
- const nodeB = new BaseNode('B');
301
- const nodeC = new BaseNode('C');
302
-
303
- nodeA.addDependent(nodeC);
304
- nodeA.addDependent(nodeB);
305
- nodeB.addDependent(nodeC);
306
-
307
- assert.equal(BaseNode.hasCycle(nodeA), false);
308
- });
309
-
310
- it('should return true for basic cycles', () => {
311
- // A - B - C - A!
312
- const nodeA = new BaseNode('A');
313
- const nodeB = new BaseNode('B');
314
- const nodeC = new BaseNode('C');
315
-
316
- nodeA.addDependent(nodeB);
317
- nodeB.addDependent(nodeC);
318
- nodeC.addDependent(nodeA);
319
-
320
- assert.equal(BaseNode.hasCycle(nodeA), true);
321
- });
322
-
323
- it('should return true for children', () => {
324
- // A!
325
- // /
326
- // A - B - C
327
- const nodeA = new BaseNode('A');
328
- const nodeB = new BaseNode('B');
329
- const nodeC = new BaseNode('C');
330
-
331
- nodeA.addDependent(nodeB);
332
- nodeB.addDependent(nodeC);
333
- nodeB.addDependent(nodeA);
334
-
335
- assert.equal(BaseNode.hasCycle(nodeC), true);
336
- });
337
-
338
- it('should return true for complex cycles', () => {
339
- // B - D - F - G - C!
340
- // / /
341
- // A - - C - E - H
342
- const nodeA = new BaseNode('A');
343
- const nodeB = new BaseNode('B');
344
- const nodeC = new BaseNode('C');
345
- const nodeD = new BaseNode('D');
346
- const nodeE = new BaseNode('E');
347
- const nodeF = new BaseNode('F');
348
- const nodeG = new BaseNode('G');
349
- const nodeH = new BaseNode('H');
350
-
351
- nodeA.addDependent(nodeB);
352
- nodeA.addDependent(nodeC);
353
- nodeB.addDependent(nodeD);
354
- nodeC.addDependent(nodeE);
355
- nodeC.addDependent(nodeF);
356
- nodeD.addDependent(nodeF);
357
- nodeE.addDependent(nodeH);
358
- nodeF.addDependent(nodeG);
359
- nodeG.addDependent(nodeC);
360
-
361
- assert.equal(BaseNode.hasCycle(nodeA), true);
362
- assert.equal(BaseNode.hasCycle(nodeB), true);
363
- assert.equal(BaseNode.hasCycle(nodeC), true);
364
- assert.equal(BaseNode.hasCycle(nodeD), true);
365
- assert.equal(BaseNode.hasCycle(nodeE), true);
366
- assert.equal(BaseNode.hasCycle(nodeF), true);
367
- assert.equal(BaseNode.hasCycle(nodeG), true);
368
- assert.equal(BaseNode.hasCycle(nodeH), true);
369
- });
370
-
371
- it('works for very large graphs', () => {
372
- const root = new BaseNode('root');
373
-
374
- let lastNode = root;
375
- for (let i = 0; i < 10000; i++) {
376
- const nextNode = new BaseNode(`child${i}`);
377
- lastNode.addDependent(nextNode);
378
- lastNode = nextNode;
379
- }
380
-
381
- lastNode.addDependent(root);
382
- assert.equal(BaseNode.hasCycle(root), true);
383
- });
384
- });
385
- });
@@ -1,43 +0,0 @@
1
- /**
2
- * @template [T=any]
3
- * @extends {Lantern.BaseNode<T>}
4
- */
5
- export class CPUNode<T = any> extends Lantern.BaseNode<T> {
6
- /**
7
- * @param {Lantern.TraceEvent} parentEvent
8
- * @param {Lantern.TraceEvent[]=} childEvents
9
- * @param {number=} correctedEndTs
10
- */
11
- constructor(parentEvent: Lantern.TraceEvent, childEvents?: Lantern.TraceEvent[] | undefined, correctedEndTs?: number | undefined);
12
- _event: import("./types/lantern.js").TraceEvent;
13
- _childEvents: import("./types/lantern.js").TraceEvent[];
14
- _correctedEndTs: number | undefined;
15
- get type(): "cpu";
16
- /**
17
- * @return {number}
18
- */
19
- get duration(): number;
20
- /**
21
- * @return {Lantern.TraceEvent}
22
- */
23
- get event(): import("./types/lantern.js").TraceEvent;
24
- /**
25
- * @return {Lantern.TraceEvent[]}
26
- */
27
- get childEvents(): import("./types/lantern.js").TraceEvent[];
28
- /**
29
- * Returns true if this node contains a Layout task.
30
- * @return {boolean}
31
- */
32
- didPerformLayout(): boolean;
33
- /**
34
- * Returns the script URLs that had their EvaluateScript events occur in this task.
35
- */
36
- getEvaluateScriptURLs(): Set<string>;
37
- /**
38
- * @return {CPUNode}
39
- */
40
- cloneWithoutRelationships(): CPUNode;
41
- }
42
- import * as Lantern from './lantern.js';
43
- //# sourceMappingURL=CpuNode.d.ts.map
@@ -1,99 +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
-
9
- /**
10
- * @template [T=any]
11
- * @extends {Lantern.BaseNode<T>}
12
- */
13
- class CPUNode extends Lantern.BaseNode {
14
- /**
15
- * @param {Lantern.TraceEvent} parentEvent
16
- * @param {Lantern.TraceEvent[]=} childEvents
17
- * @param {number=} correctedEndTs
18
- */
19
- constructor(parentEvent, childEvents = [], correctedEndTs) {
20
- const nodeId = `${parentEvent.tid}.${parentEvent.ts}`;
21
- super(nodeId);
22
-
23
- this._event = parentEvent;
24
- this._childEvents = childEvents;
25
- this._correctedEndTs = correctedEndTs;
26
- }
27
-
28
- get type() {
29
- return Lantern.BaseNode.TYPES.CPU;
30
- }
31
-
32
- /**
33
- * @return {number}
34
- */
35
- get startTime() {
36
- return this._event.ts;
37
- }
38
-
39
- /**
40
- * @return {number}
41
- */
42
- get endTime() {
43
- if (this._correctedEndTs) return this._correctedEndTs;
44
- return this._event.ts + this._event.dur;
45
- }
46
-
47
- /**
48
- * @return {number}
49
- */
50
- get duration() {
51
- return this.endTime - this.startTime;
52
- }
53
-
54
- /**
55
- * @return {Lantern.TraceEvent}
56
- */
57
- get event() {
58
- return this._event;
59
- }
60
-
61
- /**
62
- * @return {Lantern.TraceEvent[]}
63
- */
64
- get childEvents() {
65
- return this._childEvents;
66
- }
67
-
68
- /**
69
- * Returns true if this node contains a Layout task.
70
- * @return {boolean}
71
- */
72
- didPerformLayout() {
73
- return this._childEvents.some(evt => evt.name === 'Layout');
74
- }
75
-
76
- /**
77
- * Returns the script URLs that had their EvaluateScript events occur in this task.
78
- */
79
- getEvaluateScriptURLs() {
80
- /** @type {Set<string>} */
81
- const urls = new Set();
82
- for (const event of this._childEvents) {
83
- if (event.name !== 'EvaluateScript') continue;
84
- if (!event.args.data || !event.args.data.url) continue;
85
- urls.add(event.args.data.url);
86
- }
87
-
88
- return urls;
89
- }
90
-
91
- /**
92
- * @return {CPUNode}
93
- */
94
- cloneWithoutRelationships() {
95
- return new CPUNode(this._event, this._childEvents, this._correctedEndTs);
96
- }
97
- }
98
-
99
- export {CPUNode};
@@ -1,8 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2024 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- export class LanternError extends Error {
7
- }
8
- //# sourceMappingURL=LanternError.d.ts.map
@@ -1,9 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2024 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- class LanternError extends Error {}
8
-
9
- export {LanternError};
@@ -1,69 +0,0 @@
1
- export type Node = import('./BaseNode.js').Node;
2
- export type NetworkNode = import('./NetworkNode.js').NetworkNode;
3
- export type Simulator = import('./simulation/Simulator.js').Simulator;
4
- export type Extras = {
5
- optimistic: boolean;
6
- fcpResult?: Lantern.Metrics.Result | undefined;
7
- lcpResult?: Lantern.Metrics.Result | undefined;
8
- interactiveResult?: Lantern.Metrics.Result | undefined;
9
- observedSpeedIndex?: number | undefined;
10
- };
11
- /** @typedef {import('./BaseNode.js').Node} Node */
12
- /** @typedef {import('./NetworkNode.js').NetworkNode} NetworkNode */
13
- /** @typedef {import('./simulation/Simulator.js').Simulator} Simulator */
14
- /**
15
- * @typedef Extras
16
- * @property {boolean} optimistic
17
- * @property {Lantern.Metrics.Result=} fcpResult
18
- * @property {Lantern.Metrics.Result=} lcpResult
19
- * @property {Lantern.Metrics.Result=} interactiveResult
20
- * @property {number=} observedSpeedIndex
21
- */
22
- export class Metric {
23
- /**
24
- * @param {Node} dependencyGraph
25
- * @param {function(NetworkNode):boolean=} treatNodeAsRenderBlocking
26
- * @return {Set<string>}
27
- */
28
- static getScriptUrls(dependencyGraph: Node, treatNodeAsRenderBlocking?: ((arg0: NetworkNode) => boolean) | undefined): Set<string>;
29
- /**
30
- * @return {Lantern.Simulation.MetricCoefficients}
31
- */
32
- static get COEFFICIENTS(): import("./types/lantern.js").Simulation.MetricCoefficients;
33
- /**
34
- * Returns the coefficients, scaled by the throttling settings if needed by the metric.
35
- * Some lantern metrics (speed-index) use components in their estimate that are not
36
- * from the simulator. In this case, we need to adjust the coefficients as the target throttling
37
- * settings change.
38
- *
39
- * @param {number} rttMs
40
- * @return {Lantern.Simulation.MetricCoefficients}
41
- */
42
- static getScaledCoefficients(rttMs: number): Lantern.Simulation.MetricCoefficients;
43
- /**
44
- * @param {Node} dependencyGraph
45
- * @param {Lantern.Simulation.ProcessedNavigation} processedNavigation
46
- * @return {Node}
47
- */
48
- static getOptimisticGraph(dependencyGraph: Node, processedNavigation: Lantern.Simulation.ProcessedNavigation): Node;
49
- /**
50
- * @param {Node} dependencyGraph
51
- * @param {Lantern.Simulation.ProcessedNavigation} processedNavigation
52
- * @return {Node}
53
- */
54
- static getPessimisticGraph(dependencyGraph: Node, processedNavigation: Lantern.Simulation.ProcessedNavigation): Node;
55
- /**
56
- * @param {Lantern.Simulation.Result} simulationResult
57
- * @param {Extras} extras
58
- * @return {Lantern.Simulation.Result}
59
- */
60
- static getEstimateFromSimulation(simulationResult: Lantern.Simulation.Result, extras: Extras): Lantern.Simulation.Result;
61
- /**
62
- * @param {Lantern.Simulation.MetricComputationDataInput} data
63
- * @param {Omit<Extras, 'optimistic'>=} extras
64
- * @return {Promise<Lantern.Metrics.Result>}
65
- */
66
- static compute(data: Lantern.Simulation.MetricComputationDataInput, extras?: Omit<Extras, 'optimistic'> | undefined): Promise<Lantern.Metrics.Result>;
67
- }
68
- import * as Lantern from './lantern.js';
69
- //# sourceMappingURL=Metric.d.ts.map