lighthouse 9.6.7 → 10.0.0-dev.20230209

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 (1436) hide show
  1. package/.gitattributes +4 -1
  2. package/CONTRIBUTING.md +15 -15
  3. package/build-tracker.config.js +0 -1
  4. package/changelog-pre10.md +6085 -0
  5. package/cli/bin.d.ts +5 -0
  6. package/cli/bin.js +140 -0
  7. package/cli/cli-flags.d.ts +258 -0
  8. package/cli/cli-flags.js +553 -0
  9. package/cli/commands/commands.d.ts +4 -0
  10. package/cli/commands/commands.js +9 -0
  11. package/cli/commands/list-audits.d.ts +2 -0
  12. package/cli/commands/list-audits.js +15 -0
  13. package/cli/commands/list-locales.d.ts +2 -0
  14. package/cli/commands/list-locales.js +15 -0
  15. package/cli/commands/list-trace-categories.d.ts +2 -0
  16. package/cli/commands/list-trace-categories.js +14 -0
  17. package/cli/index.d.ts +3 -0
  18. package/cli/index.js +10 -0
  19. package/cli/printer.d.ts +28 -0
  20. package/cli/printer.js +99 -0
  21. package/cli/run.d.ts +24 -0
  22. package/cli/run.js +284 -0
  23. package/cli/sentry-prompt.d.ts +5 -0
  24. package/cli/sentry-prompt.js +78 -0
  25. package/cli/test/smokehouse/__snapshots__/report-assert-test.js.snap +71 -0
  26. package/cli/test/smokehouse/config/exclusions.d.ts +12 -0
  27. package/cli/test/smokehouse/config/exclusions.js +36 -0
  28. package/cli/test/smokehouse/core-tests.d.ts +4 -0
  29. package/cli/test/smokehouse/core-tests.js +134 -0
  30. package/cli/test/smokehouse/frontends/back-compat-util.d.ts +16 -0
  31. package/cli/test/smokehouse/frontends/back-compat-util.js +41 -0
  32. package/cli/test/smokehouse/frontends/lib.d.ts +8 -0
  33. package/cli/test/smokehouse/frontends/lib.js +48 -0
  34. package/cli/test/smokehouse/frontends/node.d.ts +2 -0
  35. package/cli/test/smokehouse/frontends/node.js +12 -0
  36. package/cli/test/smokehouse/frontends/smokehouse-bin.d.ts +3 -0
  37. package/cli/test/smokehouse/frontends/smokehouse-bin.js +258 -0
  38. package/cli/test/smokehouse/lib/child-process-error.d.ts +21 -0
  39. package/cli/test/smokehouse/lib/child-process-error.js +25 -0
  40. package/cli/test/smokehouse/lib/concurrent-mapper.d.ts +78 -0
  41. package/cli/test/smokehouse/lib/concurrent-mapper.js +125 -0
  42. package/cli/test/smokehouse/lib/local-console.d.ts +33 -0
  43. package/cli/test/smokehouse/lib/local-console.js +50 -0
  44. package/cli/test/smokehouse/lighthouse-runners/bundle.d.ts +16 -0
  45. package/cli/test/smokehouse/lighthouse-runners/bundle.js +158 -0
  46. package/cli/test/smokehouse/lighthouse-runners/cli.d.ts +18 -0
  47. package/cli/test/smokehouse/lighthouse-runners/cli.js +134 -0
  48. package/cli/test/smokehouse/lighthouse-runners/devtools.d.ts +23 -0
  49. package/cli/test/smokehouse/lighthouse-runners/devtools.js +72 -0
  50. package/cli/test/smokehouse/readme.md +208 -0
  51. package/cli/test/smokehouse/report-assert-test.d.ts +2 -0
  52. package/cli/test/smokehouse/report-assert-test.js +298 -0
  53. package/cli/test/smokehouse/report-assert.d.ts +50 -0
  54. package/cli/test/smokehouse/report-assert.js +520 -0
  55. package/cli/test/smokehouse/smokehouse.d.ts +35 -0
  56. package/cli/test/smokehouse/smokehouse.js +336 -0
  57. package/cli/test/smokehouse/version-check-test.d.ts +2 -0
  58. package/cli/test/smokehouse/version-check-test.js +43 -0
  59. package/cli/test/smokehouse/version-check.d.ts +15 -0
  60. package/cli/test/smokehouse/version-check.js +48 -0
  61. package/commitlint.config.js +0 -1
  62. package/core/audits/accessibility/accesskeys.d.ts +10 -0
  63. package/core/audits/accessibility/accesskeys.js +44 -0
  64. package/core/audits/accessibility/aria-allowed-attr.d.ts +10 -0
  65. package/core/audits/accessibility/aria-allowed-attr.js +44 -0
  66. package/core/audits/accessibility/aria-command-name.d.ts +10 -0
  67. package/core/audits/accessibility/aria-command-name.js +42 -0
  68. package/core/audits/accessibility/aria-hidden-body.d.ts +10 -0
  69. package/core/audits/accessibility/aria-hidden-body.js +42 -0
  70. package/core/audits/accessibility/aria-hidden-focus.d.ts +10 -0
  71. package/core/audits/accessibility/aria-hidden-focus.js +42 -0
  72. package/core/audits/accessibility/aria-input-field-name.d.ts +10 -0
  73. package/core/audits/accessibility/aria-input-field-name.js +42 -0
  74. package/core/audits/accessibility/aria-meter-name.d.ts +10 -0
  75. package/core/audits/accessibility/aria-meter-name.js +42 -0
  76. package/core/audits/accessibility/aria-progressbar-name.d.ts +10 -0
  77. package/core/audits/accessibility/aria-progressbar-name.js +42 -0
  78. package/core/audits/accessibility/aria-required-attr.d.ts +10 -0
  79. package/core/audits/accessibility/aria-required-attr.js +43 -0
  80. package/core/audits/accessibility/aria-required-children.d.ts +10 -0
  81. package/core/audits/accessibility/aria-required-children.js +47 -0
  82. package/core/audits/accessibility/aria-required-parent.d.ts +10 -0
  83. package/core/audits/accessibility/aria-required-parent.js +45 -0
  84. package/core/audits/accessibility/aria-roles.d.ts +10 -0
  85. package/core/audits/accessibility/aria-roles.js +44 -0
  86. package/core/audits/accessibility/aria-toggle-field-name.d.ts +10 -0
  87. package/core/audits/accessibility/aria-toggle-field-name.js +42 -0
  88. package/core/audits/accessibility/aria-tooltip-name.d.ts +10 -0
  89. package/core/audits/accessibility/aria-tooltip-name.js +42 -0
  90. package/core/audits/accessibility/aria-treeitem-name.d.ts +10 -0
  91. package/core/audits/accessibility/aria-treeitem-name.js +42 -0
  92. package/core/audits/accessibility/aria-valid-attr-value.d.ts +10 -0
  93. package/core/audits/accessibility/aria-valid-attr-value.js +44 -0
  94. package/core/audits/accessibility/aria-valid-attr.d.ts +10 -0
  95. package/core/audits/accessibility/aria-valid-attr.js +44 -0
  96. package/core/audits/accessibility/axe-audit.d.ts +17 -0
  97. package/core/audits/accessibility/axe-audit.js +113 -0
  98. package/core/audits/accessibility/button-name.d.ts +10 -0
  99. package/core/audits/accessibility/button-name.js +44 -0
  100. package/core/audits/accessibility/bypass.d.ts +10 -0
  101. package/core/audits/accessibility/bypass.js +46 -0
  102. package/core/audits/accessibility/color-contrast.d.ts +10 -0
  103. package/core/audits/accessibility/color-contrast.js +45 -0
  104. package/core/audits/accessibility/definition-list.d.ts +10 -0
  105. package/core/audits/accessibility/definition-list.js +46 -0
  106. package/core/audits/accessibility/dlitem.d.ts +10 -0
  107. package/core/audits/accessibility/dlitem.js +44 -0
  108. package/core/audits/accessibility/document-title.d.ts +10 -0
  109. package/core/audits/accessibility/document-title.js +44 -0
  110. package/core/audits/accessibility/duplicate-id-active.d.ts +10 -0
  111. package/core/audits/accessibility/duplicate-id-active.js +42 -0
  112. package/core/audits/accessibility/duplicate-id-aria.d.ts +10 -0
  113. package/core/audits/accessibility/duplicate-id-aria.js +42 -0
  114. package/core/audits/accessibility/form-field-multiple-labels.d.ts +10 -0
  115. package/core/audits/accessibility/form-field-multiple-labels.js +43 -0
  116. package/core/audits/accessibility/frame-title.d.ts +10 -0
  117. package/core/audits/accessibility/frame-title.js +43 -0
  118. package/core/audits/accessibility/heading-order.d.ts +10 -0
  119. package/core/audits/accessibility/heading-order.js +42 -0
  120. package/core/audits/accessibility/html-has-lang.d.ts +10 -0
  121. package/core/audits/accessibility/html-has-lang.js +46 -0
  122. package/core/audits/accessibility/html-lang-valid.d.ts +10 -0
  123. package/core/audits/accessibility/html-lang-valid.js +45 -0
  124. package/core/audits/accessibility/image-alt.d.ts +10 -0
  125. package/core/audits/accessibility/image-alt.js +44 -0
  126. package/core/audits/accessibility/input-image-alt.d.ts +10 -0
  127. package/core/audits/accessibility/input-image-alt.js +44 -0
  128. package/core/audits/accessibility/label.d.ts +10 -0
  129. package/core/audits/accessibility/label.js +44 -0
  130. package/core/audits/accessibility/link-name.d.ts +10 -0
  131. package/core/audits/accessibility/link-name.js +45 -0
  132. package/core/audits/accessibility/list.d.ts +10 -0
  133. package/core/audits/accessibility/list.js +46 -0
  134. package/core/audits/accessibility/listitem.d.ts +10 -0
  135. package/core/audits/accessibility/listitem.js +45 -0
  136. package/core/audits/accessibility/manual/custom-controls-labels.d.ts +8 -0
  137. package/core/audits/accessibility/manual/custom-controls-labels.js +27 -0
  138. package/core/audits/accessibility/manual/custom-controls-roles.d.ts +8 -0
  139. package/core/audits/accessibility/manual/custom-controls-roles.js +27 -0
  140. package/core/audits/accessibility/manual/focus-traps.d.ts +8 -0
  141. package/core/audits/accessibility/manual/focus-traps.js +27 -0
  142. package/core/audits/accessibility/manual/focusable-controls.d.ts +8 -0
  143. package/core/audits/accessibility/manual/focusable-controls.js +27 -0
  144. package/core/audits/accessibility/manual/interactive-element-affordance.d.ts +8 -0
  145. package/core/audits/accessibility/manual/interactive-element-affordance.js +27 -0
  146. package/core/audits/accessibility/manual/logical-tab-order.d.ts +8 -0
  147. package/core/audits/accessibility/manual/logical-tab-order.js +27 -0
  148. package/core/audits/accessibility/manual/managed-focus.d.ts +8 -0
  149. package/core/audits/accessibility/manual/managed-focus.js +27 -0
  150. package/core/audits/accessibility/manual/offscreen-content-hidden.d.ts +9 -0
  151. package/core/audits/accessibility/manual/offscreen-content-hidden.js +28 -0
  152. package/core/audits/accessibility/manual/use-landmarks.d.ts +8 -0
  153. package/core/audits/accessibility/manual/use-landmarks.js +27 -0
  154. package/core/audits/accessibility/manual/visual-order-follows-dom.d.ts +8 -0
  155. package/core/audits/accessibility/manual/visual-order-follows-dom.js +27 -0
  156. package/core/audits/accessibility/meta-refresh.d.ts +10 -0
  157. package/core/audits/accessibility/meta-refresh.js +45 -0
  158. package/core/audits/accessibility/meta-viewport.d.ts +10 -0
  159. package/core/audits/accessibility/meta-viewport.js +46 -0
  160. package/core/audits/accessibility/object-alt.d.ts +10 -0
  161. package/core/audits/accessibility/object-alt.js +44 -0
  162. package/core/audits/accessibility/tabindex.d.ts +10 -0
  163. package/core/audits/accessibility/tabindex.js +44 -0
  164. package/core/audits/accessibility/td-headers-attr.d.ts +10 -0
  165. package/core/audits/accessibility/td-headers-attr.js +48 -0
  166. package/core/audits/accessibility/th-has-data-cells.d.ts +10 -0
  167. package/core/audits/accessibility/th-has-data-cells.js +48 -0
  168. package/core/audits/accessibility/valid-lang.d.ts +10 -0
  169. package/core/audits/accessibility/valid-lang.js +44 -0
  170. package/core/audits/accessibility/video-caption.d.ts +10 -0
  171. package/core/audits/accessibility/video-caption.js +46 -0
  172. package/core/audits/audit.d.ts +157 -0
  173. package/core/audits/audit.js +405 -0
  174. package/core/audits/autocomplete.d.ts +36 -0
  175. package/core/audits/autocomplete.js +290 -0
  176. package/core/audits/bf-cache.d.ts +21 -0
  177. package/core/audits/bf-cache.js +120 -0
  178. package/core/audits/bootup-time.d.ts +26 -0
  179. package/core/audits/bootup-time.js +151 -0
  180. package/core/audits/byte-efficiency/byte-efficiency-audit.d.ts +82 -0
  181. package/core/audits/byte-efficiency/byte-efficiency-audit.js +260 -0
  182. package/core/audits/byte-efficiency/duplicated-javascript.d.ts +52 -0
  183. package/core/audits/byte-efficiency/duplicated-javascript.js +247 -0
  184. package/core/audits/byte-efficiency/efficient-animated-content.d.ts +23 -0
  185. package/core/audits/byte-efficiency/efficient-animated-content.js +92 -0
  186. package/core/audits/byte-efficiency/legacy-javascript.d.ts +100 -0
  187. package/core/audits/byte-efficiency/legacy-javascript.js +479 -0
  188. package/core/audits/byte-efficiency/modern-image-formats.d.ts +38 -0
  189. package/core/audits/byte-efficiency/modern-image-formats.js +186 -0
  190. package/core/audits/byte-efficiency/offscreen-images.d.ts +75 -0
  191. package/core/audits/byte-efficiency/offscreen-images.js +253 -0
  192. package/{lighthouse-core → core}/audits/byte-efficiency/polyfill-graph-data.json +0 -0
  193. package/core/audits/byte-efficiency/render-blocking-resources.d.ts +55 -0
  194. package/core/audits/byte-efficiency/render-blocking-resources.js +307 -0
  195. package/core/audits/byte-efficiency/total-byte-weight.d.ts +21 -0
  196. package/core/audits/byte-efficiency/total-byte-weight.js +109 -0
  197. package/core/audits/byte-efficiency/unminified-css.d.ts +36 -0
  198. package/core/audits/byte-efficiency/unminified-css.js +114 -0
  199. package/core/audits/byte-efficiency/unminified-javascript.d.ts +37 -0
  200. package/core/audits/byte-efficiency/unminified-javascript.js +118 -0
  201. package/core/audits/byte-efficiency/unused-css-rules.d.ts +16 -0
  202. package/core/audits/byte-efficiency/unused-css-rules.js +69 -0
  203. package/core/audits/byte-efficiency/unused-javascript.d.ts +27 -0
  204. package/core/audits/byte-efficiency/unused-javascript.js +163 -0
  205. package/core/audits/byte-efficiency/uses-long-cache-ttl.d.ts +61 -0
  206. package/core/audits/byte-efficiency/uses-long-cache-ttl.js +297 -0
  207. package/core/audits/byte-efficiency/uses-optimized-images.d.ts +33 -0
  208. package/core/audits/byte-efficiency/uses-optimized-images.js +145 -0
  209. package/core/audits/byte-efficiency/uses-responsive-images-snapshot.d.ts +16 -0
  210. package/core/audits/byte-efficiency/uses-responsive-images-snapshot.js +100 -0
  211. package/core/audits/byte-efficiency/uses-responsive-images.d.ts +45 -0
  212. package/core/audits/byte-efficiency/uses-responsive-images.js +201 -0
  213. package/core/audits/byte-efficiency/uses-text-compression.d.ts +14 -0
  214. package/core/audits/byte-efficiency/uses-text-compression.js +100 -0
  215. package/core/audits/content-width.d.ts +17 -0
  216. package/core/audits/content-width.js +76 -0
  217. package/core/audits/critical-request-chains.d.ts +44 -0
  218. package/core/audits/critical-request-chains.js +218 -0
  219. package/core/audits/csp-xss.d.ts +51 -0
  220. package/core/audits/csp-xss.js +186 -0
  221. package/core/audits/deprecations.d.ts +19 -0
  222. package/core/audits/deprecations.js +114 -0
  223. package/core/audits/diagnostics.d.ts +11 -0
  224. package/core/audits/diagnostics.js +79 -0
  225. package/core/audits/dobetterweb/charset.d.ts +19 -0
  226. package/core/audits/dobetterweb/charset.js +93 -0
  227. package/core/audits/dobetterweb/doctype.d.ts +21 -0
  228. package/core/audits/dobetterweb/doctype.js +120 -0
  229. package/core/audits/dobetterweb/dom-size.d.ts +26 -0
  230. package/core/audits/dobetterweb/dom-size.js +134 -0
  231. package/core/audits/dobetterweb/geolocation-on-start.d.ts +16 -0
  232. package/core/audits/dobetterweb/geolocation-on-start.js +69 -0
  233. package/core/audits/dobetterweb/inspector-issues.d.ts +45 -0
  234. package/core/audits/dobetterweb/inspector-issues.js +191 -0
  235. package/core/audits/dobetterweb/js-libraries.d.ts +15 -0
  236. package/core/audits/dobetterweb/js-libraries.js +87 -0
  237. package/core/audits/dobetterweb/no-document-write.d.ts +16 -0
  238. package/core/audits/dobetterweb/no-document-write.js +84 -0
  239. package/core/audits/dobetterweb/notification-on-start.d.ts +16 -0
  240. package/core/audits/dobetterweb/notification-on-start.js +68 -0
  241. package/core/audits/dobetterweb/paste-preventing-inputs.d.ts +15 -0
  242. package/core/audits/dobetterweb/paste-preventing-inputs.js +67 -0
  243. package/core/audits/dobetterweb/uses-http2.d.ts +72 -0
  244. package/core/audits/dobetterweb/uses-http2.js +264 -0
  245. package/core/audits/dobetterweb/uses-passive-event-listeners.d.ts +16 -0
  246. package/core/audits/dobetterweb/uses-passive-event-listeners.js +67 -0
  247. package/core/audits/errors-in-console.d.ts +31 -0
  248. package/core/audits/errors-in-console.js +120 -0
  249. package/core/audits/final-screenshot.d.ts +11 -0
  250. package/core/audits/final-screenshot.js +58 -0
  251. package/core/audits/font-display.d.ts +32 -0
  252. package/core/audits/font-display.js +193 -0
  253. package/core/audits/image-aspect-ratio.d.ts +30 -0
  254. package/core/audits/image-aspect-ratio.js +122 -0
  255. package/core/audits/image-size-responsive.d.ts +28 -0
  256. package/core/audits/image-size-responsive.js +332 -0
  257. package/core/audits/installable-manifest.d.ts +118 -0
  258. package/core/audits/installable-manifest.js +265 -0
  259. package/core/audits/is-on-https.d.ts +23 -0
  260. package/core/audits/is-on-https.js +123 -0
  261. package/core/audits/largest-contentful-paint-element.d.ts +14 -0
  262. package/core/audits/largest-contentful-paint-element.js +69 -0
  263. package/core/audits/layout-shift-elements.d.ts +15 -0
  264. package/core/audits/layout-shift-elements.js +74 -0
  265. package/core/audits/lcp-lazy-loaded.d.ts +21 -0
  266. package/core/audits/lcp-lazy-loaded.js +84 -0
  267. package/core/audits/long-tasks.d.ts +16 -0
  268. package/core/audits/long-tasks.js +124 -0
  269. package/core/audits/main-thread-tasks.d.ts +11 -0
  270. package/core/audits/main-thread-tasks.js +58 -0
  271. package/core/audits/mainthread-work-breakdown.d.ts +28 -0
  272. package/core/audits/mainthread-work-breakdown.js +135 -0
  273. package/core/audits/manual/manual-audit.d.ts +13 -0
  274. package/core/audits/manual/manual-audit.js +36 -0
  275. package/core/audits/manual/pwa-cross-browser.d.ts +12 -0
  276. package/core/audits/manual/pwa-cross-browser.js +40 -0
  277. package/core/audits/manual/pwa-each-page-has-url.d.ts +12 -0
  278. package/core/audits/manual/pwa-each-page-has-url.js +38 -0
  279. package/core/audits/manual/pwa-page-transitions.d.ts +12 -0
  280. package/core/audits/manual/pwa-page-transitions.js +38 -0
  281. package/core/audits/maskable-icon.d.ts +25 -0
  282. package/core/audits/maskable-icon.js +70 -0
  283. package/core/audits/metrics/cumulative-layout-shift.d.ts +21 -0
  284. package/core/audits/metrics/cumulative-layout-shift.js +79 -0
  285. package/core/audits/metrics/experimental-interaction-to-next-paint.d.ts +21 -0
  286. package/core/audits/metrics/experimental-interaction-to-next-paint.js +88 -0
  287. package/core/audits/metrics/first-contentful-paint-3g.d.ts +15 -0
  288. package/core/audits/metrics/first-contentful-paint-3g.js +69 -0
  289. package/core/audits/metrics/first-contentful-paint.d.ts +25 -0
  290. package/core/audits/metrics/first-contentful-paint.js +85 -0
  291. package/core/audits/metrics/first-meaningful-paint.d.ts +28 -0
  292. package/core/audits/metrics/first-meaningful-paint.js +89 -0
  293. package/core/audits/metrics/interactive.d.ts +31 -0
  294. package/core/audits/metrics/interactive.js +93 -0
  295. package/core/audits/metrics/largest-contentful-paint.d.ts +25 -0
  296. package/core/audits/metrics/largest-contentful-paint.js +94 -0
  297. package/core/audits/metrics/max-potential-fid.d.ts +23 -0
  298. package/core/audits/metrics/max-potential-fid.js +77 -0
  299. package/core/audits/metrics/speed-index.d.ts +27 -0
  300. package/core/audits/metrics/speed-index.js +88 -0
  301. package/core/audits/metrics/total-blocking-time.d.ts +32 -0
  302. package/core/audits/metrics/total-blocking-time.js +118 -0
  303. package/core/audits/metrics.d.ts +11 -0
  304. package/core/audits/metrics.js +73 -0
  305. package/core/audits/multi-check-audit.d.ts +28 -0
  306. package/core/audits/multi-check-audit.js +82 -0
  307. package/core/audits/network-requests.d.ts +11 -0
  308. package/core/audits/network-requests.js +129 -0
  309. package/core/audits/network-rtt.d.ts +15 -0
  310. package/core/audits/network-rtt.js +89 -0
  311. package/core/audits/network-server-latency.d.ts +15 -0
  312. package/core/audits/network-server-latency.js +88 -0
  313. package/core/audits/no-unload-listeners.d.ts +16 -0
  314. package/core/audits/no-unload-listeners.js +86 -0
  315. package/core/audits/non-composited-animations.d.ts +21 -0
  316. package/core/audits/non-composited-animations.js +205 -0
  317. package/core/audits/oopif-iframe-test-audit.d.ts +14 -0
  318. package/core/audits/oopif-iframe-test-audit.js +29 -0
  319. package/core/audits/performance-budget.d.ts +39 -0
  320. package/core/audits/performance-budget.js +154 -0
  321. package/core/audits/predictive-perf.d.ts +11 -0
  322. package/core/audits/predictive-perf.js +100 -0
  323. package/core/audits/preload-fonts.d.ts +29 -0
  324. package/core/audits/preload-fonts.js +106 -0
  325. package/core/audits/prioritize-lcp-image.d.ts +76 -0
  326. package/core/audits/prioritize-lcp-image.js +290 -0
  327. package/core/audits/redirects.d.ts +33 -0
  328. package/core/audits/redirects.js +164 -0
  329. package/core/audits/resource-summary.d.ts +16 -0
  330. package/core/audits/resource-summary.js +104 -0
  331. package/core/audits/screenshot-thumbnails.d.ts +33 -0
  332. package/core/audits/screenshot-thumbnails.js +168 -0
  333. package/core/audits/script-elements-test-audit.d.ts +14 -0
  334. package/core/audits/script-elements-test-audit.js +29 -0
  335. package/core/audits/script-treemap-data.d.ts +42 -0
  336. package/core/audits/script-treemap-data.js +287 -0
  337. package/core/audits/seo/canonical.d.ts +51 -0
  338. package/core/audits/seo/canonical.js +217 -0
  339. package/core/audits/seo/crawlable-anchors.d.ts +16 -0
  340. package/core/audits/seo/crawlable-anchors.js +93 -0
  341. package/core/audits/seo/font-size.d.ts +24 -0
  342. package/core/audits/seo/font-size.js +344 -0
  343. package/core/audits/seo/hreflang.d.ts +28 -0
  344. package/core/audits/seo/hreflang.js +148 -0
  345. package/core/audits/seo/http-status-code.d.ts +16 -0
  346. package/core/audits/seo/http-status-code.js +68 -0
  347. package/core/audits/seo/is-crawlable.d.ts +38 -0
  348. package/core/audits/seo/is-crawlable.js +223 -0
  349. package/core/audits/seo/link-text.d.ts +16 -0
  350. package/core/audits/seo/link-text.js +160 -0
  351. package/core/audits/seo/manual/structured-data.d.ts +12 -0
  352. package/core/audits/seo/manual/structured-data.js +37 -0
  353. package/core/audits/seo/meta-description.d.ts +16 -0
  354. package/core/audits/seo/meta-description.js +66 -0
  355. package/core/audits/seo/plugins.d.ts +15 -0
  356. package/core/audits/seo/plugins.js +150 -0
  357. package/core/audits/seo/robots-txt.d.ts +18 -0
  358. package/core/audits/seo/robots-txt.js +255 -0
  359. package/core/audits/seo/tap-targets.d.ts +50 -0
  360. package/core/audits/seo/tap-targets.js +352 -0
  361. package/core/audits/server-response-time.d.ts +21 -0
  362. package/core/audits/server-response-time.js +90 -0
  363. package/core/audits/service-worker.d.ts +46 -0
  364. package/core/audits/service-worker.js +182 -0
  365. package/core/audits/splash-screen.d.ts +37 -0
  366. package/core/audits/splash-screen.js +98 -0
  367. package/core/audits/themed-omnibox.d.ts +42 -0
  368. package/core/audits/themed-omnibox.js +102 -0
  369. package/core/audits/third-party-facades.d.ts +42 -0
  370. package/core/audits/third-party-facades.js +224 -0
  371. package/core/audits/third-party-summary.d.ts +59 -0
  372. package/core/audits/third-party-summary.js +257 -0
  373. package/core/audits/timing-budget.d.ts +43 -0
  374. package/core/audits/timing-budget.js +174 -0
  375. package/core/audits/unsized-images.d.ts +39 -0
  376. package/core/audits/unsized-images.js +162 -0
  377. package/core/audits/user-timings.d.ts +43 -0
  378. package/core/audits/user-timings.js +118 -0
  379. package/core/audits/uses-rel-preconnect.d.ts +37 -0
  380. package/core/audits/uses-rel-preconnect.js +253 -0
  381. package/core/audits/uses-rel-preload.d.ts +61 -0
  382. package/core/audits/uses-rel-preload.js +269 -0
  383. package/core/audits/valid-source-maps.d.ts +29 -0
  384. package/core/audits/valid-source-maps.js +160 -0
  385. package/core/audits/viewport.d.ts +17 -0
  386. package/core/audits/viewport.js +64 -0
  387. package/core/audits/violation-audit.d.ts +14 -0
  388. package/core/audits/violation-audit.js +49 -0
  389. package/core/audits/work-during-interaction.d.ts +82 -0
  390. package/core/audits/work-during-interaction.js +279 -0
  391. package/core/computed/computed-artifact.d.ts +15 -0
  392. package/core/computed/computed-artifact.js +62 -0
  393. package/core/computed/critical-request-chains.d.ts +40 -0
  394. package/core/computed/critical-request-chains.js +143 -0
  395. package/core/computed/entity-classification.d.ts +29 -0
  396. package/core/computed/entity-classification.js +103 -0
  397. package/core/computed/image-records.d.ts +24 -0
  398. package/core/computed/image-records.js +64 -0
  399. package/core/computed/js-bundles.d.ts +13 -0
  400. package/core/computed/js-bundles.js +120 -0
  401. package/core/computed/load-simulator.d.ts +28 -0
  402. package/core/computed/load-simulator.js +92 -0
  403. package/core/computed/main-resource.d.ts +25 -0
  404. package/core/computed/main-resource.js +35 -0
  405. package/core/computed/main-thread-tasks.d.ts +15 -0
  406. package/core/computed/main-thread-tasks.js +25 -0
  407. package/core/computed/manifest-values.d.ts +24 -0
  408. package/core/computed/manifest-values.js +136 -0
  409. package/core/computed/metrics/cumulative-layout-shift.d.ts +53 -0
  410. package/core/computed/metrics/cumulative-layout-shift.js +125 -0
  411. package/core/computed/metrics/first-contentful-paint-all-frames.d.ts +19 -0
  412. package/core/computed/metrics/first-contentful-paint-all-frames.js +37 -0
  413. package/core/computed/metrics/first-contentful-paint.d.ts +15 -0
  414. package/core/computed/metrics/first-contentful-paint.js +40 -0
  415. package/core/computed/metrics/first-meaningful-paint.d.ts +15 -0
  416. package/core/computed/metrics/first-meaningful-paint.js +44 -0
  417. package/core/computed/metrics/interactive.d.ts +61 -0
  418. package/core/computed/metrics/interactive.js +192 -0
  419. package/core/computed/metrics/lantern-first-contentful-paint.d.ts +48 -0
  420. package/core/computed/metrics/lantern-first-contentful-paint.js +204 -0
  421. package/core/computed/metrics/lantern-first-meaningful-paint.d.ts +12 -0
  422. package/core/computed/metrics/lantern-first-meaningful-paint.js +83 -0
  423. package/core/computed/metrics/lantern-interactive.d.ts +31 -0
  424. package/core/computed/metrics/lantern-interactive.js +113 -0
  425. package/core/computed/metrics/lantern-largest-contentful-paint.d.ts +25 -0
  426. package/core/computed/metrics/lantern-largest-contentful-paint.js +111 -0
  427. package/core/computed/metrics/lantern-max-potential-fid.d.ts +30 -0
  428. package/core/computed/metrics/lantern-max-potential-fid.js +93 -0
  429. package/core/computed/metrics/lantern-metric.d.ts +78 -0
  430. package/core/computed/metrics/lantern-metric.js +162 -0
  431. package/core/computed/metrics/lantern-speed-index.d.ts +38 -0
  432. package/core/computed/metrics/lantern-speed-index.js +150 -0
  433. package/core/computed/metrics/lantern-total-blocking-time.d.ts +31 -0
  434. package/core/computed/metrics/lantern-total-blocking-time.js +126 -0
  435. package/core/computed/metrics/largest-contentful-paint-all-frames.d.ts +20 -0
  436. package/core/computed/metrics/largest-contentful-paint-all-frames.js +45 -0
  437. package/core/computed/metrics/largest-contentful-paint.d.ts +15 -0
  438. package/core/computed/metrics/largest-contentful-paint.js +52 -0
  439. package/core/computed/metrics/max-potential-fid.d.ts +15 -0
  440. package/core/computed/metrics/max-potential-fid.js +45 -0
  441. package/core/computed/metrics/metric.d.ts +38 -0
  442. package/core/computed/metrics/metric.js +100 -0
  443. package/core/computed/metrics/navigation-metric.d.ts +16 -0
  444. package/core/computed/metrics/navigation-metric.js +46 -0
  445. package/core/computed/metrics/responsiveness.d.ts +87 -0
  446. package/core/computed/metrics/responsiveness.js +160 -0
  447. package/core/computed/metrics/speed-index.d.ts +10 -0
  448. package/core/computed/metrics/speed-index.js +40 -0
  449. package/core/computed/metrics/tbt-utils.d.ts +18 -0
  450. package/core/computed/metrics/tbt-utils.js +56 -0
  451. package/core/computed/metrics/timing-summary.d.ts +46 -0
  452. package/core/computed/metrics/timing-summary.js +157 -0
  453. package/core/computed/metrics/total-blocking-time.d.ts +23 -0
  454. package/core/computed/metrics/total-blocking-time.js +74 -0
  455. package/core/computed/module-duplication.d.ts +37 -0
  456. package/core/computed/module-duplication.js +138 -0
  457. package/core/computed/network-analysis.d.ts +20 -0
  458. package/core/computed/network-analysis.js +64 -0
  459. package/core/computed/network-records.d.ts +15 -0
  460. package/core/computed/network-records.js +22 -0
  461. package/core/computed/page-dependency-graph.d.ts +88 -0
  462. package/core/computed/page-dependency-graph.js +516 -0
  463. package/core/computed/processed-navigation.d.ts +21 -0
  464. package/core/computed/processed-navigation.js +37 -0
  465. package/core/computed/processed-trace.d.ts +14 -0
  466. package/core/computed/processed-trace.js +21 -0
  467. package/core/computed/resource-summary.d.ts +46 -0
  468. package/core/computed/resource-summary.js +118 -0
  469. package/core/computed/screenshots.d.ts +20 -0
  470. package/core/computed/screenshots.js +29 -0
  471. package/core/computed/speedline.d.ts +15 -0
  472. package/core/computed/speedline.js +55 -0
  473. package/core/computed/unused-css.d.ts +62 -0
  474. package/core/computed/unused-css.js +153 -0
  475. package/core/computed/unused-javascript-summary.d.ts +71 -0
  476. package/core/computed/unused-javascript-summary.js +155 -0
  477. package/core/computed/user-timings.d.ts +31 -0
  478. package/core/computed/user-timings.js +83 -0
  479. package/core/computed/viewport-meta.d.ts +35 -0
  480. package/core/computed/viewport-meta.js +56 -0
  481. package/core/config/budget.d.ts +74 -0
  482. package/core/config/budget.js +340 -0
  483. package/core/config/config-helpers.d.ts +94 -0
  484. package/core/config/config-helpers.js +630 -0
  485. package/core/config/config-plugin.d.ts +46 -0
  486. package/core/config/config-plugin.js +250 -0
  487. package/core/config/config.d.ts +28 -0
  488. package/core/config/config.js +344 -0
  489. package/core/config/constants.d.ts +86 -0
  490. package/core/config/constants.js +175 -0
  491. package/core/config/default-config.d.ts +5 -0
  492. package/core/config/default-config.js +637 -0
  493. package/core/config/desktop-config.d.ts +5 -0
  494. package/core/config/desktop-config.js +21 -0
  495. package/core/config/experimental-config.d.ts +13 -0
  496. package/core/config/experimental-config.js +29 -0
  497. package/core/config/filters.d.ts +83 -0
  498. package/core/config/filters.js +344 -0
  499. package/core/config/full-config.d.ts +9 -0
  500. package/core/config/full-config.js +13 -0
  501. package/core/config/lr-desktop-config.d.ts +4 -0
  502. package/core/config/lr-desktop-config.js +28 -0
  503. package/core/config/lr-mobile-config.d.ts +9 -0
  504. package/core/config/lr-mobile-config.js +33 -0
  505. package/core/config/metrics-to-audits.d.ts +19 -0
  506. package/core/config/metrics-to-audits.js +61 -0
  507. package/core/config/perf-config.d.ts +9 -0
  508. package/core/config/perf-config.js +16 -0
  509. package/core/config/validation.d.ts +77 -0
  510. package/core/config/validation.js +312 -0
  511. package/core/gather/base-artifacts.d.ts +16 -0
  512. package/core/gather/base-artifacts.js +95 -0
  513. package/core/gather/base-gatherer.d.ts +72 -0
  514. package/core/gather/base-gatherer.js +108 -0
  515. package/core/gather/driver/dom.d.ts +20 -0
  516. package/core/gather/driver/dom.js +57 -0
  517. package/core/gather/driver/environment.d.ts +35 -0
  518. package/core/gather/driver/environment.js +105 -0
  519. package/core/gather/driver/execution-context.d.ts +101 -0
  520. package/core/gather/driver/execution-context.js +262 -0
  521. package/core/gather/driver/navigation.d.ts +33 -0
  522. package/core/gather/driver/navigation.js +182 -0
  523. package/core/gather/driver/network-monitor.d.ts +82 -0
  524. package/core/gather/driver/network-monitor.js +260 -0
  525. package/core/gather/driver/network.d.ts +10 -0
  526. package/core/gather/driver/network.js +27 -0
  527. package/core/gather/driver/prepare.d.ts +52 -0
  528. package/core/gather/driver/prepare.js +244 -0
  529. package/core/gather/driver/service-workers.d.ts +16 -0
  530. package/core/gather/driver/service-workers.js +52 -0
  531. package/core/gather/driver/storage.d.ts +24 -0
  532. package/core/gather/driver/storage.js +149 -0
  533. package/core/gather/driver/target-manager.d.ts +61 -0
  534. package/core/gather/driver/target-manager.js +209 -0
  535. package/core/gather/driver/wait-for-condition.d.ts +116 -0
  536. package/core/gather/driver/wait-for-condition.js +544 -0
  537. package/core/gather/driver.d.ts +30 -0
  538. package/core/gather/driver.js +92 -0
  539. package/core/gather/fetcher.d.ts +63 -0
  540. package/core/gather/fetcher.js +143 -0
  541. package/core/gather/gatherers/accessibility.d.ts +23 -0
  542. package/core/gather/gatherers/accessibility.js +199 -0
  543. package/core/gather/gatherers/anchor-elements.d.ts +10 -0
  544. package/core/gather/gatherers/anchor-elements.js +132 -0
  545. package/core/gather/gatherers/bf-cache-failures.d.ts +43 -0
  546. package/core/gather/gatherers/bf-cache-failures.js +179 -0
  547. package/core/gather/gatherers/cache-contents.d.ts +11 -0
  548. package/core/gather/gatherers/cache-contents.js +58 -0
  549. package/core/gather/gatherers/console-messages.d.ts +39 -0
  550. package/core/gather/gatherers/console-messages.js +174 -0
  551. package/core/gather/gatherers/css-usage.d.ts +39 -0
  552. package/core/gather/gatherers/css-usage.js +150 -0
  553. package/core/gather/gatherers/devtools-log-compat.d.ts +13 -0
  554. package/core/gather/gatherers/devtools-log-compat.js +35 -0
  555. package/core/gather/gatherers/devtools-log.d.ts +48 -0
  556. package/core/gather/gatherers/devtools-log.js +115 -0
  557. package/core/gather/gatherers/dobetterweb/doctype.d.ts +10 -0
  558. package/core/gather/gatherers/dobetterweb/doctype.js +47 -0
  559. package/core/gather/gatherers/dobetterweb/domstats.d.ts +10 -0
  560. package/core/gather/gatherers/dobetterweb/domstats.js +102 -0
  561. package/core/gather/gatherers/dobetterweb/optimized-images.d.ts +61 -0
  562. package/core/gather/gatherers/dobetterweb/optimized-images.js +193 -0
  563. package/core/gather/gatherers/dobetterweb/response-compression.d.ts +30 -0
  564. package/core/gather/gatherers/dobetterweb/response-compression.js +155 -0
  565. package/core/gather/gatherers/dobetterweb/tags-blocking-first-paint.d.ts +53 -0
  566. package/core/gather/gatherers/dobetterweb/tags-blocking-first-paint.js +237 -0
  567. package/core/gather/gatherers/full-page-screenshot.d.ts +35 -0
  568. package/core/gather/gatherers/full-page-screenshot.js +258 -0
  569. package/core/gather/gatherers/gatherer.d.ts +46 -0
  570. package/core/gather/gatherers/gatherer.js +58 -0
  571. package/core/gather/gatherers/global-listeners.d.ts +27 -0
  572. package/core/gather/gatherers/global-listeners.js +91 -0
  573. package/core/gather/gatherers/iframe-elements.d.ts +11 -0
  574. package/core/gather/gatherers/iframe-elements.js +67 -0
  575. package/core/gather/gatherers/image-elements.d.ts +35 -0
  576. package/core/gather/gatherers/image-elements.js +378 -0
  577. package/core/gather/gatherers/inputs.d.ts +10 -0
  578. package/core/gather/gatherers/inputs.js +118 -0
  579. package/core/gather/gatherers/inspector-issues.d.ts +38 -0
  580. package/core/gather/gatherers/inspector-issues.js +126 -0
  581. package/core/gather/gatherers/installability-errors.d.ts +17 -0
  582. package/core/gather/gatherers/installability-errors.js +56 -0
  583. package/core/gather/gatherers/js-usage.d.ts +22 -0
  584. package/core/gather/gatherers/js-usage.js +74 -0
  585. package/core/gather/gatherers/link-elements.d.ts +39 -0
  586. package/core/gather/gatherers/link-elements.js +181 -0
  587. package/core/gather/gatherers/main-document-content.d.ts +27 -0
  588. package/core/gather/gatherers/main-document-content.js +53 -0
  589. package/core/gather/gatherers/meta-elements.d.ts +10 -0
  590. package/core/gather/gatherers/meta-elements.js +67 -0
  591. package/core/gather/gatherers/network-user-agent.d.ts +18 -0
  592. package/core/gather/gatherers/network-user-agent.js +41 -0
  593. package/core/gather/gatherers/script-elements.d.ts +26 -0
  594. package/core/gather/gatherers/script-elements.js +110 -0
  595. package/core/gather/gatherers/scripts.d.ts +27 -0
  596. package/core/gather/gatherers/scripts.js +139 -0
  597. package/core/gather/gatherers/seo/embedded-content.d.ts +10 -0
  598. package/core/gather/gatherers/seo/embedded-content.js +63 -0
  599. package/core/gather/gatherers/seo/font-size.d.ts +131 -0
  600. package/core/gather/gatherers/seo/font-size.js +339 -0
  601. package/core/gather/gatherers/seo/robots-txt.d.ts +10 -0
  602. package/core/gather/gatherers/seo/robots-txt.js +27 -0
  603. package/core/gather/gatherers/seo/tap-targets.d.ts +21 -0
  604. package/core/gather/gatherers/seo/tap-targets.js +389 -0
  605. package/core/gather/gatherers/service-worker.d.ts +16 -0
  606. package/core/gather/gatherers/service-worker.js +44 -0
  607. package/core/gather/gatherers/source-maps.d.ts +50 -0
  608. package/core/gather/gatherers/source-maps.js +155 -0
  609. package/core/gather/gatherers/stacks.d.ts +38 -0
  610. package/core/gather/gatherers/stacks.js +137 -0
  611. package/core/gather/gatherers/trace-compat.d.ts +13 -0
  612. package/core/gather/gatherers/trace-compat.js +35 -0
  613. package/core/gather/gatherers/trace-elements.d.ts +83 -0
  614. package/core/gather/gatherers/trace-elements.js +349 -0
  615. package/core/gather/gatherers/trace.d.ts +23 -0
  616. package/core/gather/gatherers/trace.js +130 -0
  617. package/core/gather/gatherers/viewport-dimensions.d.ts +10 -0
  618. package/core/gather/gatherers/viewport-dimensions.js +57 -0
  619. package/core/gather/gatherers/web-app-manifest.d.ts +32 -0
  620. package/core/gather/gatherers/web-app-manifest.js +106 -0
  621. package/core/gather/navigation-runner.d.ts +94 -0
  622. package/core/gather/navigation-runner.js +386 -0
  623. package/core/gather/runner-helpers.d.ts +39 -0
  624. package/core/gather/runner-helpers.js +159 -0
  625. package/core/gather/session.d.ts +50 -0
  626. package/core/gather/session.js +114 -0
  627. package/core/gather/snapshot-runner.d.ts +10 -0
  628. package/core/gather/snapshot-runner.js +67 -0
  629. package/core/gather/timespan-runner.d.ts +12 -0
  630. package/core/gather/timespan-runner.js +85 -0
  631. package/core/index.cjs +21 -0
  632. package/core/index.d.cts +4 -0
  633. package/core/index.d.ts +88 -0
  634. package/core/index.js +172 -0
  635. package/core/legacy/config/config.d.ts +107 -0
  636. package/core/legacy/config/config.js +566 -0
  637. package/core/legacy/config/legacy-default-config.d.ts +4 -0
  638. package/core/legacy/config/legacy-default-config.js +87 -0
  639. package/core/legacy/gather/connections/connection.d.ts +75 -0
  640. package/core/legacy/gather/connections/connection.js +181 -0
  641. package/core/legacy/gather/connections/cri.d.ts +27 -0
  642. package/core/legacy/gather/connections/cri.js +162 -0
  643. package/core/legacy/gather/connections/raw.d.ts +20 -0
  644. package/core/legacy/gather/connections/raw.js +57 -0
  645. package/core/legacy/gather/driver.d.ts +215 -0
  646. package/core/legacy/gather/driver.js +469 -0
  647. package/core/legacy/gather/gather-runner.d.ts +166 -0
  648. package/core/legacy/gather/gather-runner.js +590 -0
  649. package/core/lib/arbitrary-equality-map.d.ts +47 -0
  650. package/core/lib/arbitrary-equality-map.js +80 -0
  651. package/core/lib/asset-saver.d.ts +101 -0
  652. package/core/lib/asset-saver.js +451 -0
  653. package/core/lib/axe.d.ts +2 -0
  654. package/core/lib/axe.js +17 -0
  655. package/core/lib/bf-cache-strings.d.ts +121 -0
  656. package/core/lib/bf-cache-strings.js +661 -0
  657. package/core/lib/cdt/Common.d.ts +3 -0
  658. package/core/lib/cdt/Common.js +12 -0
  659. package/core/lib/cdt/Platform.d.ts +26 -0
  660. package/core/lib/cdt/Platform.js +57 -0
  661. package/core/lib/cdt/SDK.d.ts +2 -0
  662. package/core/lib/cdt/SDK.js +28 -0
  663. package/core/lib/cdt/generated/ParsedURL.d.ts +28 -0
  664. package/core/lib/cdt/generated/ParsedURL.js +178 -0
  665. package/core/lib/cdt/generated/SourceMap.d.ts +100 -0
  666. package/core/lib/cdt/generated/SourceMap.js +527 -0
  667. package/core/lib/cdt/package.json +4 -0
  668. package/core/lib/csp-evaluator.d.ts +41 -0
  669. package/core/lib/csp-evaluator.js +170 -0
  670. package/core/lib/dependency-graph/base-node.d.ts +161 -0
  671. package/core/lib/dependency-graph/base-node.js +364 -0
  672. package/core/lib/dependency-graph/cpu-node.d.ts +34 -0
  673. package/core/lib/dependency-graph/cpu-node.js +86 -0
  674. package/core/lib/dependency-graph/network-node.d.ts +43 -0
  675. package/core/lib/dependency-graph/network-node.js +99 -0
  676. package/core/lib/dependency-graph/simulator/connection-pool.d.ts +58 -0
  677. package/core/lib/dependency-graph/simulator/connection-pool.js +171 -0
  678. package/core/lib/dependency-graph/simulator/dns-cache.d.ts +42 -0
  679. package/core/lib/dependency-graph/simulator/dns-cache.js +74 -0
  680. package/core/lib/dependency-graph/simulator/network-analyzer.d.ts +166 -0
  681. package/core/lib/dependency-graph/simulator/network-analyzer.js +479 -0
  682. package/core/lib/dependency-graph/simulator/simulator-timing-map.d.ts +153 -0
  683. package/core/lib/dependency-graph/simulator/simulator-timing-map.js +220 -0
  684. package/core/lib/dependency-graph/simulator/simulator.d.ts +154 -0
  685. package/core/lib/dependency-graph/simulator/simulator.js +540 -0
  686. package/core/lib/dependency-graph/simulator/tcp-connection.d.ts +89 -0
  687. package/core/lib/dependency-graph/simulator/tcp-connection.js +230 -0
  688. package/core/lib/deprecations-strings.d.ts +66 -0
  689. package/core/lib/deprecations-strings.js +654 -0
  690. package/core/lib/emulation.d.ts +43 -0
  691. package/core/lib/emulation.js +163 -0
  692. package/core/lib/i18n/README.md +290 -0
  693. package/core/lib/i18n/i18n.d.ts +81 -0
  694. package/core/lib/i18n/i18n.js +229 -0
  695. package/core/lib/icons.d.ts +22 -0
  696. package/core/lib/icons.js +82 -0
  697. package/core/lib/lantern-trace-saver.d.ts +20 -0
  698. package/core/lib/lantern-trace-saver.js +260 -0
  699. package/core/lib/lh-env.d.ts +2 -0
  700. package/core/lib/lh-env.js +15 -0
  701. package/core/lib/lh-error.d.ts +328 -0
  702. package/core/lib/lh-error.js +425 -0
  703. package/core/lib/lh-trace-processor.d.ts +5 -0
  704. package/core/lib/lh-trace-processor.js +45 -0
  705. package/core/lib/lighthouse-compatibility.d.ts +8 -0
  706. package/core/lib/lighthouse-compatibility.js +139 -0
  707. package/core/lib/manifest-parser.d.ts +186 -0
  708. package/core/lib/manifest-parser.js +495 -0
  709. package/core/lib/median-run.d.ts +17 -0
  710. package/core/lib/median-run.js +92 -0
  711. package/core/lib/minification-estimator.d.ts +9 -0
  712. package/core/lib/minification-estimator.js +192 -0
  713. package/core/lib/minify-devtoolslog.d.ts +6 -0
  714. package/core/lib/minify-devtoolslog.js +86 -0
  715. package/core/lib/navigation-error.d.ts +39 -0
  716. package/core/lib/navigation-error.js +175 -0
  717. package/core/lib/network-recorder.d.ts +115 -0
  718. package/core/lib/network-recorder.js +341 -0
  719. package/core/lib/network-request.d.ts +247 -0
  720. package/core/lib/network-request.js +590 -0
  721. package/core/lib/page-functions.d.ts +149 -0
  722. package/core/lib/page-functions.js +544 -0
  723. package/core/lib/proto-preprocessor.d.ts +13 -0
  724. package/core/lib/proto-preprocessor.js +133 -0
  725. package/core/lib/rect-helpers.d.ts +100 -0
  726. package/core/lib/rect-helpers.js +251 -0
  727. package/core/lib/script-helpers.d.ts +17 -0
  728. package/core/lib/script-helpers.js +31 -0
  729. package/core/lib/sentry.d.ts +32 -0
  730. package/core/lib/sentry.js +143 -0
  731. package/core/lib/stack-packs.d.ts +16 -0
  732. package/core/lib/stack-packs.js +126 -0
  733. package/core/lib/statistics.d.ts +28 -0
  734. package/core/lib/statistics.js +103 -0
  735. package/core/lib/tappable-rects.d.ts +8 -0
  736. package/core/lib/tappable-rects.js +98 -0
  737. package/core/lib/third-party-web.d.ts +32 -0
  738. package/core/lib/third-party-web.js +52 -0
  739. package/core/lib/timing-trace-saver.d.ts +21 -0
  740. package/core/lib/timing-trace-saver.js +96 -0
  741. package/core/lib/tracehouse/cpu-profile-model.d.ts +228 -0
  742. package/core/lib/tracehouse/cpu-profile-model.js +591 -0
  743. package/core/lib/tracehouse/main-thread-tasks.d.ts +162 -0
  744. package/core/lib/tracehouse/main-thread-tasks.js +688 -0
  745. package/core/lib/tracehouse/task-groups.d.ts +66 -0
  746. package/core/lib/tracehouse/task-groups.js +111 -0
  747. package/core/lib/tracehouse/task-summary.d.ts +18 -0
  748. package/core/lib/tracehouse/task-summary.js +86 -0
  749. package/core/lib/tracehouse/trace-processor.d.ts +284 -0
  750. package/core/lib/tracehouse/trace-processor.js +1016 -0
  751. package/core/lib/traces/metric-trace-events.d.ts +65 -0
  752. package/core/lib/traces/metric-trace-events.js +200 -0
  753. package/core/lib/url-utils.d.ts +100 -0
  754. package/core/lib/url-utils.js +266 -0
  755. package/core/runner.d.ts +114 -0
  756. package/core/runner.js +563 -0
  757. package/core/scoring.d.ts +26 -0
  758. package/core/scoring.js +91 -0
  759. package/core/scripts/download-chrome.sh +36 -0
  760. package/core/scripts/manual-chrome-launcher.js +50 -0
  761. package/core/user-flow.d.ts +106 -0
  762. package/core/user-flow.js +354 -0
  763. package/dist/report/bundle.esm.js +1485 -1281
  764. package/dist/report/flow.js +37 -25
  765. package/dist/report/standalone.js +35 -19
  766. package/eslint-local-rules.cjs +106 -0
  767. package/eslint-local-rules.d.cts +6 -0
  768. package/esm-utils.d.ts +14 -0
  769. package/esm-utils.js +38 -0
  770. package/flow-report/api.d.ts +7 -0
  771. package/flow-report/assets/standalone-flow-template.html +1 -1
  772. package/flow-report/clients/standalone.d.ts +7 -0
  773. package/flow-report/src/app.d.ts +11 -0
  774. package/flow-report/src/app.tsx +1 -1
  775. package/flow-report/src/common.d.ts +20 -0
  776. package/flow-report/src/common.tsx +3 -3
  777. package/flow-report/src/header.d.ts +10 -0
  778. package/flow-report/src/header.tsx +1 -1
  779. package/flow-report/src/help-dialog.d.ts +10 -0
  780. package/flow-report/src/i18n/i18n.d.ts +212 -0
  781. package/flow-report/src/i18n/i18n.tsx +24 -19
  782. package/flow-report/src/i18n/localized-strings.d.ts +9 -0
  783. package/flow-report/src/i18n/ui-strings.d.ts +48 -0
  784. package/flow-report/src/icons.d.ts +18 -0
  785. package/flow-report/src/sidebar/flow.d.ts +8 -0
  786. package/flow-report/src/sidebar/sidebar.d.ts +17 -0
  787. package/flow-report/src/sidebar/sidebar.tsx +7 -4
  788. package/flow-report/src/summary/category.d.ts +19 -0
  789. package/flow-report/src/summary/category.tsx +10 -10
  790. package/flow-report/src/summary/summary.d.ts +18 -0
  791. package/flow-report/src/summary/summary.tsx +4 -4
  792. package/flow-report/src/topbar.d.ts +15 -0
  793. package/flow-report/src/topbar.tsx +14 -30
  794. package/flow-report/src/util.d.ts +30 -0
  795. package/flow-report/src/util.ts +2 -13
  796. package/flow-report/src/wrappers/category-score.d.ts +12 -0
  797. package/flow-report/src/wrappers/markdown.d.ts +10 -0
  798. package/flow-report/src/wrappers/report.d.ts +10 -0
  799. package/flow-report/src/wrappers/report.tsx +1 -1
  800. package/flow-report/src/wrappers/styles.d.ts +8 -0
  801. package/flow-report/test/app-test.d.ts +7 -0
  802. package/flow-report/test/common-test.d.ts +7 -0
  803. package/flow-report/test/common-test.tsx +11 -12
  804. package/flow-report/test/flow-report-pptr-test.d.ts +7 -0
  805. package/flow-report/test/flow-report-pptr-test.ts +21 -8
  806. package/flow-report/test/header-test.d.ts +7 -0
  807. package/flow-report/test/run-flow-report-tests.sh +20 -0
  808. package/flow-report/test/sample-flow.d.ts +7 -0
  809. package/flow-report/test/sample-flow.ts +1 -1
  810. package/flow-report/test/setup/env-setup.d.ts +11 -0
  811. package/flow-report/test/setup/env-setup.ts +47 -24
  812. package/flow-report/test/sidebar/flow-test.d.ts +7 -0
  813. package/flow-report/test/sidebar/sidebar-test.d.ts +7 -0
  814. package/flow-report/test/sidebar/sidebar-test.tsx +30 -3
  815. package/flow-report/test/summary/category-test.d.ts +7 -0
  816. package/flow-report/test/summary/summary-test.d.ts +7 -0
  817. package/flow-report/test/summary/summary-test.tsx +1 -1
  818. package/flow-report/test/topbar-test.d.ts +7 -0
  819. package/flow-report/test/topbar-test.tsx +11 -12
  820. package/flow-report/test/util-test.d.ts +7 -0
  821. package/flow-report/test/util-test.tsx +3 -3
  822. package/flow-report/test/wrappers/category-score-test.d.ts +7 -0
  823. package/flow-report/test/wrappers/markdown-test.d.ts +7 -0
  824. package/flow-report/tsconfig.json +5 -3
  825. package/flow-report/types/flow-report.d.ts +8 -1
  826. package/package.json +86 -80
  827. package/readme.md +27 -40
  828. package/report/README.md +8 -9
  829. package/report/assets/standalone-template.html +1 -1
  830. package/report/assets/styles.css +35 -17
  831. package/report/assets/templates.html +14 -37
  832. package/report/clients/bundle.d.ts +6 -0
  833. package/report/clients/bundle.js +1 -2
  834. package/report/clients/standalone.d.ts +2 -0
  835. package/report/clients/standalone.js +0 -1
  836. package/report/generator/file-namer.d.ts +35 -0
  837. package/report/generator/file-namer.js +7 -3
  838. package/report/generator/flow-report-assets.d.ts +9 -0
  839. package/report/generator/flow-report-assets.js +10 -6
  840. package/report/generator/report-assets.d.ts +8 -0
  841. package/report/generator/report-assets.js +8 -5
  842. package/report/generator/report-generator.d.ts +59 -0
  843. package/report/generator/report-generator.js +76 -34
  844. package/report/generator/tsconfig.json +1 -2
  845. package/report/renderer/api.d.ts +31 -0
  846. package/report/renderer/api.js +0 -2
  847. package/report/renderer/category-renderer.d.ts +176 -0
  848. package/report/renderer/category-renderer.js +39 -41
  849. package/report/renderer/components.d.ts +10 -0
  850. package/report/renderer/components.js +364 -448
  851. package/report/renderer/crc-details-renderer.d.ts +73 -0
  852. package/report/renderer/crc-details-renderer.js +28 -30
  853. package/report/renderer/details-renderer.d.ts +141 -0
  854. package/report/renderer/details-renderer.js +44 -92
  855. package/report/renderer/dom.d.ts +125 -0
  856. package/report/renderer/dom.js +13 -10
  857. package/report/renderer/drop-down-menu.d.ts +70 -0
  858. package/report/renderer/drop-down-menu.js +0 -1
  859. package/report/renderer/element-screenshot-renderer.d.ts +79 -0
  860. package/report/renderer/element-screenshot-renderer.js +11 -12
  861. package/report/renderer/features-util.d.ts +13 -0
  862. package/report/renderer/features-util.js +0 -1
  863. package/report/renderer/i18n-formatter.d.ts +100 -0
  864. package/report/renderer/i18n-formatter.js +263 -0
  865. package/report/renderer/logger.d.ts +47 -0
  866. package/report/renderer/logger.js +0 -1
  867. package/report/renderer/open-tab.d.ts +19 -0
  868. package/report/renderer/open-tab.js +4 -4
  869. package/report/renderer/performance-category-renderer.d.ts +56 -0
  870. package/report/renderer/performance-category-renderer.js +29 -26
  871. package/report/renderer/pwa-category-renderer.d.ts +55 -0
  872. package/report/renderer/pwa-category-renderer.js +8 -8
  873. package/report/renderer/report-globals.d.ts +21 -0
  874. package/report/renderer/report-globals.js +49 -0
  875. package/report/renderer/report-renderer.d.ts +57 -0
  876. package/report/renderer/report-renderer.js +54 -52
  877. package/report/renderer/report-ui-features.d.ts +71 -0
  878. package/report/renderer/report-ui-features.js +44 -39
  879. package/report/renderer/report-utils.d.ts +129 -0
  880. package/report/renderer/report-utils.js +448 -0
  881. package/report/renderer/snippet-renderer.d.ts +85 -0
  882. package/report/renderer/snippet-renderer.js +5 -5
  883. package/report/renderer/swap-locale-feature.d.ts +31 -0
  884. package/report/renderer/swap-locale-feature.js +2 -3
  885. package/report/renderer/text-encoding.d.ts +26 -0
  886. package/report/renderer/text-encoding.js +0 -1
  887. package/report/renderer/topbar-features.d.ts +82 -0
  888. package/report/renderer/topbar-features.js +2 -2
  889. package/report/test/clients/bundle-test.js +5 -10
  890. package/report/test/generator/file-namer-test.js +3 -4
  891. package/report/test/generator/report-generator-test.js +49 -24
  892. package/report/test/renderer/category-renderer-test.js +19 -15
  893. package/report/test/renderer/components-test.js +36 -37
  894. package/report/test/renderer/crc-details-renderer-test.js +11 -10
  895. package/report/test/renderer/details-renderer-test.js +91 -41
  896. package/report/test/renderer/dom-test.js +38 -14
  897. package/report/test/renderer/element-screenshot-renderer-test.js +14 -12
  898. package/report/test/renderer/i18n-formatter-test.js +179 -0
  899. package/report/test/renderer/performance-category-renderer-test.js +43 -31
  900. package/report/test/renderer/pwa-category-renderer-test.js +17 -13
  901. package/report/test/renderer/report-renderer-axe-test.js +12 -15
  902. package/report/test/renderer/report-renderer-test.js +17 -15
  903. package/report/test/renderer/report-ui-features-test.js +304 -89
  904. package/report/test/renderer/report-utils-test.js +219 -0
  905. package/report/test/renderer/snippet-renderer-test.js +11 -10
  906. package/report/test/renderer/text-encoding-test.js +2 -5
  907. package/report/test-assets/faux-psi-template.html +1 -1
  908. package/report/test-assets/faux-psi.d.ts +34 -0
  909. package/report/test-assets/faux-psi.js +83 -68
  910. package/report/test-assets/lhr-3.0.0.json +2332 -0
  911. package/report/test-assets/lhr-4.3.0.json +4754 -0
  912. package/report/test-assets/lhr-5.0.0.json +5994 -0
  913. package/report/test-assets/lhr-6.0.0.json +7222 -0
  914. package/report/test-assets/lhr-8.5.0.json +8679 -0
  915. package/report/tsconfig.json +1 -2
  916. package/report/types/augment-dom.d.ts +1 -1
  917. package/root.d.ts +3 -0
  918. package/root.js +9 -19
  919. package/shared/localization/format.d.ts +106 -0
  920. package/shared/localization/format.js +27 -21
  921. package/shared/localization/i18n-module.d.ts +4 -0
  922. package/shared/localization/i18n-module.js +7 -3
  923. package/shared/localization/locales/ar-XB.json +1658 -1007
  924. package/shared/localization/locales/ar.json +1659 -1008
  925. package/shared/localization/locales/bg.json +1657 -1006
  926. package/shared/localization/locales/ca.json +1664 -1013
  927. package/shared/localization/locales/cs.json +1659 -1008
  928. package/shared/localization/locales/da.json +1658 -1007
  929. package/shared/localization/locales/de.json +1794 -1143
  930. package/shared/localization/locales/el.json +1657 -1006
  931. package/shared/localization/locales/en-GB.json +1658 -1007
  932. package/shared/localization/locales/en-US.json +1570 -1207
  933. package/shared/localization/locales/en-XA.json +1658 -1007
  934. package/shared/localization/locales/en-XL.json +1570 -1207
  935. package/shared/localization/locales/es-419.json +1660 -1009
  936. package/shared/localization/locales/es.json +1665 -1014
  937. package/shared/localization/locales/fi.json +1658 -1007
  938. package/shared/localization/locales/fil.json +1659 -1008
  939. package/shared/localization/locales/fr.json +1660 -1009
  940. package/shared/localization/locales/he.json +1678 -1027
  941. package/shared/localization/locales/hi.json +1661 -1010
  942. package/shared/localization/locales/hr.json +1658 -1007
  943. package/shared/localization/locales/hu.json +1657 -1006
  944. package/shared/localization/locales/id.json +1658 -1007
  945. package/shared/localization/locales/it.json +1678 -1027
  946. package/shared/localization/locales/ja.json +1657 -1006
  947. package/shared/localization/locales/ko.json +1658 -1007
  948. package/shared/localization/locales/lt.json +1658 -1007
  949. package/shared/localization/locales/lv.json +1658 -1007
  950. package/shared/localization/locales/nl.json +1659 -1008
  951. package/shared/localization/locales/no.json +1662 -1011
  952. package/shared/localization/locales/pl.json +1657 -1006
  953. package/shared/localization/locales/pt-PT.json +1678 -1027
  954. package/shared/localization/locales/pt.json +1659 -1008
  955. package/shared/localization/locales/ro.json +1657 -1006
  956. package/shared/localization/locales/ru.json +1657 -1006
  957. package/shared/localization/locales/sk.json +1657 -1006
  958. package/shared/localization/locales/sl.json +1657 -1006
  959. package/shared/localization/locales/sr-Latn.json +1658 -1007
  960. package/shared/localization/locales/sr.json +1658 -1007
  961. package/shared/localization/locales/sv.json +1664 -1013
  962. package/shared/localization/locales/ta.json +1658 -1007
  963. package/shared/localization/locales/te.json +1688 -1037
  964. package/shared/localization/locales/th.json +1666 -1015
  965. package/shared/localization/locales/tr.json +1658 -1007
  966. package/shared/localization/locales/uk.json +1657 -1006
  967. package/shared/localization/locales/vi.json +1659 -1008
  968. package/shared/localization/locales/zh-HK.json +1658 -1007
  969. package/shared/localization/locales/zh-TW.json +1661 -1010
  970. package/shared/localization/locales/zh.json +1658 -1007
  971. package/shared/localization/locales.d.ts +7 -0
  972. package/shared/localization/locales.js +54 -51
  973. package/shared/localization/swap-flow-locale.d.ts +6 -0
  974. package/shared/localization/swap-flow-locale.js +6 -3
  975. package/shared/localization/swap-locale.d.ts +39 -0
  976. package/shared/localization/swap-locale.js +7 -8
  977. package/shared/test/localization/format-test.js +73 -56
  978. package/shared/test/localization/locales-test.js +2 -4
  979. package/shared/test/localization/swap-locale-test.js +10 -11
  980. package/shared/test/util-test.js +214 -0
  981. package/shared/tsconfig.json +1 -2
  982. package/shared/type-verifiers.d.ts +23 -0
  983. package/shared/type-verifiers.js +1 -2
  984. package/shared/types/shared.d.ts +2 -2
  985. package/shared/util.d.ts +122 -0
  986. package/shared/util.js +332 -0
  987. package/third-party/axe/valid-langs.d.ts +9 -0
  988. package/third-party/axe/valid-langs.js +1 -1
  989. package/third-party/chromium-synchronization/inspector-issueAdded-types-test.js +5 -7
  990. package/third-party/chromium-synchronization/installability-errors-test.js +4 -8
  991. package/third-party/download-content-shell/README.md +1 -0
  992. package/third-party/download-content-shell/download-content-shell.js +12 -6
  993. package/third-party/download-content-shell/utils.js +8 -8
  994. package/tsconfig-base.json +6 -1
  995. package/tsconfig.json +84 -90
  996. package/types/artifacts.d.ts +135 -78
  997. package/types/audit.d.ts +9 -8
  998. package/types/config.d.ts +26 -38
  999. package/types/externs.d.ts +9 -101
  1000. package/types/gatherer.d.ts +35 -27
  1001. package/types/internal/cssstyle.d.ts +23 -0
  1002. package/types/{enquirer.d.ts → internal/enquirer.d.ts} +0 -0
  1003. package/types/{es-main.d.ts → internal/es-main.d.ts} +0 -0
  1004. package/types/internal/global.d.ts +15 -0
  1005. package/types/{http-link-header/index.d.ts → internal/http-link-header.d.ts} +0 -0
  1006. package/types/{jsonlint-mod.d.ts → internal/jsonlint-mod.d.ts} +0 -0
  1007. package/types/internal/lighthouse-logger.d.ts +34 -0
  1008. package/types/internal/lookup-closest-locale.d.ts +13 -0
  1009. package/types/{metaviewport-parser/index.d.ts → internal/metaviewport-parser.d.ts} +0 -0
  1010. package/types/{node-fetch.d.ts → internal/node-fetch.d.ts} +0 -0
  1011. package/types/internal/node.d.ts +44 -0
  1012. package/types/{parse-cache-control/index.d.ts → internal/parse-cache-control.d.ts} +0 -0
  1013. package/types/{pretty-json-stringify/index.d.ts → internal/pretty-json-stringify.d.ts} +0 -0
  1014. package/types/internal/query-selector.d.ts +36 -0
  1015. package/types/{rollup-plugin-postprocess.d.ts → internal/rollup-plugin-postprocess.d.ts} +0 -0
  1016. package/types/internal/smokehouse.d.ts +83 -0
  1017. package/types/internal/test.d.ts +53 -0
  1018. package/types/lh.d.ts +81 -0
  1019. package/types/lh.js +13 -0
  1020. package/types/lhr/audit-details.d.ts +6 -53
  1021. package/types/lhr/audit-result.d.ts +2 -2
  1022. package/types/lhr/flow-result.d.ts +28 -0
  1023. package/types/lhr/lhr.d.ts +53 -6
  1024. package/types/lhr/settings.d.ts +18 -1
  1025. package/types/lhr/treemap.d.ts +5 -4
  1026. package/types/lhr/tsconfig.json +0 -2
  1027. package/types/protocol.d.ts +32 -18
  1028. package/types/puppeteer.d.ts +27 -0
  1029. package/types/user-flow.d.ts +27 -6
  1030. package/types/utility-types.d.ts +72 -0
  1031. package/vercel.json +6 -0
  1032. package/eslint-local-rules.js +0 -106
  1033. package/flow-report/.eslintrc.cjs +0 -51
  1034. package/flow-report/jest.config.js +0 -24
  1035. package/flow-report/package.json +0 -4
  1036. package/flow-report/test/setup/global-setup.ts +0 -11
  1037. package/jest.config.js +0 -30
  1038. package/lighthouse-cli/.eslintrc.cjs +0 -29
  1039. package/lighthouse-cli/bin.js +0 -152
  1040. package/lighthouse-cli/cli-flags.js +0 -530
  1041. package/lighthouse-cli/commands/commands.js +0 -10
  1042. package/lighthouse-cli/commands/list-audits.js +0 -16
  1043. package/lighthouse-cli/commands/list-locales.js +0 -16
  1044. package/lighthouse-cli/commands/list-trace-categories.js +0 -16
  1045. package/lighthouse-cli/index.js +0 -14
  1046. package/lighthouse-cli/package.json +0 -4
  1047. package/lighthouse-cli/printer.js +0 -100
  1048. package/lighthouse-cli/run.js +0 -286
  1049. package/lighthouse-cli/sentry-prompt.js +0 -79
  1050. package/lighthouse-cli/test/smokehouse/core-tests.js +0 -129
  1051. package/lighthouse-cli/test/smokehouse/frontends/back-compat-util.js +0 -42
  1052. package/lighthouse-cli/test/smokehouse/frontends/lib.js +0 -49
  1053. package/lighthouse-cli/test/smokehouse/frontends/node.js +0 -13
  1054. package/lighthouse-cli/test/smokehouse/frontends/smokehouse-bin.js +0 -262
  1055. package/lighthouse-cli/test/smokehouse/lib/child-process-error.js +0 -26
  1056. package/lighthouse-cli/test/smokehouse/lib/concurrent-mapper.js +0 -126
  1057. package/lighthouse-cli/test/smokehouse/lib/local-console.js +0 -51
  1058. package/lighthouse-cli/test/smokehouse/lighthouse-runners/bundle.js +0 -68
  1059. package/lighthouse-cli/test/smokehouse/lighthouse-runners/cli.js +0 -151
  1060. package/lighthouse-cli/test/smokehouse/lighthouse-runners/devtools.js +0 -106
  1061. package/lighthouse-cli/test/smokehouse/readme.md +0 -204
  1062. package/lighthouse-cli/test/smokehouse/report-assert.js +0 -493
  1063. package/lighthouse-cli/test/smokehouse/smokehouse.js +0 -284
  1064. package/lighthouse-cli/test/smokehouse/version-check-test.js +0 -46
  1065. package/lighthouse-cli/test/smokehouse/version-check.js +0 -49
  1066. package/lighthouse-core/audits/accessibility/accesskeys.js +0 -45
  1067. package/lighthouse-core/audits/accessibility/aria-allowed-attr.js +0 -45
  1068. package/lighthouse-core/audits/accessibility/aria-command-name.js +0 -43
  1069. package/lighthouse-core/audits/accessibility/aria-hidden-body.js +0 -43
  1070. package/lighthouse-core/audits/accessibility/aria-hidden-focus.js +0 -43
  1071. package/lighthouse-core/audits/accessibility/aria-input-field-name.js +0 -43
  1072. package/lighthouse-core/audits/accessibility/aria-meter-name.js +0 -43
  1073. package/lighthouse-core/audits/accessibility/aria-progressbar-name.js +0 -43
  1074. package/lighthouse-core/audits/accessibility/aria-required-attr.js +0 -44
  1075. package/lighthouse-core/audits/accessibility/aria-required-children.js +0 -48
  1076. package/lighthouse-core/audits/accessibility/aria-required-parent.js +0 -46
  1077. package/lighthouse-core/audits/accessibility/aria-roles.js +0 -45
  1078. package/lighthouse-core/audits/accessibility/aria-toggle-field-name.js +0 -43
  1079. package/lighthouse-core/audits/accessibility/aria-tooltip-name.js +0 -43
  1080. package/lighthouse-core/audits/accessibility/aria-treeitem-name.js +0 -43
  1081. package/lighthouse-core/audits/accessibility/aria-valid-attr-value.js +0 -45
  1082. package/lighthouse-core/audits/accessibility/aria-valid-attr.js +0 -45
  1083. package/lighthouse-core/audits/accessibility/axe-audit.js +0 -114
  1084. package/lighthouse-core/audits/accessibility/button-name.js +0 -45
  1085. package/lighthouse-core/audits/accessibility/bypass.js +0 -46
  1086. package/lighthouse-core/audits/accessibility/color-contrast.js +0 -46
  1087. package/lighthouse-core/audits/accessibility/definition-list.js +0 -47
  1088. package/lighthouse-core/audits/accessibility/dlitem.js +0 -45
  1089. package/lighthouse-core/audits/accessibility/document-title.js +0 -45
  1090. package/lighthouse-core/audits/accessibility/duplicate-id-active.js +0 -43
  1091. package/lighthouse-core/audits/accessibility/duplicate-id-aria.js +0 -43
  1092. package/lighthouse-core/audits/accessibility/form-field-multiple-labels.js +0 -44
  1093. package/lighthouse-core/audits/accessibility/frame-title.js +0 -44
  1094. package/lighthouse-core/audits/accessibility/heading-order.js +0 -43
  1095. package/lighthouse-core/audits/accessibility/html-has-lang.js +0 -47
  1096. package/lighthouse-core/audits/accessibility/html-lang-valid.js +0 -46
  1097. package/lighthouse-core/audits/accessibility/image-alt.js +0 -45
  1098. package/lighthouse-core/audits/accessibility/input-image-alt.js +0 -45
  1099. package/lighthouse-core/audits/accessibility/label.js +0 -45
  1100. package/lighthouse-core/audits/accessibility/link-name.js +0 -46
  1101. package/lighthouse-core/audits/accessibility/list.js +0 -47
  1102. package/lighthouse-core/audits/accessibility/listitem.js +0 -46
  1103. package/lighthouse-core/audits/accessibility/manual/custom-controls-labels.js +0 -28
  1104. package/lighthouse-core/audits/accessibility/manual/custom-controls-roles.js +0 -28
  1105. package/lighthouse-core/audits/accessibility/manual/focus-traps.js +0 -28
  1106. package/lighthouse-core/audits/accessibility/manual/focusable-controls.js +0 -28
  1107. package/lighthouse-core/audits/accessibility/manual/interactive-element-affordance.js +0 -28
  1108. package/lighthouse-core/audits/accessibility/manual/logical-tab-order.js +0 -28
  1109. package/lighthouse-core/audits/accessibility/manual/managed-focus.js +0 -28
  1110. package/lighthouse-core/audits/accessibility/manual/offscreen-content-hidden.js +0 -29
  1111. package/lighthouse-core/audits/accessibility/manual/use-landmarks.js +0 -28
  1112. package/lighthouse-core/audits/accessibility/manual/visual-order-follows-dom.js +0 -28
  1113. package/lighthouse-core/audits/accessibility/meta-refresh.js +0 -46
  1114. package/lighthouse-core/audits/accessibility/meta-viewport.js +0 -47
  1115. package/lighthouse-core/audits/accessibility/object-alt.js +0 -45
  1116. package/lighthouse-core/audits/accessibility/tabindex.js +0 -45
  1117. package/lighthouse-core/audits/accessibility/td-headers-attr.js +0 -49
  1118. package/lighthouse-core/audits/accessibility/th-has-data-cells.js +0 -48
  1119. package/lighthouse-core/audits/accessibility/valid-lang.js +0 -45
  1120. package/lighthouse-core/audits/accessibility/video-caption.js +0 -46
  1121. package/lighthouse-core/audits/apple-touch-icon.js +0 -72
  1122. package/lighthouse-core/audits/audit.js +0 -391
  1123. package/lighthouse-core/audits/autocomplete.js +0 -290
  1124. package/lighthouse-core/audits/bootup-time.js +0 -152
  1125. package/lighthouse-core/audits/byte-efficiency/byte-efficiency-audit.js +0 -258
  1126. package/lighthouse-core/audits/byte-efficiency/duplicated-javascript.js +0 -249
  1127. package/lighthouse-core/audits/byte-efficiency/efficient-animated-content.js +0 -92
  1128. package/lighthouse-core/audits/byte-efficiency/legacy-javascript.js +0 -472
  1129. package/lighthouse-core/audits/byte-efficiency/modern-image-formats.js +0 -186
  1130. package/lighthouse-core/audits/byte-efficiency/offscreen-images.js +0 -252
  1131. package/lighthouse-core/audits/byte-efficiency/render-blocking-resources.js +0 -309
  1132. package/lighthouse-core/audits/byte-efficiency/total-byte-weight.js +0 -111
  1133. package/lighthouse-core/audits/byte-efficiency/unminified-css.js +0 -117
  1134. package/lighthouse-core/audits/byte-efficiency/unminified-javascript.js +0 -120
  1135. package/lighthouse-core/audits/byte-efficiency/unused-css-rules.js +0 -71
  1136. package/lighthouse-core/audits/byte-efficiency/unused-javascript.js +0 -161
  1137. package/lighthouse-core/audits/byte-efficiency/uses-long-cache-ttl.js +0 -298
  1138. package/lighthouse-core/audits/byte-efficiency/uses-optimized-images.js +0 -145
  1139. package/lighthouse-core/audits/byte-efficiency/uses-responsive-images-snapshot.js +0 -100
  1140. package/lighthouse-core/audits/byte-efficiency/uses-responsive-images.js +0 -177
  1141. package/lighthouse-core/audits/byte-efficiency/uses-text-compression.js +0 -100
  1142. package/lighthouse-core/audits/content-width.js +0 -77
  1143. package/lighthouse-core/audits/critical-request-chains.js +0 -220
  1144. package/lighthouse-core/audits/csp-xss.js +0 -186
  1145. package/lighthouse-core/audits/deprecations.js +0 -684
  1146. package/lighthouse-core/audits/diagnostics.js +0 -79
  1147. package/lighthouse-core/audits/dobetterweb/charset.js +0 -96
  1148. package/lighthouse-core/audits/dobetterweb/doctype.js +0 -94
  1149. package/lighthouse-core/audits/dobetterweb/dom-size.js +0 -123
  1150. package/lighthouse-core/audits/dobetterweb/geolocation-on-start.js +0 -70
  1151. package/lighthouse-core/audits/dobetterweb/inspector-issues.js +0 -192
  1152. package/lighthouse-core/audits/dobetterweb/js-libraries.js +0 -88
  1153. package/lighthouse-core/audits/dobetterweb/no-document-write.js +0 -85
  1154. package/lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js +0 -225
  1155. package/lighthouse-core/audits/dobetterweb/notification-on-start.js +0 -69
  1156. package/lighthouse-core/audits/dobetterweb/password-inputs-can-be-pasted-into.js +0 -66
  1157. package/lighthouse-core/audits/dobetterweb/uses-http2.js +0 -258
  1158. package/lighthouse-core/audits/dobetterweb/uses-passive-event-listeners.js +0 -68
  1159. package/lighthouse-core/audits/errors-in-console.js +0 -118
  1160. package/lighthouse-core/audits/final-screenshot.js +0 -59
  1161. package/lighthouse-core/audits/font-display.js +0 -193
  1162. package/lighthouse-core/audits/full-page-screenshot.js +0 -43
  1163. package/lighthouse-core/audits/image-aspect-ratio.js +0 -122
  1164. package/lighthouse-core/audits/image-size-responsive.js +0 -331
  1165. package/lighthouse-core/audits/installable-manifest.js +0 -266
  1166. package/lighthouse-core/audits/is-on-https.js +0 -125
  1167. package/lighthouse-core/audits/largest-contentful-paint-element.js +0 -70
  1168. package/lighthouse-core/audits/layout-shift-elements.js +0 -75
  1169. package/lighthouse-core/audits/lcp-lazy-loaded.js +0 -85
  1170. package/lighthouse-core/audits/long-tasks.js +0 -124
  1171. package/lighthouse-core/audits/main-thread-tasks.js +0 -59
  1172. package/lighthouse-core/audits/mainthread-work-breakdown.js +0 -134
  1173. package/lighthouse-core/audits/manual/manual-audit.js +0 -37
  1174. package/lighthouse-core/audits/manual/pwa-cross-browser.js +0 -41
  1175. package/lighthouse-core/audits/manual/pwa-each-page-has-url.js +0 -39
  1176. package/lighthouse-core/audits/manual/pwa-page-transitions.js +0 -39
  1177. package/lighthouse-core/audits/maskable-icon.js +0 -71
  1178. package/lighthouse-core/audits/metrics/cumulative-layout-shift.js +0 -79
  1179. package/lighthouse-core/audits/metrics/experimental-interaction-to-next-paint.js +0 -88
  1180. package/lighthouse-core/audits/metrics/first-contentful-paint-3g.js +0 -67
  1181. package/lighthouse-core/audits/metrics/first-contentful-paint.js +0 -85
  1182. package/lighthouse-core/audits/metrics/first-meaningful-paint.js +0 -89
  1183. package/lighthouse-core/audits/metrics/interactive.js +0 -93
  1184. package/lighthouse-core/audits/metrics/largest-contentful-paint.js +0 -114
  1185. package/lighthouse-core/audits/metrics/max-potential-fid.js +0 -76
  1186. package/lighthouse-core/audits/metrics/speed-index.js +0 -88
  1187. package/lighthouse-core/audits/metrics/total-blocking-time.js +0 -117
  1188. package/lighthouse-core/audits/metrics.js +0 -73
  1189. package/lighthouse-core/audits/multi-check-audit.js +0 -83
  1190. package/lighthouse-core/audits/network-requests.js +0 -129
  1191. package/lighthouse-core/audits/network-rtt.js +0 -90
  1192. package/lighthouse-core/audits/network-server-latency.js +0 -89
  1193. package/lighthouse-core/audits/no-unload-listeners.js +0 -95
  1194. package/lighthouse-core/audits/non-composited-animations.js +0 -206
  1195. package/lighthouse-core/audits/oopif-iframe-test-audit.js +0 -30
  1196. package/lighthouse-core/audits/performance-budget.js +0 -154
  1197. package/lighthouse-core/audits/predictive-perf.js +0 -101
  1198. package/lighthouse-core/audits/preload-fonts.js +0 -107
  1199. package/lighthouse-core/audits/preload-lcp-image.js +0 -272
  1200. package/lighthouse-core/audits/redirects.js +0 -163
  1201. package/lighthouse-core/audits/resource-summary.js +0 -104
  1202. package/lighthouse-core/audits/screenshot-thumbnails.js +0 -163
  1203. package/lighthouse-core/audits/script-treemap-data.js +0 -288
  1204. package/lighthouse-core/audits/seo/canonical.js +0 -218
  1205. package/lighthouse-core/audits/seo/crawlable-anchors.js +0 -94
  1206. package/lighthouse-core/audits/seo/font-size.js +0 -344
  1207. package/lighthouse-core/audits/seo/hreflang.js +0 -149
  1208. package/lighthouse-core/audits/seo/http-status-code.js +0 -70
  1209. package/lighthouse-core/audits/seo/is-crawlable.js +0 -155
  1210. package/lighthouse-core/audits/seo/link-text.js +0 -158
  1211. package/lighthouse-core/audits/seo/manual/structured-data.js +0 -38
  1212. package/lighthouse-core/audits/seo/meta-description.js +0 -67
  1213. package/lighthouse-core/audits/seo/plugins.js +0 -152
  1214. package/lighthouse-core/audits/seo/robots-txt.js +0 -256
  1215. package/lighthouse-core/audits/seo/tap-targets.js +0 -352
  1216. package/lighthouse-core/audits/server-response-time.js +0 -106
  1217. package/lighthouse-core/audits/service-worker.js +0 -179
  1218. package/lighthouse-core/audits/splash-screen.js +0 -99
  1219. package/lighthouse-core/audits/themed-omnibox.js +0 -110
  1220. package/lighthouse-core/audits/third-party-facades.js +0 -221
  1221. package/lighthouse-core/audits/third-party-summary.js +0 -259
  1222. package/lighthouse-core/audits/timing-budget.js +0 -174
  1223. package/lighthouse-core/audits/unsized-images.js +0 -163
  1224. package/lighthouse-core/audits/user-timings.js +0 -120
  1225. package/lighthouse-core/audits/uses-rel-preconnect.js +0 -254
  1226. package/lighthouse-core/audits/uses-rel-preload.js +0 -267
  1227. package/lighthouse-core/audits/valid-source-maps.js +0 -157
  1228. package/lighthouse-core/audits/viewport.js +0 -65
  1229. package/lighthouse-core/audits/violation-audit.js +0 -50
  1230. package/lighthouse-core/audits/work-during-interaction.js +0 -280
  1231. package/lighthouse-core/computed/computed-artifact.js +0 -62
  1232. package/lighthouse-core/computed/critical-request-chains.js +0 -146
  1233. package/lighthouse-core/computed/image-records.js +0 -63
  1234. package/lighthouse-core/computed/js-bundles.js +0 -119
  1235. package/lighthouse-core/computed/load-simulator.js +0 -92
  1236. package/lighthouse-core/computed/main-resource.js +0 -34
  1237. package/lighthouse-core/computed/main-thread-tasks.js +0 -25
  1238. package/lighthouse-core/computed/manifest-values.js +0 -135
  1239. package/lighthouse-core/computed/metrics/cumulative-layout-shift.js +0 -129
  1240. package/lighthouse-core/computed/metrics/first-contentful-paint-all-frames.js +0 -37
  1241. package/lighthouse-core/computed/metrics/first-contentful-paint.js +0 -40
  1242. package/lighthouse-core/computed/metrics/first-meaningful-paint.js +0 -44
  1243. package/lighthouse-core/computed/metrics/interactive.js +0 -193
  1244. package/lighthouse-core/computed/metrics/lantern-first-contentful-paint.js +0 -204
  1245. package/lighthouse-core/computed/metrics/lantern-first-meaningful-paint.js +0 -83
  1246. package/lighthouse-core/computed/metrics/lantern-interactive.js +0 -113
  1247. package/lighthouse-core/computed/metrics/lantern-largest-contentful-paint.js +0 -111
  1248. package/lighthouse-core/computed/metrics/lantern-max-potential-fid.js +0 -93
  1249. package/lighthouse-core/computed/metrics/lantern-metric.js +0 -167
  1250. package/lighthouse-core/computed/metrics/lantern-speed-index.js +0 -150
  1251. package/lighthouse-core/computed/metrics/lantern-total-blocking-time.js +0 -126
  1252. package/lighthouse-core/computed/metrics/largest-contentful-paint-all-frames.js +0 -45
  1253. package/lighthouse-core/computed/metrics/largest-contentful-paint.js +0 -52
  1254. package/lighthouse-core/computed/metrics/max-potential-fid.js +0 -45
  1255. package/lighthouse-core/computed/metrics/metric.js +0 -100
  1256. package/lighthouse-core/computed/metrics/navigation-metric.js +0 -46
  1257. package/lighthouse-core/computed/metrics/responsiveness.js +0 -157
  1258. package/lighthouse-core/computed/metrics/speed-index.js +0 -40
  1259. package/lighthouse-core/computed/metrics/tbt-utils.js +0 -57
  1260. package/lighthouse-core/computed/metrics/timing-summary.js +0 -150
  1261. package/lighthouse-core/computed/metrics/total-blocking-time.js +0 -74
  1262. package/lighthouse-core/computed/module-duplication.js +0 -136
  1263. package/lighthouse-core/computed/network-analysis.js +0 -64
  1264. package/lighthouse-core/computed/network-records.js +0 -21
  1265. package/lighthouse-core/computed/page-dependency-graph.js +0 -488
  1266. package/lighthouse-core/computed/processed-navigation.js +0 -21
  1267. package/lighthouse-core/computed/processed-trace.js +0 -21
  1268. package/lighthouse-core/computed/resource-summary.js +0 -114
  1269. package/lighthouse-core/computed/screenshots.js +0 -29
  1270. package/lighthouse-core/computed/speedline.js +0 -54
  1271. package/lighthouse-core/computed/trace-of-tab.js +0 -30
  1272. package/lighthouse-core/computed/unused-css.js +0 -154
  1273. package/lighthouse-core/computed/unused-javascript-summary.js +0 -175
  1274. package/lighthouse-core/computed/user-timings.js +0 -83
  1275. package/lighthouse-core/computed/viewport-meta.js +0 -56
  1276. package/lighthouse-core/config/budget.js +0 -341
  1277. package/lighthouse-core/config/config-helpers.js +0 -590
  1278. package/lighthouse-core/config/config-plugin.js +0 -225
  1279. package/lighthouse-core/config/config.js +0 -544
  1280. package/lighthouse-core/config/constants.js +0 -169
  1281. package/lighthouse-core/config/default-config.js +0 -632
  1282. package/lighthouse-core/config/desktop-config.js +0 -21
  1283. package/lighthouse-core/config/experimental-config.js +0 -30
  1284. package/lighthouse-core/config/full-config.js +0 -14
  1285. package/lighthouse-core/config/lr-desktop-config.js +0 -25
  1286. package/lighthouse-core/config/lr-mobile-config.js +0 -31
  1287. package/lighthouse-core/config/metrics-to-audits.js +0 -61
  1288. package/lighthouse-core/config/perf-config.js +0 -17
  1289. package/lighthouse-core/fraggle-rock/api.js +0 -77
  1290. package/lighthouse-core/fraggle-rock/config/config.js +0 -281
  1291. package/lighthouse-core/fraggle-rock/config/default-config.js +0 -205
  1292. package/lighthouse-core/fraggle-rock/config/filters.js +0 -335
  1293. package/lighthouse-core/fraggle-rock/config/validation.js +0 -313
  1294. package/lighthouse-core/fraggle-rock/gather/base-artifacts.js +0 -99
  1295. package/lighthouse-core/fraggle-rock/gather/base-gatherer.js +0 -107
  1296. package/lighthouse-core/fraggle-rock/gather/driver.js +0 -88
  1297. package/lighthouse-core/fraggle-rock/gather/navigation-runner.js +0 -339
  1298. package/lighthouse-core/fraggle-rock/gather/runner-helpers.js +0 -160
  1299. package/lighthouse-core/fraggle-rock/gather/session.js +0 -182
  1300. package/lighthouse-core/fraggle-rock/gather/snapshot-runner.js +0 -68
  1301. package/lighthouse-core/fraggle-rock/gather/timespan-runner.js +0 -82
  1302. package/lighthouse-core/fraggle-rock/user-flow.js +0 -229
  1303. package/lighthouse-core/gather/connections/connection.js +0 -179
  1304. package/lighthouse-core/gather/connections/cri.js +0 -171
  1305. package/lighthouse-core/gather/connections/raw.js +0 -58
  1306. package/lighthouse-core/gather/devtools-log.js +0 -61
  1307. package/lighthouse-core/gather/driver/dom.js +0 -58
  1308. package/lighthouse-core/gather/driver/environment.js +0 -105
  1309. package/lighthouse-core/gather/driver/execution-context.js +0 -249
  1310. package/lighthouse-core/gather/driver/navigation.js +0 -179
  1311. package/lighthouse-core/gather/driver/network-monitor.js +0 -290
  1312. package/lighthouse-core/gather/driver/network.js +0 -28
  1313. package/lighthouse-core/gather/driver/prepare.js +0 -226
  1314. package/lighthouse-core/gather/driver/service-workers.js +0 -53
  1315. package/lighthouse-core/gather/driver/storage.js +0 -125
  1316. package/lighthouse-core/gather/driver/target-manager.js +0 -125
  1317. package/lighthouse-core/gather/driver/wait-for-condition.js +0 -535
  1318. package/lighthouse-core/gather/driver.js +0 -482
  1319. package/lighthouse-core/gather/fetcher.js +0 -318
  1320. package/lighthouse-core/gather/gather-runner.js +0 -622
  1321. package/lighthouse-core/gather/gatherers/accessibility.js +0 -172
  1322. package/lighthouse-core/gather/gatherers/anchor-elements.js +0 -133
  1323. package/lighthouse-core/gather/gatherers/cache-contents.js +0 -59
  1324. package/lighthouse-core/gather/gatherers/console-messages.js +0 -173
  1325. package/lighthouse-core/gather/gatherers/css-usage.js +0 -149
  1326. package/lighthouse-core/gather/gatherers/devtools-log-compat.js +0 -36
  1327. package/lighthouse-core/gather/gatherers/devtools-log.js +0 -66
  1328. package/lighthouse-core/gather/gatherers/dobetterweb/doctype.js +0 -46
  1329. package/lighthouse-core/gather/gatherers/dobetterweb/domstats.js +0 -103
  1330. package/lighthouse-core/gather/gatherers/dobetterweb/optimized-images.js +0 -192
  1331. package/lighthouse-core/gather/gatherers/dobetterweb/password-inputs-with-prevented-paste.js +0 -50
  1332. package/lighthouse-core/gather/gatherers/dobetterweb/response-compression.js +0 -154
  1333. package/lighthouse-core/gather/gatherers/dobetterweb/tags-blocking-first-paint.js +0 -238
  1334. package/lighthouse-core/gather/gatherers/full-page-screenshot.js +0 -235
  1335. package/lighthouse-core/gather/gatherers/gatherer.js +0 -59
  1336. package/lighthouse-core/gather/gatherers/global-listeners.js +0 -92
  1337. package/lighthouse-core/gather/gatherers/iframe-elements.js +0 -65
  1338. package/lighthouse-core/gather/gatherers/image-elements.js +0 -375
  1339. package/lighthouse-core/gather/gatherers/inputs.js +0 -113
  1340. package/lighthouse-core/gather/gatherers/inspector-issues.js +0 -127
  1341. package/lighthouse-core/gather/gatherers/installability-errors.js +0 -48
  1342. package/lighthouse-core/gather/gatherers/js-usage.js +0 -145
  1343. package/lighthouse-core/gather/gatherers/link-elements.js +0 -184
  1344. package/lighthouse-core/gather/gatherers/main-document-content.js +0 -56
  1345. package/lighthouse-core/gather/gatherers/meta-elements.js +0 -68
  1346. package/lighthouse-core/gather/gatherers/network-user-agent.js +0 -42
  1347. package/lighthouse-core/gather/gatherers/script-elements.js +0 -160
  1348. package/lighthouse-core/gather/gatherers/seo/embedded-content.js +0 -64
  1349. package/lighthouse-core/gather/gatherers/seo/font-size.js +0 -380
  1350. package/lighthouse-core/gather/gatherers/seo/robots-txt.js +0 -56
  1351. package/lighthouse-core/gather/gatherers/seo/tap-targets.js +0 -370
  1352. package/lighthouse-core/gather/gatherers/service-worker.js +0 -45
  1353. package/lighthouse-core/gather/gatherers/source-maps.js +0 -150
  1354. package/lighthouse-core/gather/gatherers/stacks.js +0 -125
  1355. package/lighthouse-core/gather/gatherers/trace-compat.js +0 -36
  1356. package/lighthouse-core/gather/gatherers/trace-elements.js +0 -349
  1357. package/lighthouse-core/gather/gatherers/trace.js +0 -131
  1358. package/lighthouse-core/gather/gatherers/viewport-dimensions.js +0 -58
  1359. package/lighthouse-core/gather/gatherers/web-app-manifest.js +0 -102
  1360. package/lighthouse-core/index.js +0 -80
  1361. package/lighthouse-core/lib/arbitrary-equality-map.js +0 -81
  1362. package/lighthouse-core/lib/asset-saver.js +0 -341
  1363. package/lighthouse-core/lib/axe.js +0 -13
  1364. package/lighthouse-core/lib/cdt/Platform.js +0 -55
  1365. package/lighthouse-core/lib/cdt/SDK.js +0 -28
  1366. package/lighthouse-core/lib/cdt/generated/SourceMap.js +0 -346
  1367. package/lighthouse-core/lib/csp-evaluator.js +0 -173
  1368. package/lighthouse-core/lib/dependency-graph/base-node.js +0 -363
  1369. package/lighthouse-core/lib/dependency-graph/cpu-node.js +0 -86
  1370. package/lighthouse-core/lib/dependency-graph/network-node.js +0 -99
  1371. package/lighthouse-core/lib/dependency-graph/simulator/connection-pool.js +0 -171
  1372. package/lighthouse-core/lib/dependency-graph/simulator/dns-cache.js +0 -73
  1373. package/lighthouse-core/lib/dependency-graph/simulator/network-analyzer.js +0 -498
  1374. package/lighthouse-core/lib/dependency-graph/simulator/simulator-timing-map.js +0 -212
  1375. package/lighthouse-core/lib/dependency-graph/simulator/simulator.js +0 -523
  1376. package/lighthouse-core/lib/dependency-graph/simulator/tcp-connection.js +0 -206
  1377. package/lighthouse-core/lib/emulation.js +0 -164
  1378. package/lighthouse-core/lib/i18n/README.md +0 -273
  1379. package/lighthouse-core/lib/i18n/i18n.js +0 -221
  1380. package/lighthouse-core/lib/icons.js +0 -85
  1381. package/lighthouse-core/lib/lantern-trace-saver.js +0 -198
  1382. package/lighthouse-core/lib/lh-env.js +0 -14
  1383. package/lighthouse-core/lib/lh-error.js +0 -421
  1384. package/lighthouse-core/lib/lh-trace-processor.js +0 -46
  1385. package/lighthouse-core/lib/manifest-parser.js +0 -513
  1386. package/lighthouse-core/lib/median-run.js +0 -92
  1387. package/lighthouse-core/lib/minification-estimator.js +0 -193
  1388. package/lighthouse-core/lib/minify-devtoolslog.js +0 -87
  1389. package/lighthouse-core/lib/minify-trace.js +0 -173
  1390. package/lighthouse-core/lib/navigation-error.js +0 -145
  1391. package/lighthouse-core/lib/network-recorder.js +0 -337
  1392. package/lighthouse-core/lib/network-request.js +0 -540
  1393. package/lighthouse-core/lib/page-functions.js +0 -559
  1394. package/lighthouse-core/lib/proto-preprocessor.js +0 -133
  1395. package/lighthouse-core/lib/rect-helpers.js +0 -252
  1396. package/lighthouse-core/lib/script-helpers.js +0 -24
  1397. package/lighthouse-core/lib/sentry.js +0 -144
  1398. package/lighthouse-core/lib/stack-packs.js +0 -120
  1399. package/lighthouse-core/lib/statistics.js +0 -104
  1400. package/lighthouse-core/lib/tappable-rects.js +0 -99
  1401. package/lighthouse-core/lib/third-party-web.js +0 -53
  1402. package/lighthouse-core/lib/timing-trace-saver.js +0 -97
  1403. package/lighthouse-core/lib/tracehouse/cpu-profile-model.js +0 -592
  1404. package/lighthouse-core/lib/tracehouse/main-thread-tasks.js +0 -688
  1405. package/lighthouse-core/lib/tracehouse/task-groups.js +0 -112
  1406. package/lighthouse-core/lib/tracehouse/task-summary.js +0 -87
  1407. package/lighthouse-core/lib/tracehouse/trace-processor.js +0 -962
  1408. package/lighthouse-core/lib/traces/pwmetrics-events.js +0 -200
  1409. package/lighthouse-core/lib/url-shim.js +0 -274
  1410. package/lighthouse-core/runner.js +0 -518
  1411. package/lighthouse-core/scoring.js +0 -93
  1412. package/lighthouse-core/scripts/download-chrome.sh +0 -36
  1413. package/lighthouse-core/scripts/manual-chrome-launcher.js +0 -51
  1414. package/lighthouse-core/scripts/package.json +0 -4
  1415. package/lighthouse-core/util-commonjs.js +0 -708
  1416. package/now.json +0 -14
  1417. package/report/.eslintrc.cjs +0 -35
  1418. package/report/generator/package.json +0 -4
  1419. package/report/package.json +0 -4
  1420. package/report/renderer/i18n.js +0 -198
  1421. package/report/renderer/util.js +0 -705
  1422. package/report/test/generator/package.json +0 -4
  1423. package/report/test/renderer/i18n-test.js +0 -140
  1424. package/report/test/renderer/util-test.js +0 -479
  1425. package/third-party/snyk/snapshot.json +0 -182
  1426. package/types/cssstyle/index.d.ts +0 -23
  1427. package/types/global-lh.d.ts +0 -81
  1428. package/types/jest.d.ts +0 -25
  1429. package/types/jsonld/index.d.ts +0 -19
  1430. package/types/lhr/flow.d.ts +0 -32
  1431. package/types/lighthouse-logger/index.d.ts +0 -33
  1432. package/types/lookup-closest-locale/index.d.ts +0 -11
  1433. package/types/node.d.ts +0 -12
  1434. package/types/query-selector.d.ts +0 -36
  1435. package/types/smokehouse.d.ts +0 -80
  1436. package/types/structured-data.d.ts +0 -36
@@ -1,124 +0,0 @@
1
- /**
2
- * @license Copyright 2020 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
5
- */
6
- 'use strict';
7
-
8
- const Audit = require('./audit.js');
9
- const NetworkRecords = require('../computed/network-records.js');
10
- const i18n = require('../lib/i18n/i18n.js');
11
- const MainThreadTasks = require('../computed/main-thread-tasks.js');
12
- const PageDependencyGraph = require('../computed/page-dependency-graph.js');
13
- const LoadSimulator = require('../computed/load-simulator.js');
14
- const {getJavaScriptURLs, getAttributableURLForTask} = require('../lib/tracehouse/task-summary.js');
15
-
16
- /** We don't always have timing data for short tasks, if we're missing timing data. Treat it as though it were 0ms. */
17
- const DEFAULT_TIMING = {startTime: 0, endTime: 0, duration: 0};
18
-
19
- const UIStrings = {
20
- /** Title of a diagnostic LH audit that provides details on the longest running tasks that occur when the page loads. */
21
- title: 'Avoid long main-thread tasks',
22
- /** Description of a diagnostic LH audit that shows the user the longest running tasks that occur when the page loads. */
23
- description: 'Lists the longest tasks on the main thread, ' +
24
- 'useful for identifying worst contributors to input delay. ' +
25
- '[Learn more](https://web.dev/long-tasks-devtools/)',
26
- /** [ICU Syntax] Label identifying the number of long-running CPU tasks that occurred while loading a web page. */
27
- displayValue: `{itemCount, plural,
28
- =1 {# long task found}
29
- other {# long tasks found}
30
- }`,
31
- };
32
-
33
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
34
-
35
- class LongTasks extends Audit {
36
- /**
37
- * @return {LH.Audit.Meta}
38
- */
39
- static get meta() {
40
- return {
41
- id: 'long-tasks',
42
- scoreDisplayMode: Audit.SCORING_MODES.INFORMATIVE,
43
- title: str_(UIStrings.title),
44
- description: str_(UIStrings.description),
45
- requiredArtifacts: ['traces', 'devtoolsLogs'],
46
- };
47
- }
48
-
49
- /**
50
- * @param {LH.Artifacts} artifacts
51
- * @param {LH.Audit.Context} context
52
- * @return {Promise<LH.Audit.Product>}
53
- */
54
- static async audit(artifacts, context) {
55
- const settings = context.settings || {};
56
- const trace = artifacts.traces[Audit.DEFAULT_PASS];
57
- const tasks = await MainThreadTasks.request(trace, context);
58
- const devtoolsLog = artifacts.devtoolsLogs[LongTasks.DEFAULT_PASS];
59
- const networkRecords = await NetworkRecords.request(devtoolsLog, context);
60
-
61
- /** @type {Map<LH.TraceEvent, LH.Gatherer.Simulation.NodeTiming>} */
62
- const taskTimingsByEvent = new Map();
63
-
64
- if (settings.throttlingMethod === 'simulate') {
65
- const simulatorOptions = {devtoolsLog, settings: context.settings};
66
- const pageGraph = await PageDependencyGraph.request({trace, devtoolsLog}, context);
67
- const simulator = await LoadSimulator.request(simulatorOptions, context);
68
- const simulation = await simulator.simulate(pageGraph, {label: 'long-tasks-diagnostic'});
69
- for (const [node, timing] of simulation.nodeTimings.entries()) {
70
- if (node.type !== 'cpu') continue;
71
- taskTimingsByEvent.set(node.event, timing);
72
- }
73
- } else {
74
- for (const task of tasks) {
75
- if (task.unbounded || task.parent) continue;
76
- taskTimingsByEvent.set(task.event, task);
77
- }
78
- }
79
-
80
- const jsURLs = getJavaScriptURLs(networkRecords);
81
- // Only consider up to 20 long, top-level (no parent) tasks that have an explicit endTime
82
- const longtasks = tasks
83
- .map(t => {
84
- const timing = taskTimingsByEvent.get(t.event) || DEFAULT_TIMING;
85
- return {...t, duration: timing.duration, startTime: timing.startTime};
86
- })
87
- .filter(t => t.duration >= 50 && !t.unbounded && !t.parent)
88
- .sort((a, b) => b.duration - a.duration)
89
- .slice(0, 20);
90
-
91
- // TODO(beytoven): Add start time that matches with the simulated throttling
92
- const results = longtasks.map(task => ({
93
- url: getAttributableURLForTask(task, jsURLs),
94
- duration: task.duration,
95
- startTime: task.startTime,
96
- }));
97
-
98
- /** @type {LH.Audit.Details.Table['headings']} */
99
- const headings = [
100
- /* eslint-disable max-len */
101
- {key: 'url', itemType: 'url', text: str_(i18n.UIStrings.columnURL)},
102
- {key: 'startTime', itemType: 'ms', granularity: 1, text: str_(i18n.UIStrings.columnStartTime)},
103
- {key: 'duration', itemType: 'ms', granularity: 1, text: str_(i18n.UIStrings.columnDuration)},
104
- /* eslint-enable max-len */
105
- ];
106
-
107
- const tableDetails = Audit.makeTableDetails(headings, results);
108
-
109
- let displayValue;
110
- if (results.length > 0) {
111
- displayValue = str_(UIStrings.displayValue, {itemCount: results.length});
112
- }
113
-
114
- return {
115
- score: results.length === 0 ? 1 : 0,
116
- notApplicable: results.length === 0,
117
- details: tableDetails,
118
- displayValue,
119
- };
120
- }
121
- }
122
-
123
- module.exports = LongTasks;
124
- module.exports.UIStrings = UIStrings;
@@ -1,59 +0,0 @@
1
- /**
2
- * @license Copyright 2019 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
5
- */
6
- 'use strict';
7
-
8
- const Audit = require('./audit.js');
9
- const MainThreadTasksComputed = require('../computed/main-thread-tasks.js');
10
-
11
- class MainThreadTasks extends Audit {
12
- /**
13
- * @return {LH.Audit.Meta}
14
- */
15
- static get meta() {
16
- return {
17
- id: 'main-thread-tasks',
18
- scoreDisplayMode: Audit.SCORING_MODES.INFORMATIVE,
19
- title: 'Tasks',
20
- description: 'Lists the toplevel main thread tasks that executed during page load.',
21
- requiredArtifacts: ['traces'],
22
- };
23
- }
24
-
25
- /**
26
- * @param {LH.Artifacts} artifacts
27
- * @param {LH.Audit.Context} context
28
- * @return {Promise<LH.Audit.Product>}
29
- */
30
- static async audit(artifacts, context) {
31
- const trace = artifacts.traces[Audit.DEFAULT_PASS];
32
- const tasks = await MainThreadTasksComputed.request(trace, context);
33
-
34
- const results = tasks
35
- // Filter to just the sizable toplevel tasks; toplevel tasks are tasks without a parent.
36
- .filter(task => task.duration > 5 && !task.parent)
37
- .map(task => {
38
- return {
39
- duration: task.duration,
40
- startTime: task.startTime,
41
- };
42
- });
43
-
44
- /** @type {LH.Audit.Details.Table['headings']} */
45
- const headings = [
46
- {key: 'startTime', itemType: 'ms', granularity: 1, text: 'Start Time'},
47
- {key: 'duration', itemType: 'ms', granularity: 1, text: 'End Time'},
48
- ];
49
-
50
- const tableDetails = Audit.makeTableDetails(headings, results);
51
-
52
- return {
53
- score: 1,
54
- details: tableDetails,
55
- };
56
- }
57
- }
58
-
59
- module.exports = MainThreadTasks;
@@ -1,134 +0,0 @@
1
- /**
2
- * @license Copyright 2017 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
5
- */
6
-
7
- /**
8
- * @fileoverview Audit a page to show a breakdown of execution timings on the main thread
9
- */
10
-
11
- 'use strict';
12
-
13
- const Audit = require('./audit.js');
14
- const {taskGroups} = require('../lib/tracehouse/task-groups.js');
15
- const i18n = require('../lib/i18n/i18n.js');
16
- const MainThreadTasks = require('../computed/main-thread-tasks.js');
17
-
18
- const UIStrings = {
19
- /** Title of a diagnostic audit that provides detail on the main thread work the browser did to load the page. This descriptive title is shown to users when the amount is acceptable and no user action is required. */
20
- title: 'Minimizes main-thread work',
21
- /** Title of a diagnostic audit that provides detail on the main thread work the browser did to load the page. This imperative title is shown to users when there is a significant amount of execution time that could be reduced. */
22
- failureTitle: 'Minimize main-thread work',
23
- /** Description of a Lighthouse audit that tells the user *why* they should reduce JS execution times. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
24
- description: 'Consider reducing the time spent parsing, compiling and executing JS. ' +
25
- 'You may find delivering smaller JS payloads helps with this. ' +
26
- '[Learn more](https://web.dev/mainthread-work-breakdown/)',
27
- /** Label for the Main Thread Category column in data tables, rows will have a main thread Category and main thread Task Name. */
28
- columnCategory: 'Category',
29
- };
30
-
31
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
32
-
33
- /** @typedef {import('../lib/tracehouse/task-groups.js').TaskGroupIds} TaskGroupIds */
34
-
35
- class MainThreadWorkBreakdown extends Audit {
36
- /**
37
- * @return {LH.Audit.Meta}
38
- */
39
- static get meta() {
40
- return {
41
- id: 'mainthread-work-breakdown',
42
- title: str_(UIStrings.title),
43
- failureTitle: str_(UIStrings.failureTitle),
44
- description: str_(UIStrings.description),
45
- scoreDisplayMode: Audit.SCORING_MODES.NUMERIC,
46
- requiredArtifacts: ['traces'],
47
- };
48
- }
49
-
50
- /**
51
- * @return {LH.Audit.ScoreOptions}
52
- */
53
- static get defaultOptions() {
54
- return {
55
- // see https://www.desmos.com/calculator/vhglu1x8zv
56
- p10: 2017,
57
- median: 4000,
58
- };
59
- }
60
-
61
- /**
62
- * @param {LH.Artifacts.TaskNode[]} tasks
63
- * @return {Map<TaskGroupIds, number>}
64
- */
65
- static getExecutionTimingsByGroup(tasks) {
66
- /** @type {Map<TaskGroupIds, number>} */
67
- const result = new Map();
68
-
69
- for (const task of tasks) {
70
- const originalTime = result.get(task.group.id) || 0;
71
- result.set(task.group.id, originalTime + task.selfTime);
72
- }
73
-
74
- return result;
75
- }
76
-
77
- /**
78
- * @param {LH.Artifacts} artifacts
79
- * @param {LH.Audit.Context} context
80
- * @return {Promise<LH.Audit.Product>}
81
- */
82
- static async audit(artifacts, context) {
83
- const settings = context.settings || {};
84
- const trace = artifacts.traces[MainThreadWorkBreakdown.DEFAULT_PASS];
85
-
86
- const tasks = await MainThreadTasks.request(trace, context);
87
- const multiplier = settings.throttlingMethod === 'simulate' ?
88
- settings.throttling.cpuSlowdownMultiplier : 1;
89
-
90
- const executionTimings = MainThreadWorkBreakdown.getExecutionTimingsByGroup(tasks);
91
-
92
- let totalExecutionTime = 0;
93
- /** @type {Record<string, number>} */
94
- const categoryTotals = {};
95
- const results = Array.from(executionTimings).map(([groupId, rawDuration]) => {
96
- const duration = rawDuration * multiplier;
97
- totalExecutionTime += duration;
98
-
99
- const categoryTotal = categoryTotals[groupId] || 0;
100
- categoryTotals[groupId] = categoryTotal + duration;
101
-
102
- return {
103
- group: groupId,
104
- groupLabel: taskGroups[groupId].label,
105
- duration: duration,
106
- };
107
- });
108
-
109
- /** @type {LH.Audit.Details.Table['headings']} */
110
- const headings = [
111
- {key: 'groupLabel', itemType: 'text', text: str_(UIStrings.columnCategory)},
112
- {key: 'duration', itemType: 'ms', granularity: 1, text: str_(i18n.UIStrings.columnTimeSpent)},
113
- ];
114
-
115
- results.sort((a, b) => categoryTotals[b.group] - categoryTotals[a.group]);
116
- const tableDetails = MainThreadWorkBreakdown.makeTableDetails(headings, results);
117
-
118
- const score = Audit.computeLogNormalScore(
119
- {p10: context.options.p10, median: context.options.median},
120
- totalExecutionTime
121
- );
122
-
123
- return {
124
- score,
125
- numericValue: totalExecutionTime,
126
- numericUnit: 'millisecond',
127
- displayValue: str_(i18n.UIStrings.seconds, {timeInMs: totalExecutionTime}),
128
- details: tableDetails,
129
- };
130
- }
131
- }
132
-
133
- module.exports = MainThreadWorkBreakdown;
134
- module.exports.UIStrings = UIStrings;
@@ -1,37 +0,0 @@
1
- /**
2
- * @license Copyright 2017 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
5
- */
6
- 'use strict';
7
-
8
- /**
9
- * @fileoverview Base class for audits that the user should verify manually on
10
- * their site.
11
- */
12
-
13
- const Audit = require('../audit.js');
14
-
15
- class ManualAudit extends Audit {
16
- /**
17
- * @return {Pick<LH.Audit.Meta, 'scoreDisplayMode'|'requiredArtifacts'>}
18
- */
19
- static get partialMeta() {
20
- return {
21
- scoreDisplayMode: Audit.SCORING_MODES.MANUAL,
22
- requiredArtifacts: [],
23
- };
24
- }
25
-
26
- /**
27
- * @return {LH.Audit.Product}
28
- */
29
- static audit() {
30
- return {
31
- score: 0,
32
- // displayValue: '(needs manual verification)'
33
- };
34
- }
35
- }
36
-
37
- module.exports = ManualAudit;
@@ -1,41 +0,0 @@
1
-
2
- /**
3
- * @license Copyright 2017 The Lighthouse Authors. All Rights Reserved.
4
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
5
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
6
- */
7
- 'use strict';
8
-
9
- const ManualAudit = require('./manual-audit.js');
10
- const i18n = require('../../lib/i18n/i18n.js');
11
-
12
- const UIStrings = {
13
- /** Title of a Lighthouse audit that prompts the user to manually check that their site works across different web browsers. */
14
- title: 'Site works cross-browser',
15
- /** Description of a Lighthouse audit that tells the user why they should make sites work across different browsers. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
16
- description: 'To reach the most number of users, sites should work across ' +
17
- 'every major browser. [Learn more](https://web.dev/pwa-cross-browser/).',
18
- };
19
-
20
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
21
-
22
- /**
23
- * @fileoverview Manual PWA audit for cross browser support.
24
- */
25
-
26
- class PWACrossBrowser extends ManualAudit {
27
- /**
28
- * @return {LH.Audit.Meta}
29
- */
30
- static get meta() {
31
- return Object.assign({
32
- id: 'pwa-cross-browser',
33
- title: str_(UIStrings.title),
34
- description: str_(UIStrings.description),
35
- }, super.partialMeta);
36
- }
37
- }
38
-
39
- module.exports = PWACrossBrowser;
40
- module.exports.UIStrings = UIStrings;
41
-
@@ -1,39 +0,0 @@
1
- /**
2
- * @license Copyright 2017 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
5
- */
6
- 'use strict';
7
-
8
- const ManualAudit = require('./manual-audit.js');
9
- const i18n = require('../../lib/i18n/i18n.js');
10
-
11
- const UIStrings = {
12
- /** Title of a Lighthouse audit that prompts the user to manually check that each page on their website uses a unique URL. */
13
- title: 'Each page has a URL',
14
- /** Description of a Lighthouse audit that tells the user why they should use unique URLs for each web page. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
15
- description: 'Ensure individual pages are deep linkable via URL and that URLs are ' +
16
- 'unique for the purpose of shareability on social media. [Learn more](https://web.dev/pwa-each-page-has-url/).',
17
- };
18
-
19
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
20
-
21
- /**
22
- * @fileoverview Manual PWA audit to ensure every page has a deep link.
23
- */
24
-
25
- class PWAEachPageHasURL extends ManualAudit {
26
- /**
27
- * @return {LH.Audit.Meta}
28
- */
29
- static get meta() {
30
- return Object.assign({
31
- id: 'pwa-each-page-has-url',
32
- title: str_(UIStrings.title),
33
- description: str_(UIStrings.description),
34
- }, super.partialMeta);
35
- }
36
- }
37
-
38
- module.exports = PWAEachPageHasURL;
39
- module.exports.UIStrings = UIStrings;
@@ -1,39 +0,0 @@
1
- /**
2
- * @license Copyright 2017 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
5
- */
6
- 'use strict';
7
-
8
- const ManualAudit = require('./manual-audit.js');
9
- const i18n = require('../../lib/i18n/i18n.js');
10
-
11
- const UIStrings = {
12
- /** Title of a Lighthouse audit that prompts the user to manually check that page transitions (navigating to other pages on a website) shouldn't feel like they are waiting for the network to load. */
13
- title: 'Page transitions don\'t feel like they block on the network',
14
- /** Description of a Lighthouse audit that tells the user why they should make transitions in their web app feel fast. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
15
- description: 'Transitions should feel snappy as you tap around, even on a slow network. ' +
16
- 'This experience is key to a user\'s perception of performance. [Learn more](https://web.dev/pwa-page-transitions/).',
17
- };
18
-
19
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
20
-
21
- /**
22
- * @fileoverview Manual PWA audit for janky-free page transitions.
23
- */
24
-
25
- class PWAPageTransitions extends ManualAudit {
26
- /**
27
- * @return {LH.Audit.Meta}
28
- */
29
- static get meta() {
30
- return Object.assign({
31
- id: 'pwa-page-transitions',
32
- title: str_(UIStrings.title),
33
- description: str_(UIStrings.description),
34
- }, super.partialMeta);
35
- }
36
- }
37
-
38
- module.exports = PWAPageTransitions;
39
- module.exports.UIStrings = UIStrings;
@@ -1,71 +0,0 @@
1
- /**
2
- * @license Copyright 2020 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
5
- */
6
- 'use strict';
7
-
8
- const Audit = require('./audit.js');
9
- const ManifestValues = require('../computed/manifest-values.js');
10
- const i18n = require('../lib/i18n/i18n.js');
11
-
12
- const UIStrings = {
13
- /** Title of a Lighthouse audit that provides detail on if the manifest contains a maskable icon. This descriptive title is shown to users when the manifest contains at least one maskable icon. */
14
- title: 'Manifest has a maskable icon',
15
- /** Title of a Lighthouse audit that provides detial on if the manifest contains a maskable icon. this descriptive title is shown to users when the manifest contains no icons that are maskable. */
16
- failureTitle: 'Manifest doesn\'t have a maskable icon',
17
- /** Description of a Lighthouse audit that tells the user why they their manifest should have at least one maskable icon. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
18
- description: 'A maskable icon ensures that the image fills the entire ' +
19
- 'shape without being letterboxed when installing ' +
20
- 'the app on a device. [Learn more](https://web.dev/maskable-icon-audit/).',
21
- };
22
-
23
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
24
-
25
- /**
26
- * @fileoverview
27
- * Audits if a manifest contains at least one icon that is maskable
28
- *
29
- * Requirements:
30
- * * manifest is not empty
31
- * * manifest has valid icons
32
- * * at least one of the icons has a purpose of 'maskable'
33
- */
34
-
35
- class MaskableIcon extends Audit {
36
- /**
37
- * @return {LH.Audit.Meta}
38
- */
39
- static get meta() {
40
- return {
41
- id: 'maskable-icon',
42
- title: str_(UIStrings.title),
43
- failureTitle: str_(UIStrings.failureTitle),
44
- description: str_(UIStrings.description),
45
- supportedModes: ['navigation'],
46
- requiredArtifacts: ['WebAppManifest', 'InstallabilityErrors'],
47
- };
48
- }
49
-
50
- /**
51
- * @param {LH.Artifacts} artifacts
52
- * @param {LH.Audit.Context} context
53
- * @return {Promise<LH.Audit.Product>}
54
- */
55
- static async audit(artifacts, context) {
56
- const manifestValues = await ManifestValues.request(artifacts, context);
57
- if (manifestValues.isParseFailure) {
58
- return {
59
- score: 0,
60
- explanation: manifestValues.parseFailureReason,
61
- };
62
- }
63
- const maskableIconCheck = manifestValues.allChecks.find(i => i.id === 'hasMaskableIcon');
64
- return {
65
- score: maskableIconCheck?.passing ? 1 : 0,
66
- };
67
- }
68
- }
69
-
70
- module.exports = MaskableIcon;
71
- module.exports.UIStrings = UIStrings;
@@ -1,79 +0,0 @@
1
- /**
2
- * @license Copyright 2019 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
5
- */
6
- 'use strict';
7
-
8
- const Audit = require('../audit.js');
9
- const ComputedCLS = require('../../computed/metrics/cumulative-layout-shift.js');
10
- const i18n = require('../../lib/i18n/i18n.js');
11
-
12
- const UIStrings = {
13
- /** Description of the Cumulative Layout Shift metric that indicates how much the page changes its layout while it loads. If big segments of the page shift their location during load, the Cumulative Layout Shift will be higher. This description is displayed within a tooltip when the user hovers on the metric name to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
14
- description: 'Cumulative Layout Shift measures the movement of visible ' +
15
- 'elements within the viewport. [Learn more](https://web.dev/cls/).',
16
- };
17
-
18
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
19
-
20
- /**
21
- * @fileoverview This metric represents the amount of visual shifting of DOM elements during page load.
22
- */
23
- class CumulativeLayoutShift extends Audit {
24
- /**
25
- * @return {LH.Audit.Meta}
26
- */
27
- static get meta() {
28
- return {
29
- id: 'cumulative-layout-shift',
30
- title: str_(i18n.UIStrings.cumulativeLayoutShiftMetric),
31
- description: str_(UIStrings.description),
32
- scoreDisplayMode: Audit.SCORING_MODES.NUMERIC,
33
- requiredArtifacts: ['traces'],
34
- };
35
- }
36
-
37
- /**
38
- * @return {LH.Audit.ScoreOptions}
39
- */
40
- static get defaultOptions() {
41
- return {
42
- // https://web.dev/cls/#what-is-a-good-cls-score
43
- // This 0.1 target score was determined through both manual evaluation and large-scale analysis.
44
- // see https://www.desmos.com/calculator/ksp7q91nop
45
- p10: 0.1,
46
- median: 0.25,
47
- };
48
- }
49
-
50
- /**
51
- * @param {LH.Artifacts} artifacts
52
- * @param {LH.Audit.Context} context
53
- * @return {Promise<LH.Audit.Product>}
54
- */
55
- static async audit(artifacts, context) {
56
- const trace = artifacts.traces[Audit.DEFAULT_PASS];
57
- const {cumulativeLayoutShift, ...rest} = await ComputedCLS.request(trace, context);
58
-
59
- /** @type {LH.Audit.Details.DebugData} */
60
- const details = {
61
- type: 'debugdata',
62
- items: [rest],
63
- };
64
-
65
- return {
66
- score: Audit.computeLogNormalScore(
67
- {p10: context.options.p10, median: context.options.median},
68
- cumulativeLayoutShift
69
- ),
70
- numericValue: cumulativeLayoutShift,
71
- numericUnit: 'unitless',
72
- displayValue: cumulativeLayoutShift.toLocaleString(context.settings.locale),
73
- details,
74
- };
75
- }
76
- }
77
-
78
- module.exports = CumulativeLayoutShift;
79
- module.exports.UIStrings = UIStrings;