lighthouse 9.6.7 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1430) hide show
  1. package/.gitattributes +4 -1
  2. package/CONTRIBUTING.md +15 -15
  3. package/build-tracker.config.js +0 -1
  4. package/cli/bin.d.ts +5 -0
  5. package/cli/bin.js +140 -0
  6. package/cli/cli-flags.d.ts +258 -0
  7. package/cli/cli-flags.js +553 -0
  8. package/cli/commands/commands.d.ts +4 -0
  9. package/cli/commands/commands.js +9 -0
  10. package/cli/commands/list-audits.d.ts +2 -0
  11. package/cli/commands/list-audits.js +15 -0
  12. package/cli/commands/list-locales.d.ts +2 -0
  13. package/cli/commands/list-locales.js +15 -0
  14. package/cli/commands/list-trace-categories.d.ts +2 -0
  15. package/cli/commands/list-trace-categories.js +14 -0
  16. package/cli/index.d.ts +3 -0
  17. package/cli/index.js +10 -0
  18. package/cli/printer.d.ts +28 -0
  19. package/cli/printer.js +99 -0
  20. package/cli/run.d.ts +24 -0
  21. package/cli/run.js +284 -0
  22. package/cli/sentry-prompt.d.ts +5 -0
  23. package/cli/sentry-prompt.js +78 -0
  24. package/cli/test/smokehouse/__snapshots__/report-assert-test.js.snap +71 -0
  25. package/cli/test/smokehouse/config/exclusions.d.ts +12 -0
  26. package/cli/test/smokehouse/config/exclusions.js +36 -0
  27. package/cli/test/smokehouse/core-tests.d.ts +4 -0
  28. package/cli/test/smokehouse/core-tests.js +134 -0
  29. package/cli/test/smokehouse/frontends/back-compat-util.d.ts +16 -0
  30. package/cli/test/smokehouse/frontends/back-compat-util.js +41 -0
  31. package/cli/test/smokehouse/frontends/lib.d.ts +8 -0
  32. package/cli/test/smokehouse/frontends/lib.js +48 -0
  33. package/cli/test/smokehouse/frontends/node.d.ts +2 -0
  34. package/cli/test/smokehouse/frontends/node.js +12 -0
  35. package/cli/test/smokehouse/frontends/smokehouse-bin.d.ts +3 -0
  36. package/cli/test/smokehouse/frontends/smokehouse-bin.js +258 -0
  37. package/cli/test/smokehouse/lib/child-process-error.d.ts +21 -0
  38. package/cli/test/smokehouse/lib/child-process-error.js +25 -0
  39. package/cli/test/smokehouse/lib/concurrent-mapper.d.ts +78 -0
  40. package/cli/test/smokehouse/lib/concurrent-mapper.js +125 -0
  41. package/cli/test/smokehouse/lib/local-console.d.ts +33 -0
  42. package/cli/test/smokehouse/lib/local-console.js +50 -0
  43. package/cli/test/smokehouse/lighthouse-runners/bundle.d.ts +16 -0
  44. package/cli/test/smokehouse/lighthouse-runners/bundle.js +158 -0
  45. package/cli/test/smokehouse/lighthouse-runners/cli.d.ts +18 -0
  46. package/cli/test/smokehouse/lighthouse-runners/cli.js +134 -0
  47. package/cli/test/smokehouse/lighthouse-runners/devtools.d.ts +23 -0
  48. package/cli/test/smokehouse/lighthouse-runners/devtools.js +72 -0
  49. package/cli/test/smokehouse/readme.md +208 -0
  50. package/cli/test/smokehouse/report-assert-test.d.ts +2 -0
  51. package/cli/test/smokehouse/report-assert-test.js +298 -0
  52. package/cli/test/smokehouse/report-assert.d.ts +50 -0
  53. package/cli/test/smokehouse/report-assert.js +520 -0
  54. package/cli/test/smokehouse/smokehouse.d.ts +35 -0
  55. package/cli/test/smokehouse/smokehouse.js +336 -0
  56. package/cli/test/smokehouse/version-check-test.d.ts +2 -0
  57. package/cli/test/smokehouse/version-check-test.js +43 -0
  58. package/cli/test/smokehouse/version-check.d.ts +15 -0
  59. package/cli/test/smokehouse/version-check.js +48 -0
  60. package/commitlint.config.js +0 -1
  61. package/core/audits/accessibility/accesskeys.d.ts +10 -0
  62. package/core/audits/accessibility/accesskeys.js +44 -0
  63. package/core/audits/accessibility/aria-allowed-attr.d.ts +10 -0
  64. package/core/audits/accessibility/aria-allowed-attr.js +44 -0
  65. package/core/audits/accessibility/aria-command-name.d.ts +10 -0
  66. package/core/audits/accessibility/aria-command-name.js +42 -0
  67. package/core/audits/accessibility/aria-hidden-body.d.ts +10 -0
  68. package/core/audits/accessibility/aria-hidden-body.js +42 -0
  69. package/core/audits/accessibility/aria-hidden-focus.d.ts +10 -0
  70. package/core/audits/accessibility/aria-hidden-focus.js +42 -0
  71. package/core/audits/accessibility/aria-input-field-name.d.ts +10 -0
  72. package/core/audits/accessibility/aria-input-field-name.js +42 -0
  73. package/core/audits/accessibility/aria-meter-name.d.ts +10 -0
  74. package/core/audits/accessibility/aria-meter-name.js +42 -0
  75. package/core/audits/accessibility/aria-progressbar-name.d.ts +10 -0
  76. package/core/audits/accessibility/aria-progressbar-name.js +42 -0
  77. package/core/audits/accessibility/aria-required-attr.d.ts +10 -0
  78. package/core/audits/accessibility/aria-required-attr.js +43 -0
  79. package/core/audits/accessibility/aria-required-children.d.ts +10 -0
  80. package/core/audits/accessibility/aria-required-children.js +47 -0
  81. package/core/audits/accessibility/aria-required-parent.d.ts +10 -0
  82. package/core/audits/accessibility/aria-required-parent.js +45 -0
  83. package/core/audits/accessibility/aria-roles.d.ts +10 -0
  84. package/core/audits/accessibility/aria-roles.js +44 -0
  85. package/core/audits/accessibility/aria-toggle-field-name.d.ts +10 -0
  86. package/core/audits/accessibility/aria-toggle-field-name.js +42 -0
  87. package/core/audits/accessibility/aria-tooltip-name.d.ts +10 -0
  88. package/core/audits/accessibility/aria-tooltip-name.js +42 -0
  89. package/core/audits/accessibility/aria-treeitem-name.d.ts +10 -0
  90. package/core/audits/accessibility/aria-treeitem-name.js +42 -0
  91. package/core/audits/accessibility/aria-valid-attr-value.d.ts +10 -0
  92. package/core/audits/accessibility/aria-valid-attr-value.js +44 -0
  93. package/core/audits/accessibility/aria-valid-attr.d.ts +10 -0
  94. package/core/audits/accessibility/aria-valid-attr.js +44 -0
  95. package/core/audits/accessibility/axe-audit.d.ts +17 -0
  96. package/core/audits/accessibility/axe-audit.js +113 -0
  97. package/core/audits/accessibility/button-name.d.ts +10 -0
  98. package/core/audits/accessibility/button-name.js +44 -0
  99. package/core/audits/accessibility/bypass.d.ts +10 -0
  100. package/core/audits/accessibility/bypass.js +46 -0
  101. package/core/audits/accessibility/color-contrast.d.ts +10 -0
  102. package/core/audits/accessibility/color-contrast.js +45 -0
  103. package/core/audits/accessibility/definition-list.d.ts +10 -0
  104. package/core/audits/accessibility/definition-list.js +46 -0
  105. package/core/audits/accessibility/dlitem.d.ts +10 -0
  106. package/core/audits/accessibility/dlitem.js +44 -0
  107. package/core/audits/accessibility/document-title.d.ts +10 -0
  108. package/core/audits/accessibility/document-title.js +44 -0
  109. package/core/audits/accessibility/duplicate-id-active.d.ts +10 -0
  110. package/core/audits/accessibility/duplicate-id-active.js +42 -0
  111. package/core/audits/accessibility/duplicate-id-aria.d.ts +10 -0
  112. package/core/audits/accessibility/duplicate-id-aria.js +42 -0
  113. package/core/audits/accessibility/form-field-multiple-labels.d.ts +10 -0
  114. package/core/audits/accessibility/form-field-multiple-labels.js +43 -0
  115. package/core/audits/accessibility/frame-title.d.ts +10 -0
  116. package/core/audits/accessibility/frame-title.js +43 -0
  117. package/core/audits/accessibility/heading-order.d.ts +10 -0
  118. package/core/audits/accessibility/heading-order.js +42 -0
  119. package/core/audits/accessibility/html-has-lang.d.ts +10 -0
  120. package/core/audits/accessibility/html-has-lang.js +46 -0
  121. package/core/audits/accessibility/html-lang-valid.d.ts +10 -0
  122. package/core/audits/accessibility/html-lang-valid.js +45 -0
  123. package/core/audits/accessibility/image-alt.d.ts +10 -0
  124. package/core/audits/accessibility/image-alt.js +44 -0
  125. package/core/audits/accessibility/input-image-alt.d.ts +10 -0
  126. package/core/audits/accessibility/input-image-alt.js +44 -0
  127. package/core/audits/accessibility/label.d.ts +10 -0
  128. package/core/audits/accessibility/label.js +44 -0
  129. package/core/audits/accessibility/link-name.d.ts +10 -0
  130. package/core/audits/accessibility/link-name.js +45 -0
  131. package/core/audits/accessibility/list.d.ts +10 -0
  132. package/core/audits/accessibility/list.js +46 -0
  133. package/core/audits/accessibility/listitem.d.ts +10 -0
  134. package/core/audits/accessibility/listitem.js +45 -0
  135. package/core/audits/accessibility/manual/custom-controls-labels.d.ts +8 -0
  136. package/core/audits/accessibility/manual/custom-controls-labels.js +27 -0
  137. package/core/audits/accessibility/manual/custom-controls-roles.d.ts +8 -0
  138. package/core/audits/accessibility/manual/custom-controls-roles.js +27 -0
  139. package/core/audits/accessibility/manual/focus-traps.d.ts +8 -0
  140. package/core/audits/accessibility/manual/focus-traps.js +27 -0
  141. package/core/audits/accessibility/manual/focusable-controls.d.ts +8 -0
  142. package/core/audits/accessibility/manual/focusable-controls.js +27 -0
  143. package/core/audits/accessibility/manual/interactive-element-affordance.d.ts +8 -0
  144. package/core/audits/accessibility/manual/interactive-element-affordance.js +27 -0
  145. package/core/audits/accessibility/manual/logical-tab-order.d.ts +8 -0
  146. package/core/audits/accessibility/manual/logical-tab-order.js +27 -0
  147. package/core/audits/accessibility/manual/managed-focus.d.ts +8 -0
  148. package/core/audits/accessibility/manual/managed-focus.js +27 -0
  149. package/core/audits/accessibility/manual/offscreen-content-hidden.d.ts +9 -0
  150. package/core/audits/accessibility/manual/offscreen-content-hidden.js +28 -0
  151. package/core/audits/accessibility/manual/use-landmarks.d.ts +8 -0
  152. package/core/audits/accessibility/manual/use-landmarks.js +27 -0
  153. package/core/audits/accessibility/manual/visual-order-follows-dom.d.ts +8 -0
  154. package/core/audits/accessibility/manual/visual-order-follows-dom.js +27 -0
  155. package/core/audits/accessibility/meta-refresh.d.ts +10 -0
  156. package/core/audits/accessibility/meta-refresh.js +45 -0
  157. package/core/audits/accessibility/meta-viewport.d.ts +10 -0
  158. package/core/audits/accessibility/meta-viewport.js +46 -0
  159. package/core/audits/accessibility/object-alt.d.ts +10 -0
  160. package/core/audits/accessibility/object-alt.js +44 -0
  161. package/core/audits/accessibility/tabindex.d.ts +10 -0
  162. package/core/audits/accessibility/tabindex.js +44 -0
  163. package/core/audits/accessibility/td-headers-attr.d.ts +10 -0
  164. package/core/audits/accessibility/td-headers-attr.js +48 -0
  165. package/core/audits/accessibility/th-has-data-cells.d.ts +10 -0
  166. package/core/audits/accessibility/th-has-data-cells.js +48 -0
  167. package/core/audits/accessibility/valid-lang.d.ts +10 -0
  168. package/core/audits/accessibility/valid-lang.js +44 -0
  169. package/core/audits/accessibility/video-caption.d.ts +10 -0
  170. package/core/audits/accessibility/video-caption.js +46 -0
  171. package/core/audits/audit.d.ts +157 -0
  172. package/core/audits/audit.js +405 -0
  173. package/core/audits/autocomplete.d.ts +36 -0
  174. package/core/audits/autocomplete.js +290 -0
  175. package/core/audits/bf-cache.d.ts +21 -0
  176. package/core/audits/bf-cache.js +120 -0
  177. package/core/audits/bootup-time.d.ts +26 -0
  178. package/core/audits/bootup-time.js +151 -0
  179. package/core/audits/byte-efficiency/byte-efficiency-audit.d.ts +82 -0
  180. package/core/audits/byte-efficiency/byte-efficiency-audit.js +260 -0
  181. package/core/audits/byte-efficiency/duplicated-javascript.d.ts +52 -0
  182. package/core/audits/byte-efficiency/duplicated-javascript.js +247 -0
  183. package/core/audits/byte-efficiency/efficient-animated-content.d.ts +23 -0
  184. package/core/audits/byte-efficiency/efficient-animated-content.js +92 -0
  185. package/core/audits/byte-efficiency/legacy-javascript.d.ts +100 -0
  186. package/core/audits/byte-efficiency/legacy-javascript.js +479 -0
  187. package/core/audits/byte-efficiency/modern-image-formats.d.ts +38 -0
  188. package/core/audits/byte-efficiency/modern-image-formats.js +186 -0
  189. package/core/audits/byte-efficiency/offscreen-images.d.ts +75 -0
  190. package/core/audits/byte-efficiency/offscreen-images.js +253 -0
  191. package/{lighthouse-core → core}/audits/byte-efficiency/polyfill-graph-data.json +0 -0
  192. package/core/audits/byte-efficiency/render-blocking-resources.d.ts +55 -0
  193. package/core/audits/byte-efficiency/render-blocking-resources.js +307 -0
  194. package/core/audits/byte-efficiency/total-byte-weight.d.ts +21 -0
  195. package/core/audits/byte-efficiency/total-byte-weight.js +109 -0
  196. package/core/audits/byte-efficiency/unminified-css.d.ts +36 -0
  197. package/core/audits/byte-efficiency/unminified-css.js +114 -0
  198. package/core/audits/byte-efficiency/unminified-javascript.d.ts +37 -0
  199. package/core/audits/byte-efficiency/unminified-javascript.js +118 -0
  200. package/core/audits/byte-efficiency/unused-css-rules.d.ts +16 -0
  201. package/core/audits/byte-efficiency/unused-css-rules.js +69 -0
  202. package/core/audits/byte-efficiency/unused-javascript.d.ts +27 -0
  203. package/core/audits/byte-efficiency/unused-javascript.js +163 -0
  204. package/core/audits/byte-efficiency/uses-long-cache-ttl.d.ts +61 -0
  205. package/core/audits/byte-efficiency/uses-long-cache-ttl.js +297 -0
  206. package/core/audits/byte-efficiency/uses-optimized-images.d.ts +33 -0
  207. package/core/audits/byte-efficiency/uses-optimized-images.js +145 -0
  208. package/core/audits/byte-efficiency/uses-responsive-images-snapshot.d.ts +16 -0
  209. package/core/audits/byte-efficiency/uses-responsive-images-snapshot.js +100 -0
  210. package/core/audits/byte-efficiency/uses-responsive-images.d.ts +45 -0
  211. package/core/audits/byte-efficiency/uses-responsive-images.js +201 -0
  212. package/core/audits/byte-efficiency/uses-text-compression.d.ts +14 -0
  213. package/core/audits/byte-efficiency/uses-text-compression.js +100 -0
  214. package/core/audits/content-width.d.ts +17 -0
  215. package/core/audits/content-width.js +76 -0
  216. package/core/audits/critical-request-chains.d.ts +44 -0
  217. package/core/audits/critical-request-chains.js +218 -0
  218. package/core/audits/csp-xss.d.ts +51 -0
  219. package/core/audits/csp-xss.js +186 -0
  220. package/core/audits/deprecations.d.ts +19 -0
  221. package/core/audits/deprecations.js +114 -0
  222. package/core/audits/diagnostics.d.ts +11 -0
  223. package/core/audits/diagnostics.js +79 -0
  224. package/core/audits/dobetterweb/charset.d.ts +19 -0
  225. package/core/audits/dobetterweb/charset.js +93 -0
  226. package/core/audits/dobetterweb/doctype.d.ts +21 -0
  227. package/core/audits/dobetterweb/doctype.js +120 -0
  228. package/core/audits/dobetterweb/dom-size.d.ts +26 -0
  229. package/core/audits/dobetterweb/dom-size.js +134 -0
  230. package/core/audits/dobetterweb/geolocation-on-start.d.ts +16 -0
  231. package/core/audits/dobetterweb/geolocation-on-start.js +69 -0
  232. package/core/audits/dobetterweb/inspector-issues.d.ts +45 -0
  233. package/core/audits/dobetterweb/inspector-issues.js +191 -0
  234. package/core/audits/dobetterweb/js-libraries.d.ts +15 -0
  235. package/core/audits/dobetterweb/js-libraries.js +87 -0
  236. package/core/audits/dobetterweb/no-document-write.d.ts +16 -0
  237. package/core/audits/dobetterweb/no-document-write.js +84 -0
  238. package/core/audits/dobetterweb/notification-on-start.d.ts +16 -0
  239. package/core/audits/dobetterweb/notification-on-start.js +68 -0
  240. package/core/audits/dobetterweb/paste-preventing-inputs.d.ts +15 -0
  241. package/core/audits/dobetterweb/paste-preventing-inputs.js +67 -0
  242. package/core/audits/dobetterweb/uses-http2.d.ts +72 -0
  243. package/core/audits/dobetterweb/uses-http2.js +264 -0
  244. package/core/audits/dobetterweb/uses-passive-event-listeners.d.ts +16 -0
  245. package/core/audits/dobetterweb/uses-passive-event-listeners.js +67 -0
  246. package/core/audits/errors-in-console.d.ts +31 -0
  247. package/core/audits/errors-in-console.js +120 -0
  248. package/core/audits/final-screenshot.d.ts +11 -0
  249. package/core/audits/final-screenshot.js +58 -0
  250. package/core/audits/font-display.d.ts +32 -0
  251. package/core/audits/font-display.js +193 -0
  252. package/core/audits/image-aspect-ratio.d.ts +30 -0
  253. package/core/audits/image-aspect-ratio.js +122 -0
  254. package/core/audits/image-size-responsive.d.ts +28 -0
  255. package/core/audits/image-size-responsive.js +332 -0
  256. package/core/audits/installable-manifest.d.ts +118 -0
  257. package/core/audits/installable-manifest.js +265 -0
  258. package/core/audits/is-on-https.d.ts +23 -0
  259. package/core/audits/is-on-https.js +123 -0
  260. package/core/audits/largest-contentful-paint-element.d.ts +14 -0
  261. package/core/audits/largest-contentful-paint-element.js +69 -0
  262. package/core/audits/layout-shift-elements.d.ts +15 -0
  263. package/core/audits/layout-shift-elements.js +74 -0
  264. package/core/audits/lcp-lazy-loaded.d.ts +21 -0
  265. package/core/audits/lcp-lazy-loaded.js +84 -0
  266. package/core/audits/long-tasks.d.ts +16 -0
  267. package/core/audits/long-tasks.js +124 -0
  268. package/core/audits/main-thread-tasks.d.ts +11 -0
  269. package/core/audits/main-thread-tasks.js +58 -0
  270. package/core/audits/mainthread-work-breakdown.d.ts +28 -0
  271. package/core/audits/mainthread-work-breakdown.js +135 -0
  272. package/core/audits/manual/manual-audit.d.ts +13 -0
  273. package/core/audits/manual/manual-audit.js +36 -0
  274. package/core/audits/manual/pwa-cross-browser.d.ts +12 -0
  275. package/core/audits/manual/pwa-cross-browser.js +40 -0
  276. package/core/audits/manual/pwa-each-page-has-url.d.ts +12 -0
  277. package/core/audits/manual/pwa-each-page-has-url.js +38 -0
  278. package/core/audits/manual/pwa-page-transitions.d.ts +12 -0
  279. package/core/audits/manual/pwa-page-transitions.js +38 -0
  280. package/core/audits/maskable-icon.d.ts +25 -0
  281. package/core/audits/maskable-icon.js +70 -0
  282. package/core/audits/metrics/cumulative-layout-shift.d.ts +21 -0
  283. package/core/audits/metrics/cumulative-layout-shift.js +79 -0
  284. package/core/audits/metrics/experimental-interaction-to-next-paint.d.ts +21 -0
  285. package/core/audits/metrics/experimental-interaction-to-next-paint.js +88 -0
  286. package/core/audits/metrics/first-contentful-paint-3g.d.ts +15 -0
  287. package/core/audits/metrics/first-contentful-paint-3g.js +69 -0
  288. package/core/audits/metrics/first-contentful-paint.d.ts +25 -0
  289. package/core/audits/metrics/first-contentful-paint.js +85 -0
  290. package/core/audits/metrics/first-meaningful-paint.d.ts +28 -0
  291. package/core/audits/metrics/first-meaningful-paint.js +89 -0
  292. package/core/audits/metrics/interactive.d.ts +31 -0
  293. package/core/audits/metrics/interactive.js +93 -0
  294. package/core/audits/metrics/largest-contentful-paint.d.ts +25 -0
  295. package/core/audits/metrics/largest-contentful-paint.js +94 -0
  296. package/core/audits/metrics/max-potential-fid.d.ts +23 -0
  297. package/core/audits/metrics/max-potential-fid.js +77 -0
  298. package/core/audits/metrics/speed-index.d.ts +27 -0
  299. package/core/audits/metrics/speed-index.js +88 -0
  300. package/core/audits/metrics/total-blocking-time.d.ts +32 -0
  301. package/core/audits/metrics/total-blocking-time.js +118 -0
  302. package/core/audits/metrics.d.ts +11 -0
  303. package/core/audits/metrics.js +73 -0
  304. package/core/audits/multi-check-audit.d.ts +28 -0
  305. package/core/audits/multi-check-audit.js +82 -0
  306. package/core/audits/network-requests.d.ts +11 -0
  307. package/core/audits/network-requests.js +129 -0
  308. package/core/audits/network-rtt.d.ts +15 -0
  309. package/core/audits/network-rtt.js +89 -0
  310. package/core/audits/network-server-latency.d.ts +15 -0
  311. package/core/audits/network-server-latency.js +88 -0
  312. package/core/audits/no-unload-listeners.d.ts +16 -0
  313. package/core/audits/no-unload-listeners.js +86 -0
  314. package/core/audits/non-composited-animations.d.ts +21 -0
  315. package/core/audits/non-composited-animations.js +205 -0
  316. package/core/audits/oopif-iframe-test-audit.d.ts +14 -0
  317. package/core/audits/oopif-iframe-test-audit.js +29 -0
  318. package/core/audits/performance-budget.d.ts +39 -0
  319. package/core/audits/performance-budget.js +154 -0
  320. package/core/audits/predictive-perf.d.ts +11 -0
  321. package/core/audits/predictive-perf.js +100 -0
  322. package/core/audits/preload-fonts.d.ts +29 -0
  323. package/core/audits/preload-fonts.js +106 -0
  324. package/core/audits/prioritize-lcp-image.d.ts +76 -0
  325. package/core/audits/prioritize-lcp-image.js +290 -0
  326. package/core/audits/redirects.d.ts +33 -0
  327. package/core/audits/redirects.js +164 -0
  328. package/core/audits/resource-summary.d.ts +16 -0
  329. package/core/audits/resource-summary.js +104 -0
  330. package/core/audits/screenshot-thumbnails.d.ts +33 -0
  331. package/core/audits/screenshot-thumbnails.js +168 -0
  332. package/core/audits/script-elements-test-audit.d.ts +14 -0
  333. package/core/audits/script-elements-test-audit.js +29 -0
  334. package/core/audits/script-treemap-data.d.ts +42 -0
  335. package/core/audits/script-treemap-data.js +287 -0
  336. package/core/audits/seo/canonical.d.ts +51 -0
  337. package/core/audits/seo/canonical.js +217 -0
  338. package/core/audits/seo/crawlable-anchors.d.ts +16 -0
  339. package/core/audits/seo/crawlable-anchors.js +93 -0
  340. package/core/audits/seo/font-size.d.ts +24 -0
  341. package/core/audits/seo/font-size.js +344 -0
  342. package/core/audits/seo/hreflang.d.ts +28 -0
  343. package/core/audits/seo/hreflang.js +148 -0
  344. package/core/audits/seo/http-status-code.d.ts +16 -0
  345. package/core/audits/seo/http-status-code.js +68 -0
  346. package/core/audits/seo/is-crawlable.d.ts +38 -0
  347. package/core/audits/seo/is-crawlable.js +223 -0
  348. package/core/audits/seo/link-text.d.ts +16 -0
  349. package/core/audits/seo/link-text.js +160 -0
  350. package/core/audits/seo/manual/structured-data.d.ts +12 -0
  351. package/core/audits/seo/manual/structured-data.js +37 -0
  352. package/core/audits/seo/meta-description.d.ts +16 -0
  353. package/core/audits/seo/meta-description.js +66 -0
  354. package/core/audits/seo/plugins.d.ts +15 -0
  355. package/core/audits/seo/plugins.js +150 -0
  356. package/core/audits/seo/robots-txt.d.ts +18 -0
  357. package/core/audits/seo/robots-txt.js +255 -0
  358. package/core/audits/seo/tap-targets.d.ts +50 -0
  359. package/core/audits/seo/tap-targets.js +352 -0
  360. package/core/audits/server-response-time.d.ts +21 -0
  361. package/core/audits/server-response-time.js +90 -0
  362. package/core/audits/service-worker.d.ts +46 -0
  363. package/core/audits/service-worker.js +182 -0
  364. package/core/audits/splash-screen.d.ts +37 -0
  365. package/core/audits/splash-screen.js +98 -0
  366. package/core/audits/themed-omnibox.d.ts +42 -0
  367. package/core/audits/themed-omnibox.js +102 -0
  368. package/core/audits/third-party-facades.d.ts +42 -0
  369. package/core/audits/third-party-facades.js +224 -0
  370. package/core/audits/third-party-summary.d.ts +59 -0
  371. package/core/audits/third-party-summary.js +257 -0
  372. package/core/audits/timing-budget.d.ts +43 -0
  373. package/core/audits/timing-budget.js +174 -0
  374. package/core/audits/unsized-images.d.ts +39 -0
  375. package/core/audits/unsized-images.js +162 -0
  376. package/core/audits/user-timings.d.ts +43 -0
  377. package/core/audits/user-timings.js +118 -0
  378. package/core/audits/uses-rel-preconnect.d.ts +37 -0
  379. package/core/audits/uses-rel-preconnect.js +253 -0
  380. package/core/audits/uses-rel-preload.d.ts +61 -0
  381. package/core/audits/uses-rel-preload.js +269 -0
  382. package/core/audits/valid-source-maps.d.ts +29 -0
  383. package/core/audits/valid-source-maps.js +160 -0
  384. package/core/audits/viewport.d.ts +17 -0
  385. package/core/audits/viewport.js +64 -0
  386. package/core/audits/violation-audit.d.ts +14 -0
  387. package/core/audits/violation-audit.js +49 -0
  388. package/core/audits/work-during-interaction.d.ts +82 -0
  389. package/core/audits/work-during-interaction.js +279 -0
  390. package/core/computed/computed-artifact.d.ts +15 -0
  391. package/core/computed/computed-artifact.js +62 -0
  392. package/core/computed/critical-request-chains.d.ts +40 -0
  393. package/core/computed/critical-request-chains.js +143 -0
  394. package/core/computed/entity-classification.d.ts +29 -0
  395. package/core/computed/entity-classification.js +103 -0
  396. package/core/computed/image-records.d.ts +24 -0
  397. package/core/computed/image-records.js +64 -0
  398. package/core/computed/js-bundles.d.ts +13 -0
  399. package/core/computed/js-bundles.js +120 -0
  400. package/core/computed/load-simulator.d.ts +28 -0
  401. package/core/computed/load-simulator.js +92 -0
  402. package/core/computed/main-resource.d.ts +25 -0
  403. package/core/computed/main-resource.js +35 -0
  404. package/core/computed/main-thread-tasks.d.ts +15 -0
  405. package/core/computed/main-thread-tasks.js +25 -0
  406. package/core/computed/manifest-values.d.ts +24 -0
  407. package/core/computed/manifest-values.js +136 -0
  408. package/core/computed/metrics/cumulative-layout-shift.d.ts +53 -0
  409. package/core/computed/metrics/cumulative-layout-shift.js +125 -0
  410. package/core/computed/metrics/first-contentful-paint-all-frames.d.ts +19 -0
  411. package/core/computed/metrics/first-contentful-paint-all-frames.js +37 -0
  412. package/core/computed/metrics/first-contentful-paint.d.ts +15 -0
  413. package/core/computed/metrics/first-contentful-paint.js +40 -0
  414. package/core/computed/metrics/first-meaningful-paint.d.ts +15 -0
  415. package/core/computed/metrics/first-meaningful-paint.js +44 -0
  416. package/core/computed/metrics/interactive.d.ts +61 -0
  417. package/core/computed/metrics/interactive.js +192 -0
  418. package/core/computed/metrics/lantern-first-contentful-paint.d.ts +48 -0
  419. package/core/computed/metrics/lantern-first-contentful-paint.js +204 -0
  420. package/core/computed/metrics/lantern-first-meaningful-paint.d.ts +12 -0
  421. package/core/computed/metrics/lantern-first-meaningful-paint.js +83 -0
  422. package/core/computed/metrics/lantern-interactive.d.ts +31 -0
  423. package/core/computed/metrics/lantern-interactive.js +113 -0
  424. package/core/computed/metrics/lantern-largest-contentful-paint.d.ts +25 -0
  425. package/core/computed/metrics/lantern-largest-contentful-paint.js +111 -0
  426. package/core/computed/metrics/lantern-max-potential-fid.d.ts +30 -0
  427. package/core/computed/metrics/lantern-max-potential-fid.js +93 -0
  428. package/core/computed/metrics/lantern-metric.d.ts +78 -0
  429. package/core/computed/metrics/lantern-metric.js +162 -0
  430. package/core/computed/metrics/lantern-speed-index.d.ts +38 -0
  431. package/core/computed/metrics/lantern-speed-index.js +150 -0
  432. package/core/computed/metrics/lantern-total-blocking-time.d.ts +31 -0
  433. package/core/computed/metrics/lantern-total-blocking-time.js +126 -0
  434. package/core/computed/metrics/largest-contentful-paint-all-frames.d.ts +20 -0
  435. package/core/computed/metrics/largest-contentful-paint-all-frames.js +45 -0
  436. package/core/computed/metrics/largest-contentful-paint.d.ts +15 -0
  437. package/core/computed/metrics/largest-contentful-paint.js +52 -0
  438. package/core/computed/metrics/max-potential-fid.d.ts +15 -0
  439. package/core/computed/metrics/max-potential-fid.js +45 -0
  440. package/core/computed/metrics/metric.d.ts +38 -0
  441. package/core/computed/metrics/metric.js +100 -0
  442. package/core/computed/metrics/navigation-metric.d.ts +16 -0
  443. package/core/computed/metrics/navigation-metric.js +46 -0
  444. package/core/computed/metrics/responsiveness.d.ts +87 -0
  445. package/core/computed/metrics/responsiveness.js +160 -0
  446. package/core/computed/metrics/speed-index.d.ts +10 -0
  447. package/core/computed/metrics/speed-index.js +40 -0
  448. package/core/computed/metrics/tbt-utils.d.ts +18 -0
  449. package/core/computed/metrics/tbt-utils.js +56 -0
  450. package/core/computed/metrics/timing-summary.d.ts +46 -0
  451. package/core/computed/metrics/timing-summary.js +157 -0
  452. package/core/computed/metrics/total-blocking-time.d.ts +23 -0
  453. package/core/computed/metrics/total-blocking-time.js +74 -0
  454. package/core/computed/module-duplication.d.ts +37 -0
  455. package/core/computed/module-duplication.js +138 -0
  456. package/core/computed/network-analysis.d.ts +20 -0
  457. package/core/computed/network-analysis.js +64 -0
  458. package/core/computed/network-records.d.ts +15 -0
  459. package/core/computed/network-records.js +22 -0
  460. package/core/computed/page-dependency-graph.d.ts +88 -0
  461. package/core/computed/page-dependency-graph.js +516 -0
  462. package/core/computed/processed-navigation.d.ts +21 -0
  463. package/core/computed/processed-navigation.js +37 -0
  464. package/core/computed/processed-trace.d.ts +14 -0
  465. package/core/computed/processed-trace.js +21 -0
  466. package/core/computed/resource-summary.d.ts +46 -0
  467. package/core/computed/resource-summary.js +118 -0
  468. package/core/computed/screenshots.d.ts +20 -0
  469. package/core/computed/screenshots.js +29 -0
  470. package/core/computed/speedline.d.ts +15 -0
  471. package/core/computed/speedline.js +55 -0
  472. package/core/computed/unused-css.d.ts +62 -0
  473. package/core/computed/unused-css.js +153 -0
  474. package/core/computed/unused-javascript-summary.d.ts +71 -0
  475. package/core/computed/unused-javascript-summary.js +155 -0
  476. package/core/computed/user-timings.d.ts +31 -0
  477. package/core/computed/user-timings.js +83 -0
  478. package/core/computed/viewport-meta.d.ts +35 -0
  479. package/core/computed/viewport-meta.js +56 -0
  480. package/core/config/budget.d.ts +74 -0
  481. package/core/config/budget.js +340 -0
  482. package/core/config/config-helpers.d.ts +94 -0
  483. package/core/config/config-helpers.js +630 -0
  484. package/core/config/config-plugin.d.ts +46 -0
  485. package/core/config/config-plugin.js +250 -0
  486. package/core/config/config.d.ts +28 -0
  487. package/core/config/config.js +344 -0
  488. package/core/config/constants.d.ts +86 -0
  489. package/core/config/constants.js +175 -0
  490. package/core/config/default-config.d.ts +5 -0
  491. package/core/config/default-config.js +637 -0
  492. package/core/config/desktop-config.d.ts +5 -0
  493. package/core/config/desktop-config.js +21 -0
  494. package/core/config/experimental-config.d.ts +13 -0
  495. package/core/config/experimental-config.js +29 -0
  496. package/core/config/filters.d.ts +83 -0
  497. package/core/config/filters.js +344 -0
  498. package/core/config/full-config.d.ts +9 -0
  499. package/core/config/full-config.js +13 -0
  500. package/core/config/lr-desktop-config.d.ts +4 -0
  501. package/core/config/lr-desktop-config.js +28 -0
  502. package/core/config/lr-mobile-config.d.ts +9 -0
  503. package/core/config/lr-mobile-config.js +33 -0
  504. package/core/config/metrics-to-audits.d.ts +19 -0
  505. package/core/config/metrics-to-audits.js +61 -0
  506. package/core/config/perf-config.d.ts +9 -0
  507. package/core/config/perf-config.js +16 -0
  508. package/core/config/validation.d.ts +77 -0
  509. package/core/config/validation.js +312 -0
  510. package/core/gather/base-artifacts.d.ts +16 -0
  511. package/core/gather/base-artifacts.js +95 -0
  512. package/core/gather/base-gatherer.d.ts +72 -0
  513. package/core/gather/base-gatherer.js +108 -0
  514. package/core/gather/driver/dom.d.ts +20 -0
  515. package/core/gather/driver/dom.js +57 -0
  516. package/core/gather/driver/environment.d.ts +35 -0
  517. package/core/gather/driver/environment.js +105 -0
  518. package/core/gather/driver/execution-context.d.ts +101 -0
  519. package/core/gather/driver/execution-context.js +262 -0
  520. package/core/gather/driver/navigation.d.ts +33 -0
  521. package/core/gather/driver/navigation.js +182 -0
  522. package/core/gather/driver/network-monitor.d.ts +82 -0
  523. package/core/gather/driver/network-monitor.js +260 -0
  524. package/core/gather/driver/network.d.ts +10 -0
  525. package/core/gather/driver/network.js +27 -0
  526. package/core/gather/driver/prepare.d.ts +52 -0
  527. package/core/gather/driver/prepare.js +244 -0
  528. package/core/gather/driver/service-workers.d.ts +16 -0
  529. package/core/gather/driver/service-workers.js +52 -0
  530. package/core/gather/driver/storage.d.ts +24 -0
  531. package/core/gather/driver/storage.js +149 -0
  532. package/core/gather/driver/target-manager.d.ts +61 -0
  533. package/core/gather/driver/target-manager.js +209 -0
  534. package/core/gather/driver/wait-for-condition.d.ts +116 -0
  535. package/core/gather/driver/wait-for-condition.js +544 -0
  536. package/core/gather/driver.d.ts +30 -0
  537. package/core/gather/driver.js +92 -0
  538. package/core/gather/fetcher.d.ts +63 -0
  539. package/core/gather/fetcher.js +143 -0
  540. package/core/gather/gatherers/accessibility.d.ts +23 -0
  541. package/core/gather/gatherers/accessibility.js +199 -0
  542. package/core/gather/gatherers/anchor-elements.d.ts +10 -0
  543. package/core/gather/gatherers/anchor-elements.js +132 -0
  544. package/core/gather/gatherers/bf-cache-failures.d.ts +43 -0
  545. package/core/gather/gatherers/bf-cache-failures.js +179 -0
  546. package/core/gather/gatherers/cache-contents.d.ts +11 -0
  547. package/core/gather/gatherers/cache-contents.js +58 -0
  548. package/core/gather/gatherers/console-messages.d.ts +39 -0
  549. package/core/gather/gatherers/console-messages.js +174 -0
  550. package/core/gather/gatherers/css-usage.d.ts +39 -0
  551. package/core/gather/gatherers/css-usage.js +150 -0
  552. package/core/gather/gatherers/devtools-log-compat.d.ts +13 -0
  553. package/core/gather/gatherers/devtools-log-compat.js +35 -0
  554. package/core/gather/gatherers/devtools-log.d.ts +48 -0
  555. package/core/gather/gatherers/devtools-log.js +115 -0
  556. package/core/gather/gatherers/dobetterweb/doctype.d.ts +10 -0
  557. package/core/gather/gatherers/dobetterweb/doctype.js +47 -0
  558. package/core/gather/gatherers/dobetterweb/domstats.d.ts +10 -0
  559. package/core/gather/gatherers/dobetterweb/domstats.js +102 -0
  560. package/core/gather/gatherers/dobetterweb/optimized-images.d.ts +61 -0
  561. package/core/gather/gatherers/dobetterweb/optimized-images.js +193 -0
  562. package/core/gather/gatherers/dobetterweb/response-compression.d.ts +30 -0
  563. package/core/gather/gatherers/dobetterweb/response-compression.js +155 -0
  564. package/core/gather/gatherers/dobetterweb/tags-blocking-first-paint.d.ts +53 -0
  565. package/core/gather/gatherers/dobetterweb/tags-blocking-first-paint.js +237 -0
  566. package/core/gather/gatherers/full-page-screenshot.d.ts +35 -0
  567. package/core/gather/gatherers/full-page-screenshot.js +258 -0
  568. package/core/gather/gatherers/gatherer.d.ts +46 -0
  569. package/core/gather/gatherers/gatherer.js +58 -0
  570. package/core/gather/gatherers/global-listeners.d.ts +27 -0
  571. package/core/gather/gatherers/global-listeners.js +91 -0
  572. package/core/gather/gatherers/iframe-elements.d.ts +11 -0
  573. package/core/gather/gatherers/iframe-elements.js +67 -0
  574. package/core/gather/gatherers/image-elements.d.ts +35 -0
  575. package/core/gather/gatherers/image-elements.js +378 -0
  576. package/core/gather/gatherers/inputs.d.ts +10 -0
  577. package/core/gather/gatherers/inputs.js +118 -0
  578. package/core/gather/gatherers/inspector-issues.d.ts +38 -0
  579. package/core/gather/gatherers/inspector-issues.js +126 -0
  580. package/core/gather/gatherers/installability-errors.d.ts +17 -0
  581. package/core/gather/gatherers/installability-errors.js +56 -0
  582. package/core/gather/gatherers/js-usage.d.ts +22 -0
  583. package/core/gather/gatherers/js-usage.js +74 -0
  584. package/core/gather/gatherers/link-elements.d.ts +39 -0
  585. package/core/gather/gatherers/link-elements.js +181 -0
  586. package/core/gather/gatherers/main-document-content.d.ts +27 -0
  587. package/core/gather/gatherers/main-document-content.js +53 -0
  588. package/core/gather/gatherers/meta-elements.d.ts +10 -0
  589. package/core/gather/gatherers/meta-elements.js +67 -0
  590. package/core/gather/gatherers/network-user-agent.d.ts +18 -0
  591. package/core/gather/gatherers/network-user-agent.js +41 -0
  592. package/core/gather/gatherers/script-elements.d.ts +26 -0
  593. package/core/gather/gatherers/script-elements.js +110 -0
  594. package/core/gather/gatherers/scripts.d.ts +27 -0
  595. package/core/gather/gatherers/scripts.js +139 -0
  596. package/core/gather/gatherers/seo/embedded-content.d.ts +10 -0
  597. package/core/gather/gatherers/seo/embedded-content.js +63 -0
  598. package/core/gather/gatherers/seo/font-size.d.ts +131 -0
  599. package/core/gather/gatherers/seo/font-size.js +339 -0
  600. package/core/gather/gatherers/seo/robots-txt.d.ts +10 -0
  601. package/core/gather/gatherers/seo/robots-txt.js +27 -0
  602. package/core/gather/gatherers/seo/tap-targets.d.ts +21 -0
  603. package/core/gather/gatherers/seo/tap-targets.js +389 -0
  604. package/core/gather/gatherers/service-worker.d.ts +16 -0
  605. package/core/gather/gatherers/service-worker.js +44 -0
  606. package/core/gather/gatherers/source-maps.d.ts +50 -0
  607. package/core/gather/gatherers/source-maps.js +155 -0
  608. package/core/gather/gatherers/stacks.d.ts +38 -0
  609. package/core/gather/gatherers/stacks.js +137 -0
  610. package/core/gather/gatherers/trace-compat.d.ts +13 -0
  611. package/core/gather/gatherers/trace-compat.js +35 -0
  612. package/core/gather/gatherers/trace-elements.d.ts +83 -0
  613. package/core/gather/gatherers/trace-elements.js +349 -0
  614. package/core/gather/gatherers/trace.d.ts +23 -0
  615. package/core/gather/gatherers/trace.js +130 -0
  616. package/core/gather/gatherers/viewport-dimensions.d.ts +10 -0
  617. package/core/gather/gatherers/viewport-dimensions.js +57 -0
  618. package/core/gather/gatherers/web-app-manifest.d.ts +32 -0
  619. package/core/gather/gatherers/web-app-manifest.js +106 -0
  620. package/core/gather/navigation-runner.d.ts +94 -0
  621. package/core/gather/navigation-runner.js +386 -0
  622. package/core/gather/runner-helpers.d.ts +39 -0
  623. package/core/gather/runner-helpers.js +159 -0
  624. package/core/gather/session.d.ts +50 -0
  625. package/core/gather/session.js +114 -0
  626. package/core/gather/snapshot-runner.d.ts +10 -0
  627. package/core/gather/snapshot-runner.js +67 -0
  628. package/core/gather/timespan-runner.d.ts +12 -0
  629. package/core/gather/timespan-runner.js +85 -0
  630. package/core/index.cjs +21 -0
  631. package/core/index.d.cts +4 -0
  632. package/core/index.d.ts +88 -0
  633. package/core/index.js +172 -0
  634. package/core/legacy/config/config.d.ts +107 -0
  635. package/core/legacy/config/config.js +566 -0
  636. package/core/legacy/config/legacy-default-config.d.ts +4 -0
  637. package/core/legacy/config/legacy-default-config.js +87 -0
  638. package/core/legacy/gather/connections/connection.d.ts +75 -0
  639. package/core/legacy/gather/connections/connection.js +181 -0
  640. package/core/legacy/gather/connections/cri.d.ts +27 -0
  641. package/core/legacy/gather/connections/cri.js +162 -0
  642. package/core/legacy/gather/connections/raw.d.ts +20 -0
  643. package/core/legacy/gather/connections/raw.js +57 -0
  644. package/core/legacy/gather/driver.d.ts +215 -0
  645. package/core/legacy/gather/driver.js +469 -0
  646. package/core/legacy/gather/gather-runner.d.ts +166 -0
  647. package/core/legacy/gather/gather-runner.js +590 -0
  648. package/core/lib/arbitrary-equality-map.d.ts +47 -0
  649. package/core/lib/arbitrary-equality-map.js +80 -0
  650. package/core/lib/asset-saver.d.ts +101 -0
  651. package/core/lib/asset-saver.js +451 -0
  652. package/core/lib/axe.d.ts +2 -0
  653. package/core/lib/axe.js +17 -0
  654. package/core/lib/bf-cache-strings.d.ts +121 -0
  655. package/core/lib/bf-cache-strings.js +661 -0
  656. package/core/lib/cdt/Common.d.ts +3 -0
  657. package/core/lib/cdt/Common.js +12 -0
  658. package/core/lib/cdt/Platform.d.ts +26 -0
  659. package/core/lib/cdt/Platform.js +57 -0
  660. package/core/lib/cdt/SDK.d.ts +2 -0
  661. package/core/lib/cdt/SDK.js +28 -0
  662. package/core/lib/cdt/generated/ParsedURL.d.ts +28 -0
  663. package/core/lib/cdt/generated/ParsedURL.js +178 -0
  664. package/core/lib/cdt/generated/SourceMap.d.ts +100 -0
  665. package/core/lib/cdt/generated/SourceMap.js +527 -0
  666. package/core/lib/cdt/package.json +4 -0
  667. package/core/lib/csp-evaluator.d.ts +41 -0
  668. package/core/lib/csp-evaluator.js +170 -0
  669. package/core/lib/dependency-graph/base-node.d.ts +161 -0
  670. package/core/lib/dependency-graph/base-node.js +364 -0
  671. package/core/lib/dependency-graph/cpu-node.d.ts +34 -0
  672. package/core/lib/dependency-graph/cpu-node.js +86 -0
  673. package/core/lib/dependency-graph/network-node.d.ts +43 -0
  674. package/core/lib/dependency-graph/network-node.js +99 -0
  675. package/core/lib/dependency-graph/simulator/connection-pool.d.ts +58 -0
  676. package/core/lib/dependency-graph/simulator/connection-pool.js +171 -0
  677. package/core/lib/dependency-graph/simulator/dns-cache.d.ts +42 -0
  678. package/core/lib/dependency-graph/simulator/dns-cache.js +74 -0
  679. package/core/lib/dependency-graph/simulator/network-analyzer.d.ts +166 -0
  680. package/core/lib/dependency-graph/simulator/network-analyzer.js +479 -0
  681. package/core/lib/dependency-graph/simulator/simulator-timing-map.d.ts +153 -0
  682. package/core/lib/dependency-graph/simulator/simulator-timing-map.js +220 -0
  683. package/core/lib/dependency-graph/simulator/simulator.d.ts +154 -0
  684. package/core/lib/dependency-graph/simulator/simulator.js +540 -0
  685. package/core/lib/dependency-graph/simulator/tcp-connection.d.ts +89 -0
  686. package/core/lib/dependency-graph/simulator/tcp-connection.js +230 -0
  687. package/core/lib/deprecations-strings.d.ts +66 -0
  688. package/core/lib/deprecations-strings.js +654 -0
  689. package/core/lib/emulation.d.ts +43 -0
  690. package/core/lib/emulation.js +163 -0
  691. package/core/lib/i18n/README.md +290 -0
  692. package/core/lib/i18n/i18n.d.ts +81 -0
  693. package/core/lib/i18n/i18n.js +229 -0
  694. package/core/lib/icons.d.ts +22 -0
  695. package/core/lib/icons.js +82 -0
  696. package/core/lib/lantern-trace-saver.d.ts +20 -0
  697. package/core/lib/lantern-trace-saver.js +260 -0
  698. package/core/lib/lh-env.d.ts +2 -0
  699. package/core/lib/lh-env.js +15 -0
  700. package/core/lib/lh-error.d.ts +328 -0
  701. package/core/lib/lh-error.js +425 -0
  702. package/core/lib/lh-trace-processor.d.ts +5 -0
  703. package/core/lib/lh-trace-processor.js +45 -0
  704. package/core/lib/lighthouse-compatibility.d.ts +8 -0
  705. package/core/lib/lighthouse-compatibility.js +139 -0
  706. package/core/lib/manifest-parser.d.ts +186 -0
  707. package/core/lib/manifest-parser.js +495 -0
  708. package/core/lib/median-run.d.ts +17 -0
  709. package/core/lib/median-run.js +92 -0
  710. package/core/lib/minification-estimator.d.ts +9 -0
  711. package/core/lib/minification-estimator.js +192 -0
  712. package/core/lib/minify-devtoolslog.d.ts +6 -0
  713. package/core/lib/minify-devtoolslog.js +86 -0
  714. package/core/lib/navigation-error.d.ts +39 -0
  715. package/core/lib/navigation-error.js +175 -0
  716. package/core/lib/network-recorder.d.ts +115 -0
  717. package/core/lib/network-recorder.js +341 -0
  718. package/core/lib/network-request.d.ts +247 -0
  719. package/core/lib/network-request.js +590 -0
  720. package/core/lib/page-functions.d.ts +149 -0
  721. package/core/lib/page-functions.js +544 -0
  722. package/core/lib/proto-preprocessor.d.ts +13 -0
  723. package/core/lib/proto-preprocessor.js +133 -0
  724. package/core/lib/rect-helpers.d.ts +100 -0
  725. package/core/lib/rect-helpers.js +251 -0
  726. package/core/lib/script-helpers.d.ts +17 -0
  727. package/core/lib/script-helpers.js +31 -0
  728. package/core/lib/sentry.d.ts +32 -0
  729. package/core/lib/sentry.js +143 -0
  730. package/core/lib/stack-packs.d.ts +16 -0
  731. package/core/lib/stack-packs.js +126 -0
  732. package/core/lib/statistics.d.ts +28 -0
  733. package/core/lib/statistics.js +103 -0
  734. package/core/lib/tappable-rects.d.ts +8 -0
  735. package/core/lib/tappable-rects.js +98 -0
  736. package/core/lib/third-party-web.d.ts +32 -0
  737. package/core/lib/third-party-web.js +52 -0
  738. package/core/lib/timing-trace-saver.d.ts +21 -0
  739. package/core/lib/timing-trace-saver.js +96 -0
  740. package/core/lib/tracehouse/cpu-profile-model.d.ts +228 -0
  741. package/core/lib/tracehouse/cpu-profile-model.js +591 -0
  742. package/core/lib/tracehouse/main-thread-tasks.d.ts +162 -0
  743. package/core/lib/tracehouse/main-thread-tasks.js +688 -0
  744. package/core/lib/tracehouse/task-groups.d.ts +66 -0
  745. package/core/lib/tracehouse/task-groups.js +111 -0
  746. package/core/lib/tracehouse/task-summary.d.ts +18 -0
  747. package/core/lib/tracehouse/task-summary.js +86 -0
  748. package/core/lib/tracehouse/trace-processor.d.ts +284 -0
  749. package/core/lib/tracehouse/trace-processor.js +1016 -0
  750. package/core/lib/traces/metric-trace-events.d.ts +65 -0
  751. package/core/lib/traces/metric-trace-events.js +200 -0
  752. package/core/lib/url-utils.d.ts +100 -0
  753. package/core/lib/url-utils.js +266 -0
  754. package/core/runner.d.ts +114 -0
  755. package/core/runner.js +563 -0
  756. package/core/scoring.d.ts +26 -0
  757. package/core/scoring.js +91 -0
  758. package/core/scripts/download-chrome.sh +36 -0
  759. package/core/scripts/manual-chrome-launcher.js +50 -0
  760. package/core/user-flow.d.ts +106 -0
  761. package/core/user-flow.js +354 -0
  762. package/dist/report/bundle.esm.js +1485 -1281
  763. package/dist/report/flow.js +37 -25
  764. package/dist/report/standalone.js +35 -19
  765. package/eslint-local-rules.cjs +106 -0
  766. package/eslint-local-rules.d.cts +6 -0
  767. package/esm-utils.d.ts +14 -0
  768. package/esm-utils.js +38 -0
  769. package/flow-report/api.d.ts +7 -0
  770. package/flow-report/assets/standalone-flow-template.html +1 -1
  771. package/flow-report/clients/standalone.d.ts +7 -0
  772. package/flow-report/src/app.d.ts +11 -0
  773. package/flow-report/src/app.tsx +1 -1
  774. package/flow-report/src/common.d.ts +20 -0
  775. package/flow-report/src/common.tsx +3 -3
  776. package/flow-report/src/header.d.ts +10 -0
  777. package/flow-report/src/header.tsx +1 -1
  778. package/flow-report/src/help-dialog.d.ts +10 -0
  779. package/flow-report/src/i18n/i18n.d.ts +212 -0
  780. package/flow-report/src/i18n/i18n.tsx +24 -19
  781. package/flow-report/src/i18n/localized-strings.d.ts +9 -0
  782. package/flow-report/src/i18n/ui-strings.d.ts +48 -0
  783. package/flow-report/src/icons.d.ts +18 -0
  784. package/flow-report/src/sidebar/flow.d.ts +8 -0
  785. package/flow-report/src/sidebar/sidebar.d.ts +17 -0
  786. package/flow-report/src/sidebar/sidebar.tsx +7 -4
  787. package/flow-report/src/summary/category.d.ts +19 -0
  788. package/flow-report/src/summary/category.tsx +10 -10
  789. package/flow-report/src/summary/summary.d.ts +18 -0
  790. package/flow-report/src/summary/summary.tsx +4 -4
  791. package/flow-report/src/topbar.d.ts +15 -0
  792. package/flow-report/src/topbar.tsx +14 -30
  793. package/flow-report/src/util.d.ts +30 -0
  794. package/flow-report/src/util.ts +2 -13
  795. package/flow-report/src/wrappers/category-score.d.ts +12 -0
  796. package/flow-report/src/wrappers/markdown.d.ts +10 -0
  797. package/flow-report/src/wrappers/report.d.ts +10 -0
  798. package/flow-report/src/wrappers/report.tsx +1 -1
  799. package/flow-report/src/wrappers/styles.d.ts +8 -0
  800. package/flow-report/test/app-test.d.ts +7 -0
  801. package/flow-report/test/common-test.d.ts +7 -0
  802. package/flow-report/test/common-test.tsx +11 -12
  803. package/flow-report/test/flow-report-pptr-test.d.ts +7 -0
  804. package/flow-report/test/flow-report-pptr-test.ts +21 -8
  805. package/flow-report/test/header-test.d.ts +7 -0
  806. package/flow-report/test/run-flow-report-tests.sh +20 -0
  807. package/flow-report/test/sample-flow.d.ts +7 -0
  808. package/flow-report/test/sample-flow.ts +1 -1
  809. package/flow-report/test/setup/env-setup.d.ts +11 -0
  810. package/flow-report/test/setup/env-setup.ts +47 -24
  811. package/flow-report/test/sidebar/flow-test.d.ts +7 -0
  812. package/flow-report/test/sidebar/sidebar-test.d.ts +7 -0
  813. package/flow-report/test/sidebar/sidebar-test.tsx +30 -3
  814. package/flow-report/test/summary/category-test.d.ts +7 -0
  815. package/flow-report/test/summary/summary-test.d.ts +7 -0
  816. package/flow-report/test/summary/summary-test.tsx +1 -1
  817. package/flow-report/test/topbar-test.d.ts +7 -0
  818. package/flow-report/test/topbar-test.tsx +11 -12
  819. package/flow-report/test/util-test.d.ts +7 -0
  820. package/flow-report/test/util-test.tsx +3 -3
  821. package/flow-report/test/wrappers/category-score-test.d.ts +7 -0
  822. package/flow-report/test/wrappers/markdown-test.d.ts +7 -0
  823. package/flow-report/tsconfig.json +5 -3
  824. package/flow-report/types/flow-report.d.ts +8 -1
  825. package/package.json +86 -80
  826. package/readme.md +27 -40
  827. package/report/README.md +8 -9
  828. package/report/assets/standalone-template.html +1 -1
  829. package/report/assets/styles.css +35 -17
  830. package/report/assets/templates.html +14 -37
  831. package/report/clients/bundle.d.ts +6 -0
  832. package/report/clients/bundle.js +1 -2
  833. package/report/clients/standalone.d.ts +2 -0
  834. package/report/clients/standalone.js +0 -1
  835. package/report/generator/file-namer.d.ts +35 -0
  836. package/report/generator/file-namer.js +7 -3
  837. package/report/generator/flow-report-assets.d.ts +9 -0
  838. package/report/generator/flow-report-assets.js +10 -6
  839. package/report/generator/report-assets.d.ts +8 -0
  840. package/report/generator/report-assets.js +8 -5
  841. package/report/generator/report-generator.d.ts +59 -0
  842. package/report/generator/report-generator.js +76 -34
  843. package/report/generator/tsconfig.json +1 -2
  844. package/report/renderer/api.d.ts +31 -0
  845. package/report/renderer/api.js +0 -2
  846. package/report/renderer/category-renderer.d.ts +176 -0
  847. package/report/renderer/category-renderer.js +39 -41
  848. package/report/renderer/components.d.ts +10 -0
  849. package/report/renderer/components.js +364 -448
  850. package/report/renderer/crc-details-renderer.d.ts +73 -0
  851. package/report/renderer/crc-details-renderer.js +28 -30
  852. package/report/renderer/details-renderer.d.ts +141 -0
  853. package/report/renderer/details-renderer.js +44 -92
  854. package/report/renderer/dom.d.ts +125 -0
  855. package/report/renderer/dom.js +13 -10
  856. package/report/renderer/drop-down-menu.d.ts +70 -0
  857. package/report/renderer/drop-down-menu.js +0 -1
  858. package/report/renderer/element-screenshot-renderer.d.ts +79 -0
  859. package/report/renderer/element-screenshot-renderer.js +11 -12
  860. package/report/renderer/features-util.d.ts +13 -0
  861. package/report/renderer/features-util.js +0 -1
  862. package/report/renderer/i18n-formatter.d.ts +100 -0
  863. package/report/renderer/i18n-formatter.js +263 -0
  864. package/report/renderer/logger.d.ts +47 -0
  865. package/report/renderer/logger.js +0 -1
  866. package/report/renderer/open-tab.d.ts +19 -0
  867. package/report/renderer/open-tab.js +4 -4
  868. package/report/renderer/performance-category-renderer.d.ts +56 -0
  869. package/report/renderer/performance-category-renderer.js +29 -26
  870. package/report/renderer/pwa-category-renderer.d.ts +55 -0
  871. package/report/renderer/pwa-category-renderer.js +8 -8
  872. package/report/renderer/report-globals.d.ts +21 -0
  873. package/report/renderer/report-globals.js +49 -0
  874. package/report/renderer/report-renderer.d.ts +57 -0
  875. package/report/renderer/report-renderer.js +54 -52
  876. package/report/renderer/report-ui-features.d.ts +71 -0
  877. package/report/renderer/report-ui-features.js +44 -39
  878. package/report/renderer/report-utils.d.ts +129 -0
  879. package/report/renderer/report-utils.js +448 -0
  880. package/report/renderer/snippet-renderer.d.ts +85 -0
  881. package/report/renderer/snippet-renderer.js +5 -5
  882. package/report/renderer/swap-locale-feature.d.ts +31 -0
  883. package/report/renderer/swap-locale-feature.js +2 -3
  884. package/report/renderer/text-encoding.d.ts +26 -0
  885. package/report/renderer/text-encoding.js +0 -1
  886. package/report/renderer/topbar-features.d.ts +82 -0
  887. package/report/renderer/topbar-features.js +2 -2
  888. package/report/test/clients/bundle-test.js +5 -10
  889. package/report/test/generator/file-namer-test.js +3 -4
  890. package/report/test/generator/report-generator-test.js +49 -24
  891. package/report/test/renderer/category-renderer-test.js +19 -15
  892. package/report/test/renderer/components-test.js +36 -37
  893. package/report/test/renderer/crc-details-renderer-test.js +11 -10
  894. package/report/test/renderer/details-renderer-test.js +91 -41
  895. package/report/test/renderer/dom-test.js +38 -14
  896. package/report/test/renderer/element-screenshot-renderer-test.js +14 -12
  897. package/report/test/renderer/i18n-formatter-test.js +179 -0
  898. package/report/test/renderer/performance-category-renderer-test.js +43 -31
  899. package/report/test/renderer/pwa-category-renderer-test.js +17 -13
  900. package/report/test/renderer/report-renderer-axe-test.js +12 -15
  901. package/report/test/renderer/report-renderer-test.js +17 -15
  902. package/report/test/renderer/report-ui-features-test.js +304 -89
  903. package/report/test/renderer/report-utils-test.js +219 -0
  904. package/report/test/renderer/snippet-renderer-test.js +11 -10
  905. package/report/test/renderer/text-encoding-test.js +2 -5
  906. package/report/test-assets/faux-psi.d.ts +34 -0
  907. package/report/tsconfig.json +1 -2
  908. package/report/types/augment-dom.d.ts +1 -1
  909. package/root.d.ts +3 -0
  910. package/root.js +9 -19
  911. package/shared/localization/format.d.ts +106 -0
  912. package/shared/localization/format.js +27 -21
  913. package/shared/localization/i18n-module.d.ts +4 -0
  914. package/shared/localization/i18n-module.js +7 -3
  915. package/shared/localization/locales/ar-XB.json +1658 -1007
  916. package/shared/localization/locales/ar.json +1659 -1008
  917. package/shared/localization/locales/bg.json +1657 -1006
  918. package/shared/localization/locales/ca.json +1664 -1013
  919. package/shared/localization/locales/cs.json +1659 -1008
  920. package/shared/localization/locales/da.json +1658 -1007
  921. package/shared/localization/locales/de.json +1794 -1143
  922. package/shared/localization/locales/el.json +1657 -1006
  923. package/shared/localization/locales/en-GB.json +1658 -1007
  924. package/shared/localization/locales/en-US.json +1570 -1207
  925. package/shared/localization/locales/en-XA.json +1658 -1007
  926. package/shared/localization/locales/en-XL.json +1570 -1207
  927. package/shared/localization/locales/es-419.json +1660 -1009
  928. package/shared/localization/locales/es.json +1665 -1014
  929. package/shared/localization/locales/fi.json +1658 -1007
  930. package/shared/localization/locales/fil.json +1659 -1008
  931. package/shared/localization/locales/fr.json +1660 -1009
  932. package/shared/localization/locales/he.json +1678 -1027
  933. package/shared/localization/locales/hi.json +1661 -1010
  934. package/shared/localization/locales/hr.json +1658 -1007
  935. package/shared/localization/locales/hu.json +1657 -1006
  936. package/shared/localization/locales/id.json +1658 -1007
  937. package/shared/localization/locales/it.json +1678 -1027
  938. package/shared/localization/locales/ja.json +1657 -1006
  939. package/shared/localization/locales/ko.json +1658 -1007
  940. package/shared/localization/locales/lt.json +1658 -1007
  941. package/shared/localization/locales/lv.json +1658 -1007
  942. package/shared/localization/locales/nl.json +1659 -1008
  943. package/shared/localization/locales/no.json +1662 -1011
  944. package/shared/localization/locales/pl.json +1657 -1006
  945. package/shared/localization/locales/pt-PT.json +1678 -1027
  946. package/shared/localization/locales/pt.json +1659 -1008
  947. package/shared/localization/locales/ro.json +1657 -1006
  948. package/shared/localization/locales/ru.json +1657 -1006
  949. package/shared/localization/locales/sk.json +1657 -1006
  950. package/shared/localization/locales/sl.json +1657 -1006
  951. package/shared/localization/locales/sr-Latn.json +1658 -1007
  952. package/shared/localization/locales/sr.json +1658 -1007
  953. package/shared/localization/locales/sv.json +1664 -1013
  954. package/shared/localization/locales/ta.json +1658 -1007
  955. package/shared/localization/locales/te.json +1688 -1037
  956. package/shared/localization/locales/th.json +1666 -1015
  957. package/shared/localization/locales/tr.json +1658 -1007
  958. package/shared/localization/locales/uk.json +1657 -1006
  959. package/shared/localization/locales/vi.json +1659 -1008
  960. package/shared/localization/locales/zh-HK.json +1658 -1007
  961. package/shared/localization/locales/zh-TW.json +1661 -1010
  962. package/shared/localization/locales/zh.json +1658 -1007
  963. package/shared/localization/locales.d.ts +7 -0
  964. package/shared/localization/locales.js +54 -51
  965. package/shared/localization/swap-flow-locale.d.ts +6 -0
  966. package/shared/localization/swap-flow-locale.js +6 -3
  967. package/shared/localization/swap-locale.d.ts +39 -0
  968. package/shared/localization/swap-locale.js +7 -8
  969. package/shared/test/localization/format-test.js +73 -56
  970. package/shared/test/localization/locales-test.js +2 -4
  971. package/shared/test/localization/swap-locale-test.js +10 -11
  972. package/shared/test/util-test.js +214 -0
  973. package/shared/tsconfig.json +1 -2
  974. package/shared/type-verifiers.d.ts +23 -0
  975. package/shared/type-verifiers.js +1 -2
  976. package/shared/types/shared.d.ts +2 -2
  977. package/shared/util.d.ts +122 -0
  978. package/shared/util.js +332 -0
  979. package/third-party/axe/valid-langs.d.ts +9 -0
  980. package/third-party/axe/valid-langs.js +1 -1
  981. package/third-party/chromium-synchronization/inspector-issueAdded-types-test.js +5 -7
  982. package/third-party/chromium-synchronization/installability-errors-test.js +4 -8
  983. package/third-party/download-content-shell/README.md +1 -0
  984. package/third-party/download-content-shell/download-content-shell.js +12 -6
  985. package/third-party/download-content-shell/utils.js +8 -8
  986. package/tsconfig-base.json +6 -1
  987. package/tsconfig.json +84 -90
  988. package/types/artifacts.d.ts +135 -78
  989. package/types/audit.d.ts +9 -8
  990. package/types/config.d.ts +26 -38
  991. package/types/externs.d.ts +9 -101
  992. package/types/gatherer.d.ts +35 -27
  993. package/types/internal/cssstyle.d.ts +23 -0
  994. package/types/{enquirer.d.ts → internal/enquirer.d.ts} +0 -0
  995. package/types/{es-main.d.ts → internal/es-main.d.ts} +0 -0
  996. package/types/internal/global.d.ts +15 -0
  997. package/types/{http-link-header/index.d.ts → internal/http-link-header.d.ts} +0 -0
  998. package/types/{jsonlint-mod.d.ts → internal/jsonlint-mod.d.ts} +0 -0
  999. package/types/internal/lighthouse-logger.d.ts +34 -0
  1000. package/types/internal/lookup-closest-locale.d.ts +13 -0
  1001. package/types/{metaviewport-parser/index.d.ts → internal/metaviewport-parser.d.ts} +0 -0
  1002. package/types/{node-fetch.d.ts → internal/node-fetch.d.ts} +0 -0
  1003. package/types/internal/node.d.ts +44 -0
  1004. package/types/{parse-cache-control/index.d.ts → internal/parse-cache-control.d.ts} +0 -0
  1005. package/types/{pretty-json-stringify/index.d.ts → internal/pretty-json-stringify.d.ts} +0 -0
  1006. package/types/internal/query-selector.d.ts +36 -0
  1007. package/types/{rollup-plugin-postprocess.d.ts → internal/rollup-plugin-postprocess.d.ts} +0 -0
  1008. package/types/internal/smokehouse.d.ts +83 -0
  1009. package/types/internal/test.d.ts +53 -0
  1010. package/types/lh.d.ts +81 -0
  1011. package/types/lh.js +13 -0
  1012. package/types/lhr/audit-details.d.ts +6 -53
  1013. package/types/lhr/audit-result.d.ts +2 -2
  1014. package/types/lhr/flow-result.d.ts +28 -0
  1015. package/types/lhr/lhr.d.ts +53 -6
  1016. package/types/lhr/settings.d.ts +18 -1
  1017. package/types/lhr/treemap.d.ts +5 -4
  1018. package/types/lhr/tsconfig.json +0 -2
  1019. package/types/protocol.d.ts +32 -18
  1020. package/types/puppeteer.d.ts +27 -0
  1021. package/types/user-flow.d.ts +27 -6
  1022. package/types/utility-types.d.ts +72 -0
  1023. package/vercel.json +6 -0
  1024. package/eslint-local-rules.js +0 -106
  1025. package/flow-report/.eslintrc.cjs +0 -51
  1026. package/flow-report/jest.config.js +0 -24
  1027. package/flow-report/package.json +0 -4
  1028. package/flow-report/test/setup/global-setup.ts +0 -11
  1029. package/jest.config.js +0 -30
  1030. package/lighthouse-cli/.eslintrc.cjs +0 -29
  1031. package/lighthouse-cli/bin.js +0 -152
  1032. package/lighthouse-cli/cli-flags.js +0 -530
  1033. package/lighthouse-cli/commands/commands.js +0 -10
  1034. package/lighthouse-cli/commands/list-audits.js +0 -16
  1035. package/lighthouse-cli/commands/list-locales.js +0 -16
  1036. package/lighthouse-cli/commands/list-trace-categories.js +0 -16
  1037. package/lighthouse-cli/index.js +0 -14
  1038. package/lighthouse-cli/package.json +0 -4
  1039. package/lighthouse-cli/printer.js +0 -100
  1040. package/lighthouse-cli/run.js +0 -286
  1041. package/lighthouse-cli/sentry-prompt.js +0 -79
  1042. package/lighthouse-cli/test/smokehouse/core-tests.js +0 -129
  1043. package/lighthouse-cli/test/smokehouse/frontends/back-compat-util.js +0 -42
  1044. package/lighthouse-cli/test/smokehouse/frontends/lib.js +0 -49
  1045. package/lighthouse-cli/test/smokehouse/frontends/node.js +0 -13
  1046. package/lighthouse-cli/test/smokehouse/frontends/smokehouse-bin.js +0 -262
  1047. package/lighthouse-cli/test/smokehouse/lib/child-process-error.js +0 -26
  1048. package/lighthouse-cli/test/smokehouse/lib/concurrent-mapper.js +0 -126
  1049. package/lighthouse-cli/test/smokehouse/lib/local-console.js +0 -51
  1050. package/lighthouse-cli/test/smokehouse/lighthouse-runners/bundle.js +0 -68
  1051. package/lighthouse-cli/test/smokehouse/lighthouse-runners/cli.js +0 -151
  1052. package/lighthouse-cli/test/smokehouse/lighthouse-runners/devtools.js +0 -106
  1053. package/lighthouse-cli/test/smokehouse/readme.md +0 -204
  1054. package/lighthouse-cli/test/smokehouse/report-assert.js +0 -493
  1055. package/lighthouse-cli/test/smokehouse/smokehouse.js +0 -284
  1056. package/lighthouse-cli/test/smokehouse/version-check-test.js +0 -46
  1057. package/lighthouse-cli/test/smokehouse/version-check.js +0 -49
  1058. package/lighthouse-core/audits/accessibility/accesskeys.js +0 -45
  1059. package/lighthouse-core/audits/accessibility/aria-allowed-attr.js +0 -45
  1060. package/lighthouse-core/audits/accessibility/aria-command-name.js +0 -43
  1061. package/lighthouse-core/audits/accessibility/aria-hidden-body.js +0 -43
  1062. package/lighthouse-core/audits/accessibility/aria-hidden-focus.js +0 -43
  1063. package/lighthouse-core/audits/accessibility/aria-input-field-name.js +0 -43
  1064. package/lighthouse-core/audits/accessibility/aria-meter-name.js +0 -43
  1065. package/lighthouse-core/audits/accessibility/aria-progressbar-name.js +0 -43
  1066. package/lighthouse-core/audits/accessibility/aria-required-attr.js +0 -44
  1067. package/lighthouse-core/audits/accessibility/aria-required-children.js +0 -48
  1068. package/lighthouse-core/audits/accessibility/aria-required-parent.js +0 -46
  1069. package/lighthouse-core/audits/accessibility/aria-roles.js +0 -45
  1070. package/lighthouse-core/audits/accessibility/aria-toggle-field-name.js +0 -43
  1071. package/lighthouse-core/audits/accessibility/aria-tooltip-name.js +0 -43
  1072. package/lighthouse-core/audits/accessibility/aria-treeitem-name.js +0 -43
  1073. package/lighthouse-core/audits/accessibility/aria-valid-attr-value.js +0 -45
  1074. package/lighthouse-core/audits/accessibility/aria-valid-attr.js +0 -45
  1075. package/lighthouse-core/audits/accessibility/axe-audit.js +0 -114
  1076. package/lighthouse-core/audits/accessibility/button-name.js +0 -45
  1077. package/lighthouse-core/audits/accessibility/bypass.js +0 -46
  1078. package/lighthouse-core/audits/accessibility/color-contrast.js +0 -46
  1079. package/lighthouse-core/audits/accessibility/definition-list.js +0 -47
  1080. package/lighthouse-core/audits/accessibility/dlitem.js +0 -45
  1081. package/lighthouse-core/audits/accessibility/document-title.js +0 -45
  1082. package/lighthouse-core/audits/accessibility/duplicate-id-active.js +0 -43
  1083. package/lighthouse-core/audits/accessibility/duplicate-id-aria.js +0 -43
  1084. package/lighthouse-core/audits/accessibility/form-field-multiple-labels.js +0 -44
  1085. package/lighthouse-core/audits/accessibility/frame-title.js +0 -44
  1086. package/lighthouse-core/audits/accessibility/heading-order.js +0 -43
  1087. package/lighthouse-core/audits/accessibility/html-has-lang.js +0 -47
  1088. package/lighthouse-core/audits/accessibility/html-lang-valid.js +0 -46
  1089. package/lighthouse-core/audits/accessibility/image-alt.js +0 -45
  1090. package/lighthouse-core/audits/accessibility/input-image-alt.js +0 -45
  1091. package/lighthouse-core/audits/accessibility/label.js +0 -45
  1092. package/lighthouse-core/audits/accessibility/link-name.js +0 -46
  1093. package/lighthouse-core/audits/accessibility/list.js +0 -47
  1094. package/lighthouse-core/audits/accessibility/listitem.js +0 -46
  1095. package/lighthouse-core/audits/accessibility/manual/custom-controls-labels.js +0 -28
  1096. package/lighthouse-core/audits/accessibility/manual/custom-controls-roles.js +0 -28
  1097. package/lighthouse-core/audits/accessibility/manual/focus-traps.js +0 -28
  1098. package/lighthouse-core/audits/accessibility/manual/focusable-controls.js +0 -28
  1099. package/lighthouse-core/audits/accessibility/manual/interactive-element-affordance.js +0 -28
  1100. package/lighthouse-core/audits/accessibility/manual/logical-tab-order.js +0 -28
  1101. package/lighthouse-core/audits/accessibility/manual/managed-focus.js +0 -28
  1102. package/lighthouse-core/audits/accessibility/manual/offscreen-content-hidden.js +0 -29
  1103. package/lighthouse-core/audits/accessibility/manual/use-landmarks.js +0 -28
  1104. package/lighthouse-core/audits/accessibility/manual/visual-order-follows-dom.js +0 -28
  1105. package/lighthouse-core/audits/accessibility/meta-refresh.js +0 -46
  1106. package/lighthouse-core/audits/accessibility/meta-viewport.js +0 -47
  1107. package/lighthouse-core/audits/accessibility/object-alt.js +0 -45
  1108. package/lighthouse-core/audits/accessibility/tabindex.js +0 -45
  1109. package/lighthouse-core/audits/accessibility/td-headers-attr.js +0 -49
  1110. package/lighthouse-core/audits/accessibility/th-has-data-cells.js +0 -48
  1111. package/lighthouse-core/audits/accessibility/valid-lang.js +0 -45
  1112. package/lighthouse-core/audits/accessibility/video-caption.js +0 -46
  1113. package/lighthouse-core/audits/apple-touch-icon.js +0 -72
  1114. package/lighthouse-core/audits/audit.js +0 -391
  1115. package/lighthouse-core/audits/autocomplete.js +0 -290
  1116. package/lighthouse-core/audits/bootup-time.js +0 -152
  1117. package/lighthouse-core/audits/byte-efficiency/byte-efficiency-audit.js +0 -258
  1118. package/lighthouse-core/audits/byte-efficiency/duplicated-javascript.js +0 -249
  1119. package/lighthouse-core/audits/byte-efficiency/efficient-animated-content.js +0 -92
  1120. package/lighthouse-core/audits/byte-efficiency/legacy-javascript.js +0 -472
  1121. package/lighthouse-core/audits/byte-efficiency/modern-image-formats.js +0 -186
  1122. package/lighthouse-core/audits/byte-efficiency/offscreen-images.js +0 -252
  1123. package/lighthouse-core/audits/byte-efficiency/render-blocking-resources.js +0 -309
  1124. package/lighthouse-core/audits/byte-efficiency/total-byte-weight.js +0 -111
  1125. package/lighthouse-core/audits/byte-efficiency/unminified-css.js +0 -117
  1126. package/lighthouse-core/audits/byte-efficiency/unminified-javascript.js +0 -120
  1127. package/lighthouse-core/audits/byte-efficiency/unused-css-rules.js +0 -71
  1128. package/lighthouse-core/audits/byte-efficiency/unused-javascript.js +0 -161
  1129. package/lighthouse-core/audits/byte-efficiency/uses-long-cache-ttl.js +0 -298
  1130. package/lighthouse-core/audits/byte-efficiency/uses-optimized-images.js +0 -145
  1131. package/lighthouse-core/audits/byte-efficiency/uses-responsive-images-snapshot.js +0 -100
  1132. package/lighthouse-core/audits/byte-efficiency/uses-responsive-images.js +0 -177
  1133. package/lighthouse-core/audits/byte-efficiency/uses-text-compression.js +0 -100
  1134. package/lighthouse-core/audits/content-width.js +0 -77
  1135. package/lighthouse-core/audits/critical-request-chains.js +0 -220
  1136. package/lighthouse-core/audits/csp-xss.js +0 -186
  1137. package/lighthouse-core/audits/deprecations.js +0 -684
  1138. package/lighthouse-core/audits/diagnostics.js +0 -79
  1139. package/lighthouse-core/audits/dobetterweb/charset.js +0 -96
  1140. package/lighthouse-core/audits/dobetterweb/doctype.js +0 -94
  1141. package/lighthouse-core/audits/dobetterweb/dom-size.js +0 -123
  1142. package/lighthouse-core/audits/dobetterweb/geolocation-on-start.js +0 -70
  1143. package/lighthouse-core/audits/dobetterweb/inspector-issues.js +0 -192
  1144. package/lighthouse-core/audits/dobetterweb/js-libraries.js +0 -88
  1145. package/lighthouse-core/audits/dobetterweb/no-document-write.js +0 -85
  1146. package/lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js +0 -225
  1147. package/lighthouse-core/audits/dobetterweb/notification-on-start.js +0 -69
  1148. package/lighthouse-core/audits/dobetterweb/password-inputs-can-be-pasted-into.js +0 -66
  1149. package/lighthouse-core/audits/dobetterweb/uses-http2.js +0 -258
  1150. package/lighthouse-core/audits/dobetterweb/uses-passive-event-listeners.js +0 -68
  1151. package/lighthouse-core/audits/errors-in-console.js +0 -118
  1152. package/lighthouse-core/audits/final-screenshot.js +0 -59
  1153. package/lighthouse-core/audits/font-display.js +0 -193
  1154. package/lighthouse-core/audits/full-page-screenshot.js +0 -43
  1155. package/lighthouse-core/audits/image-aspect-ratio.js +0 -122
  1156. package/lighthouse-core/audits/image-size-responsive.js +0 -331
  1157. package/lighthouse-core/audits/installable-manifest.js +0 -266
  1158. package/lighthouse-core/audits/is-on-https.js +0 -125
  1159. package/lighthouse-core/audits/largest-contentful-paint-element.js +0 -70
  1160. package/lighthouse-core/audits/layout-shift-elements.js +0 -75
  1161. package/lighthouse-core/audits/lcp-lazy-loaded.js +0 -85
  1162. package/lighthouse-core/audits/long-tasks.js +0 -124
  1163. package/lighthouse-core/audits/main-thread-tasks.js +0 -59
  1164. package/lighthouse-core/audits/mainthread-work-breakdown.js +0 -134
  1165. package/lighthouse-core/audits/manual/manual-audit.js +0 -37
  1166. package/lighthouse-core/audits/manual/pwa-cross-browser.js +0 -41
  1167. package/lighthouse-core/audits/manual/pwa-each-page-has-url.js +0 -39
  1168. package/lighthouse-core/audits/manual/pwa-page-transitions.js +0 -39
  1169. package/lighthouse-core/audits/maskable-icon.js +0 -71
  1170. package/lighthouse-core/audits/metrics/cumulative-layout-shift.js +0 -79
  1171. package/lighthouse-core/audits/metrics/experimental-interaction-to-next-paint.js +0 -88
  1172. package/lighthouse-core/audits/metrics/first-contentful-paint-3g.js +0 -67
  1173. package/lighthouse-core/audits/metrics/first-contentful-paint.js +0 -85
  1174. package/lighthouse-core/audits/metrics/first-meaningful-paint.js +0 -89
  1175. package/lighthouse-core/audits/metrics/interactive.js +0 -93
  1176. package/lighthouse-core/audits/metrics/largest-contentful-paint.js +0 -114
  1177. package/lighthouse-core/audits/metrics/max-potential-fid.js +0 -76
  1178. package/lighthouse-core/audits/metrics/speed-index.js +0 -88
  1179. package/lighthouse-core/audits/metrics/total-blocking-time.js +0 -117
  1180. package/lighthouse-core/audits/metrics.js +0 -73
  1181. package/lighthouse-core/audits/multi-check-audit.js +0 -83
  1182. package/lighthouse-core/audits/network-requests.js +0 -129
  1183. package/lighthouse-core/audits/network-rtt.js +0 -90
  1184. package/lighthouse-core/audits/network-server-latency.js +0 -89
  1185. package/lighthouse-core/audits/no-unload-listeners.js +0 -95
  1186. package/lighthouse-core/audits/non-composited-animations.js +0 -206
  1187. package/lighthouse-core/audits/oopif-iframe-test-audit.js +0 -30
  1188. package/lighthouse-core/audits/performance-budget.js +0 -154
  1189. package/lighthouse-core/audits/predictive-perf.js +0 -101
  1190. package/lighthouse-core/audits/preload-fonts.js +0 -107
  1191. package/lighthouse-core/audits/preload-lcp-image.js +0 -272
  1192. package/lighthouse-core/audits/redirects.js +0 -163
  1193. package/lighthouse-core/audits/resource-summary.js +0 -104
  1194. package/lighthouse-core/audits/screenshot-thumbnails.js +0 -163
  1195. package/lighthouse-core/audits/script-treemap-data.js +0 -288
  1196. package/lighthouse-core/audits/seo/canonical.js +0 -218
  1197. package/lighthouse-core/audits/seo/crawlable-anchors.js +0 -94
  1198. package/lighthouse-core/audits/seo/font-size.js +0 -344
  1199. package/lighthouse-core/audits/seo/hreflang.js +0 -149
  1200. package/lighthouse-core/audits/seo/http-status-code.js +0 -70
  1201. package/lighthouse-core/audits/seo/is-crawlable.js +0 -155
  1202. package/lighthouse-core/audits/seo/link-text.js +0 -158
  1203. package/lighthouse-core/audits/seo/manual/structured-data.js +0 -38
  1204. package/lighthouse-core/audits/seo/meta-description.js +0 -67
  1205. package/lighthouse-core/audits/seo/plugins.js +0 -152
  1206. package/lighthouse-core/audits/seo/robots-txt.js +0 -256
  1207. package/lighthouse-core/audits/seo/tap-targets.js +0 -352
  1208. package/lighthouse-core/audits/server-response-time.js +0 -106
  1209. package/lighthouse-core/audits/service-worker.js +0 -179
  1210. package/lighthouse-core/audits/splash-screen.js +0 -99
  1211. package/lighthouse-core/audits/themed-omnibox.js +0 -110
  1212. package/lighthouse-core/audits/third-party-facades.js +0 -221
  1213. package/lighthouse-core/audits/third-party-summary.js +0 -259
  1214. package/lighthouse-core/audits/timing-budget.js +0 -174
  1215. package/lighthouse-core/audits/unsized-images.js +0 -163
  1216. package/lighthouse-core/audits/user-timings.js +0 -120
  1217. package/lighthouse-core/audits/uses-rel-preconnect.js +0 -254
  1218. package/lighthouse-core/audits/uses-rel-preload.js +0 -267
  1219. package/lighthouse-core/audits/valid-source-maps.js +0 -157
  1220. package/lighthouse-core/audits/viewport.js +0 -65
  1221. package/lighthouse-core/audits/violation-audit.js +0 -50
  1222. package/lighthouse-core/audits/work-during-interaction.js +0 -280
  1223. package/lighthouse-core/computed/computed-artifact.js +0 -62
  1224. package/lighthouse-core/computed/critical-request-chains.js +0 -146
  1225. package/lighthouse-core/computed/image-records.js +0 -63
  1226. package/lighthouse-core/computed/js-bundles.js +0 -119
  1227. package/lighthouse-core/computed/load-simulator.js +0 -92
  1228. package/lighthouse-core/computed/main-resource.js +0 -34
  1229. package/lighthouse-core/computed/main-thread-tasks.js +0 -25
  1230. package/lighthouse-core/computed/manifest-values.js +0 -135
  1231. package/lighthouse-core/computed/metrics/cumulative-layout-shift.js +0 -129
  1232. package/lighthouse-core/computed/metrics/first-contentful-paint-all-frames.js +0 -37
  1233. package/lighthouse-core/computed/metrics/first-contentful-paint.js +0 -40
  1234. package/lighthouse-core/computed/metrics/first-meaningful-paint.js +0 -44
  1235. package/lighthouse-core/computed/metrics/interactive.js +0 -193
  1236. package/lighthouse-core/computed/metrics/lantern-first-contentful-paint.js +0 -204
  1237. package/lighthouse-core/computed/metrics/lantern-first-meaningful-paint.js +0 -83
  1238. package/lighthouse-core/computed/metrics/lantern-interactive.js +0 -113
  1239. package/lighthouse-core/computed/metrics/lantern-largest-contentful-paint.js +0 -111
  1240. package/lighthouse-core/computed/metrics/lantern-max-potential-fid.js +0 -93
  1241. package/lighthouse-core/computed/metrics/lantern-metric.js +0 -167
  1242. package/lighthouse-core/computed/metrics/lantern-speed-index.js +0 -150
  1243. package/lighthouse-core/computed/metrics/lantern-total-blocking-time.js +0 -126
  1244. package/lighthouse-core/computed/metrics/largest-contentful-paint-all-frames.js +0 -45
  1245. package/lighthouse-core/computed/metrics/largest-contentful-paint.js +0 -52
  1246. package/lighthouse-core/computed/metrics/max-potential-fid.js +0 -45
  1247. package/lighthouse-core/computed/metrics/metric.js +0 -100
  1248. package/lighthouse-core/computed/metrics/navigation-metric.js +0 -46
  1249. package/lighthouse-core/computed/metrics/responsiveness.js +0 -157
  1250. package/lighthouse-core/computed/metrics/speed-index.js +0 -40
  1251. package/lighthouse-core/computed/metrics/tbt-utils.js +0 -57
  1252. package/lighthouse-core/computed/metrics/timing-summary.js +0 -150
  1253. package/lighthouse-core/computed/metrics/total-blocking-time.js +0 -74
  1254. package/lighthouse-core/computed/module-duplication.js +0 -136
  1255. package/lighthouse-core/computed/network-analysis.js +0 -64
  1256. package/lighthouse-core/computed/network-records.js +0 -21
  1257. package/lighthouse-core/computed/page-dependency-graph.js +0 -488
  1258. package/lighthouse-core/computed/processed-navigation.js +0 -21
  1259. package/lighthouse-core/computed/processed-trace.js +0 -21
  1260. package/lighthouse-core/computed/resource-summary.js +0 -114
  1261. package/lighthouse-core/computed/screenshots.js +0 -29
  1262. package/lighthouse-core/computed/speedline.js +0 -54
  1263. package/lighthouse-core/computed/trace-of-tab.js +0 -30
  1264. package/lighthouse-core/computed/unused-css.js +0 -154
  1265. package/lighthouse-core/computed/unused-javascript-summary.js +0 -175
  1266. package/lighthouse-core/computed/user-timings.js +0 -83
  1267. package/lighthouse-core/computed/viewport-meta.js +0 -56
  1268. package/lighthouse-core/config/budget.js +0 -341
  1269. package/lighthouse-core/config/config-helpers.js +0 -590
  1270. package/lighthouse-core/config/config-plugin.js +0 -225
  1271. package/lighthouse-core/config/config.js +0 -544
  1272. package/lighthouse-core/config/constants.js +0 -169
  1273. package/lighthouse-core/config/default-config.js +0 -632
  1274. package/lighthouse-core/config/desktop-config.js +0 -21
  1275. package/lighthouse-core/config/experimental-config.js +0 -30
  1276. package/lighthouse-core/config/full-config.js +0 -14
  1277. package/lighthouse-core/config/lr-desktop-config.js +0 -25
  1278. package/lighthouse-core/config/lr-mobile-config.js +0 -31
  1279. package/lighthouse-core/config/metrics-to-audits.js +0 -61
  1280. package/lighthouse-core/config/perf-config.js +0 -17
  1281. package/lighthouse-core/fraggle-rock/api.js +0 -77
  1282. package/lighthouse-core/fraggle-rock/config/config.js +0 -281
  1283. package/lighthouse-core/fraggle-rock/config/default-config.js +0 -205
  1284. package/lighthouse-core/fraggle-rock/config/filters.js +0 -335
  1285. package/lighthouse-core/fraggle-rock/config/validation.js +0 -313
  1286. package/lighthouse-core/fraggle-rock/gather/base-artifacts.js +0 -99
  1287. package/lighthouse-core/fraggle-rock/gather/base-gatherer.js +0 -107
  1288. package/lighthouse-core/fraggle-rock/gather/driver.js +0 -88
  1289. package/lighthouse-core/fraggle-rock/gather/navigation-runner.js +0 -339
  1290. package/lighthouse-core/fraggle-rock/gather/runner-helpers.js +0 -160
  1291. package/lighthouse-core/fraggle-rock/gather/session.js +0 -182
  1292. package/lighthouse-core/fraggle-rock/gather/snapshot-runner.js +0 -68
  1293. package/lighthouse-core/fraggle-rock/gather/timespan-runner.js +0 -82
  1294. package/lighthouse-core/fraggle-rock/user-flow.js +0 -229
  1295. package/lighthouse-core/gather/connections/connection.js +0 -179
  1296. package/lighthouse-core/gather/connections/cri.js +0 -171
  1297. package/lighthouse-core/gather/connections/raw.js +0 -58
  1298. package/lighthouse-core/gather/devtools-log.js +0 -61
  1299. package/lighthouse-core/gather/driver/dom.js +0 -58
  1300. package/lighthouse-core/gather/driver/environment.js +0 -105
  1301. package/lighthouse-core/gather/driver/execution-context.js +0 -249
  1302. package/lighthouse-core/gather/driver/navigation.js +0 -179
  1303. package/lighthouse-core/gather/driver/network-monitor.js +0 -290
  1304. package/lighthouse-core/gather/driver/network.js +0 -28
  1305. package/lighthouse-core/gather/driver/prepare.js +0 -226
  1306. package/lighthouse-core/gather/driver/service-workers.js +0 -53
  1307. package/lighthouse-core/gather/driver/storage.js +0 -125
  1308. package/lighthouse-core/gather/driver/target-manager.js +0 -125
  1309. package/lighthouse-core/gather/driver/wait-for-condition.js +0 -535
  1310. package/lighthouse-core/gather/driver.js +0 -482
  1311. package/lighthouse-core/gather/fetcher.js +0 -318
  1312. package/lighthouse-core/gather/gather-runner.js +0 -622
  1313. package/lighthouse-core/gather/gatherers/accessibility.js +0 -172
  1314. package/lighthouse-core/gather/gatherers/anchor-elements.js +0 -133
  1315. package/lighthouse-core/gather/gatherers/cache-contents.js +0 -59
  1316. package/lighthouse-core/gather/gatherers/console-messages.js +0 -173
  1317. package/lighthouse-core/gather/gatherers/css-usage.js +0 -149
  1318. package/lighthouse-core/gather/gatherers/devtools-log-compat.js +0 -36
  1319. package/lighthouse-core/gather/gatherers/devtools-log.js +0 -66
  1320. package/lighthouse-core/gather/gatherers/dobetterweb/doctype.js +0 -46
  1321. package/lighthouse-core/gather/gatherers/dobetterweb/domstats.js +0 -103
  1322. package/lighthouse-core/gather/gatherers/dobetterweb/optimized-images.js +0 -192
  1323. package/lighthouse-core/gather/gatherers/dobetterweb/password-inputs-with-prevented-paste.js +0 -50
  1324. package/lighthouse-core/gather/gatherers/dobetterweb/response-compression.js +0 -154
  1325. package/lighthouse-core/gather/gatherers/dobetterweb/tags-blocking-first-paint.js +0 -238
  1326. package/lighthouse-core/gather/gatherers/full-page-screenshot.js +0 -235
  1327. package/lighthouse-core/gather/gatherers/gatherer.js +0 -59
  1328. package/lighthouse-core/gather/gatherers/global-listeners.js +0 -92
  1329. package/lighthouse-core/gather/gatherers/iframe-elements.js +0 -65
  1330. package/lighthouse-core/gather/gatherers/image-elements.js +0 -375
  1331. package/lighthouse-core/gather/gatherers/inputs.js +0 -113
  1332. package/lighthouse-core/gather/gatherers/inspector-issues.js +0 -127
  1333. package/lighthouse-core/gather/gatherers/installability-errors.js +0 -48
  1334. package/lighthouse-core/gather/gatherers/js-usage.js +0 -145
  1335. package/lighthouse-core/gather/gatherers/link-elements.js +0 -184
  1336. package/lighthouse-core/gather/gatherers/main-document-content.js +0 -56
  1337. package/lighthouse-core/gather/gatherers/meta-elements.js +0 -68
  1338. package/lighthouse-core/gather/gatherers/network-user-agent.js +0 -42
  1339. package/lighthouse-core/gather/gatherers/script-elements.js +0 -160
  1340. package/lighthouse-core/gather/gatherers/seo/embedded-content.js +0 -64
  1341. package/lighthouse-core/gather/gatherers/seo/font-size.js +0 -380
  1342. package/lighthouse-core/gather/gatherers/seo/robots-txt.js +0 -56
  1343. package/lighthouse-core/gather/gatherers/seo/tap-targets.js +0 -370
  1344. package/lighthouse-core/gather/gatherers/service-worker.js +0 -45
  1345. package/lighthouse-core/gather/gatherers/source-maps.js +0 -150
  1346. package/lighthouse-core/gather/gatherers/stacks.js +0 -125
  1347. package/lighthouse-core/gather/gatherers/trace-compat.js +0 -36
  1348. package/lighthouse-core/gather/gatherers/trace-elements.js +0 -349
  1349. package/lighthouse-core/gather/gatherers/trace.js +0 -131
  1350. package/lighthouse-core/gather/gatherers/viewport-dimensions.js +0 -58
  1351. package/lighthouse-core/gather/gatherers/web-app-manifest.js +0 -102
  1352. package/lighthouse-core/index.js +0 -80
  1353. package/lighthouse-core/lib/arbitrary-equality-map.js +0 -81
  1354. package/lighthouse-core/lib/asset-saver.js +0 -341
  1355. package/lighthouse-core/lib/axe.js +0 -13
  1356. package/lighthouse-core/lib/cdt/Platform.js +0 -55
  1357. package/lighthouse-core/lib/cdt/SDK.js +0 -28
  1358. package/lighthouse-core/lib/cdt/generated/SourceMap.js +0 -346
  1359. package/lighthouse-core/lib/csp-evaluator.js +0 -173
  1360. package/lighthouse-core/lib/dependency-graph/base-node.js +0 -363
  1361. package/lighthouse-core/lib/dependency-graph/cpu-node.js +0 -86
  1362. package/lighthouse-core/lib/dependency-graph/network-node.js +0 -99
  1363. package/lighthouse-core/lib/dependency-graph/simulator/connection-pool.js +0 -171
  1364. package/lighthouse-core/lib/dependency-graph/simulator/dns-cache.js +0 -73
  1365. package/lighthouse-core/lib/dependency-graph/simulator/network-analyzer.js +0 -498
  1366. package/lighthouse-core/lib/dependency-graph/simulator/simulator-timing-map.js +0 -212
  1367. package/lighthouse-core/lib/dependency-graph/simulator/simulator.js +0 -523
  1368. package/lighthouse-core/lib/dependency-graph/simulator/tcp-connection.js +0 -206
  1369. package/lighthouse-core/lib/emulation.js +0 -164
  1370. package/lighthouse-core/lib/i18n/README.md +0 -273
  1371. package/lighthouse-core/lib/i18n/i18n.js +0 -221
  1372. package/lighthouse-core/lib/icons.js +0 -85
  1373. package/lighthouse-core/lib/lantern-trace-saver.js +0 -198
  1374. package/lighthouse-core/lib/lh-env.js +0 -14
  1375. package/lighthouse-core/lib/lh-error.js +0 -421
  1376. package/lighthouse-core/lib/lh-trace-processor.js +0 -46
  1377. package/lighthouse-core/lib/manifest-parser.js +0 -513
  1378. package/lighthouse-core/lib/median-run.js +0 -92
  1379. package/lighthouse-core/lib/minification-estimator.js +0 -193
  1380. package/lighthouse-core/lib/minify-devtoolslog.js +0 -87
  1381. package/lighthouse-core/lib/minify-trace.js +0 -173
  1382. package/lighthouse-core/lib/navigation-error.js +0 -145
  1383. package/lighthouse-core/lib/network-recorder.js +0 -337
  1384. package/lighthouse-core/lib/network-request.js +0 -540
  1385. package/lighthouse-core/lib/page-functions.js +0 -559
  1386. package/lighthouse-core/lib/proto-preprocessor.js +0 -133
  1387. package/lighthouse-core/lib/rect-helpers.js +0 -252
  1388. package/lighthouse-core/lib/script-helpers.js +0 -24
  1389. package/lighthouse-core/lib/sentry.js +0 -144
  1390. package/lighthouse-core/lib/stack-packs.js +0 -120
  1391. package/lighthouse-core/lib/statistics.js +0 -104
  1392. package/lighthouse-core/lib/tappable-rects.js +0 -99
  1393. package/lighthouse-core/lib/third-party-web.js +0 -53
  1394. package/lighthouse-core/lib/timing-trace-saver.js +0 -97
  1395. package/lighthouse-core/lib/tracehouse/cpu-profile-model.js +0 -592
  1396. package/lighthouse-core/lib/tracehouse/main-thread-tasks.js +0 -688
  1397. package/lighthouse-core/lib/tracehouse/task-groups.js +0 -112
  1398. package/lighthouse-core/lib/tracehouse/task-summary.js +0 -87
  1399. package/lighthouse-core/lib/tracehouse/trace-processor.js +0 -962
  1400. package/lighthouse-core/lib/traces/pwmetrics-events.js +0 -200
  1401. package/lighthouse-core/lib/url-shim.js +0 -274
  1402. package/lighthouse-core/runner.js +0 -518
  1403. package/lighthouse-core/scoring.js +0 -93
  1404. package/lighthouse-core/scripts/download-chrome.sh +0 -36
  1405. package/lighthouse-core/scripts/manual-chrome-launcher.js +0 -51
  1406. package/lighthouse-core/scripts/package.json +0 -4
  1407. package/lighthouse-core/util-commonjs.js +0 -708
  1408. package/now.json +0 -14
  1409. package/report/.eslintrc.cjs +0 -35
  1410. package/report/generator/package.json +0 -4
  1411. package/report/package.json +0 -4
  1412. package/report/renderer/i18n.js +0 -198
  1413. package/report/renderer/util.js +0 -705
  1414. package/report/test/generator/package.json +0 -4
  1415. package/report/test/renderer/i18n-test.js +0 -140
  1416. package/report/test/renderer/util-test.js +0 -479
  1417. package/report/test-assets/faux-psi-template.html +0 -177
  1418. package/report/test-assets/faux-psi.js +0 -153
  1419. package/third-party/snyk/snapshot.json +0 -182
  1420. package/types/cssstyle/index.d.ts +0 -23
  1421. package/types/global-lh.d.ts +0 -81
  1422. package/types/jest.d.ts +0 -25
  1423. package/types/jsonld/index.d.ts +0 -19
  1424. package/types/lhr/flow.d.ts +0 -32
  1425. package/types/lighthouse-logger/index.d.ts +0 -33
  1426. package/types/lookup-closest-locale/index.d.ts +0 -11
  1427. package/types/node.d.ts +0 -12
  1428. package/types/query-selector.d.ts +0 -36
  1429. package/types/smokehouse.d.ts +0 -80
  1430. package/types/structured-data.d.ts +0 -36
@@ -1,346 +0,0 @@
1
- // @ts-nocheck
2
- // generated by yarn build-cdt-lib
3
- const Platform = require('../Platform.js');
4
- "use strict";
5
- /*
6
- * Copyright (C) 2012 Google Inc. All rights reserved.
7
- *
8
- * Redistribution and use in source and binary forms, with or without
9
- * modification, are permitted provided that the following conditions are
10
- * met:
11
- *
12
- * * Redistributions of source code must retain the above copyright
13
- * notice, this list of conditions and the following disclaimer.
14
- * * Redistributions in binary form must reproduce the above
15
- * copyright notice, this list of conditions and the following disclaimer
16
- * in the documentation and/or other materials provided with the
17
- * distribution.
18
- * * Neither the name of Google Inc. nor the names of its
19
- * contributors may be used to endorse or promote products derived from
20
- * this software without specific prior written permission.
21
- *
22
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
26
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
27
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
28
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33
- */
34
- Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.TextSourceMap = exports.SourceMapEntry = exports.Offset = exports.Section = exports.SourceMapV3 = void 0;
36
- ;
37
- ;
38
- ;
39
- ;
40
- ;
41
- ;
42
- ;
43
- ;
44
- ;
45
- class SourceMapV3 {
46
- constructor() {
47
- }
48
- }
49
- exports.SourceMapV3 = SourceMapV3;
50
- class Section {
51
- constructor() {
52
- }
53
- }
54
- exports.Section = Section;
55
- class Offset {
56
- constructor() {
57
- }
58
- }
59
- exports.Offset = Offset;
60
- class SourceMapEntry {
61
- constructor(lineNumber, columnNumber, sourceURL, sourceLineNumber, sourceColumnNumber, name) {
62
- this.lineNumber = lineNumber;
63
- this.columnNumber = columnNumber;
64
- this.sourceURL = sourceURL;
65
- this.sourceLineNumber = sourceLineNumber;
66
- this.sourceColumnNumber = sourceColumnNumber;
67
- this.name = name;
68
- }
69
- static compare(entry1, entry2) {
70
- if (entry1.lineNumber !== entry2.lineNumber) {
71
- return entry1.lineNumber - entry2.lineNumber;
72
- }
73
- return entry1.columnNumber - entry2.columnNumber;
74
- }
75
- }
76
- exports.SourceMapEntry = SourceMapEntry;
77
- const base64Digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
78
- const base64Map = new Map();
79
- for (let i = 0; i < base64Digits.length; ++i) {
80
- base64Map.set(base64Digits.charAt(i), i);
81
- }
82
- const sourceMapToSourceList = new WeakMap();
83
- class TextSourceMap {
84
- /**
85
- * Implements Source Map V3 model. See https://github.com/google/closure-compiler/wiki/Source-Maps
86
- * for format description.
87
- */
88
- constructor(compiledURL, sourceMappingURL, payload, initiator) {
89
- this.initiator = initiator;
90
- this.json = payload;
91
- this.compiledURLInternal = compiledURL;
92
- this.sourceMappingURL = sourceMappingURL;
93
- this.baseURL = sourceMappingURL.startsWith('data:') ? compiledURL : sourceMappingURL;
94
- this.mappingsInternal = null;
95
- this.sourceInfos = new Map();
96
- if (this.json.sections) {
97
- const sectionWithURL = Boolean(this.json.sections.find(section => Boolean(section.url)));
98
- if (sectionWithURL) {
99
- console.warn(`SourceMap "${sourceMappingURL}" contains unsupported "URL" field in one of its sections.`);
100
- }
101
- }
102
- this.eachSection(this.parseSources.bind(this));
103
- }
104
- compiledURL() {
105
- return this.compiledURLInternal;
106
- }
107
- url() {
108
- return this.sourceMappingURL;
109
- }
110
- sourceURLs() {
111
- return [...this.sourceInfos.keys()];
112
- }
113
- embeddedContentByURL(sourceURL) {
114
- const entry = this.sourceInfos.get(sourceURL);
115
- if (!entry) {
116
- return null;
117
- }
118
- return entry.content;
119
- }
120
- findEntry(lineNumber, columnNumber) {
121
- const mappings = this.mappings();
122
- const index = Platform.ArrayUtilities.upperBound(mappings, undefined, (unused, entry) => lineNumber - entry.lineNumber || columnNumber - entry.columnNumber);
123
- return index ? mappings[index - 1] : null;
124
- }
125
- sourceLineMapping(sourceURL, lineNumber, columnNumber) {
126
- const mappings = this.reversedMappings(sourceURL);
127
- const first = Platform.ArrayUtilities.lowerBound(mappings, lineNumber, lineComparator);
128
- const last = Platform.ArrayUtilities.upperBound(mappings, lineNumber, lineComparator);
129
- if (first >= mappings.length || mappings[first].sourceLineNumber !== lineNumber) {
130
- return null;
131
- }
132
- const columnMappings = mappings.slice(first, last);
133
- if (!columnMappings.length) {
134
- return null;
135
- }
136
- const index = Platform.ArrayUtilities.lowerBound(columnMappings, columnNumber, (columnNumber, mapping) => columnNumber - mapping.sourceColumnNumber);
137
- return index >= columnMappings.length ? columnMappings[columnMappings.length - 1] : columnMappings[index];
138
- function lineComparator(lineNumber, mapping) {
139
- return lineNumber - mapping.sourceLineNumber;
140
- }
141
- }
142
- findReverseEntries(sourceURL, lineNumber, columnNumber) {
143
- const mappings = this.reversedMappings(sourceURL);
144
- const endIndex = Platform.ArrayUtilities.upperBound(mappings, undefined, (unused, entry) => lineNumber - entry.sourceLineNumber || columnNumber - entry.sourceColumnNumber);
145
- let startIndex = endIndex;
146
- while (startIndex > 0 && mappings[startIndex - 1].sourceLineNumber === mappings[endIndex - 1].sourceLineNumber &&
147
- mappings[startIndex - 1].sourceColumnNumber === mappings[endIndex - 1].sourceColumnNumber) {
148
- --startIndex;
149
- }
150
- return mappings.slice(startIndex, endIndex);
151
- }
152
- /** @return {Array<{lineNumber: number, columnNumber: number, sourceURL?: string, sourceLineNumber, sourceColumnNumber: number, name?: string, lastColumnNumber?: number}>} */
153
- mappings() {
154
- if (this.mappingsInternal === null) {
155
- this.mappingsInternal = [];
156
- this.eachSection(this.parseMap.bind(this));
157
- this.json = null;
158
- }
159
- return /** @type {!Array<!SourceMapEntry>} */ this.mappingsInternal;
160
- }
161
- reversedMappings(sourceURL) {
162
- const info = this.sourceInfos.get(sourceURL);
163
- if (!info) {
164
- return [];
165
- }
166
- const mappings = this.mappings();
167
- if (info.reverseMappings === null) {
168
- info.reverseMappings = mappings.filter(mapping => mapping.sourceURL === sourceURL).sort(sourceMappingComparator);
169
- }
170
- return info.reverseMappings;
171
- function sourceMappingComparator(a, b) {
172
- if (a.sourceLineNumber !== b.sourceLineNumber) {
173
- return a.sourceLineNumber - b.sourceLineNumber;
174
- }
175
- if (a.sourceColumnNumber !== b.sourceColumnNumber) {
176
- return a.sourceColumnNumber - b.sourceColumnNumber;
177
- }
178
- if (a.lineNumber !== b.lineNumber) {
179
- return a.lineNumber - b.lineNumber;
180
- }
181
- return a.columnNumber - b.columnNumber;
182
- }
183
- }
184
- eachSection(callback) {
185
- if (!this.json) {
186
- return;
187
- }
188
- if (!this.json.sections) {
189
- callback(this.json, 0, 0);
190
- return;
191
- }
192
- for (const section of this.json.sections) {
193
- callback(section.map, section.offset.line, section.offset.column);
194
- }
195
- }
196
- parseSources(sourceMap) {
197
- const sourcesList = [];
198
- let sourceRoot = sourceMap.sourceRoot || '';
199
- if (sourceRoot && !sourceRoot.endsWith('/')) {
200
- sourceRoot += '/';
201
- }
202
- for (let i = 0; i < sourceMap.sources.length; ++i) {
203
- const href = sourceRoot + sourceMap.sources[i];
204
- let url = '' || href;
205
- const source = sourceMap.sourcesContent && sourceMap.sourcesContent[i];
206
- if (url === this.compiledURLInternal && source) {
207
- }
208
- this.sourceInfos.set(url, new TextSourceMap.SourceInfo(source || null, null));
209
- sourcesList.push(url);
210
- }
211
- sourceMapToSourceList.set(sourceMap, sourcesList);
212
- }
213
- parseMap(map, lineNumber, columnNumber) {
214
- let sourceIndex = 0;
215
- let sourceLineNumber = 0;
216
- let sourceColumnNumber = 0;
217
- let nameIndex = 0;
218
- // TODO(crbug.com/1011811): refactor away map.
219
- // `sources` can be undefined if it wasn't previously
220
- // processed and added to the list. However, that
221
- // is not WAI and we should make sure that we can
222
- // only reach this point when we are certain
223
- // we have the list available.
224
- const sources = sourceMapToSourceList.get(map);
225
- const names = map.names || [];
226
- const stringCharIterator = new TextSourceMap.StringCharIterator(map.mappings);
227
- let sourceURL = sources && sources[sourceIndex];
228
- while (true) {
229
- if (stringCharIterator.peek() === ',') {
230
- stringCharIterator.next();
231
- }
232
- else {
233
- while (stringCharIterator.peek() === ';') {
234
- lineNumber += 1;
235
- columnNumber = 0;
236
- stringCharIterator.next();
237
- }
238
- if (!stringCharIterator.hasNext()) {
239
- break;
240
- }
241
- }
242
- columnNumber += this.decodeVLQ(stringCharIterator);
243
- if (!stringCharIterator.hasNext() || this.isSeparator(stringCharIterator.peek())) {
244
- this.mappings().push(new SourceMapEntry(lineNumber, columnNumber));
245
- continue;
246
- }
247
- const sourceIndexDelta = this.decodeVLQ(stringCharIterator);
248
- if (sourceIndexDelta) {
249
- sourceIndex += sourceIndexDelta;
250
- if (sources) {
251
- sourceURL = sources[sourceIndex];
252
- }
253
- }
254
- sourceLineNumber += this.decodeVLQ(stringCharIterator);
255
- sourceColumnNumber += this.decodeVLQ(stringCharIterator);
256
- if (!stringCharIterator.hasNext() || this.isSeparator(stringCharIterator.peek())) {
257
- this.mappings().push(new SourceMapEntry(lineNumber, columnNumber, sourceURL, sourceLineNumber, sourceColumnNumber));
258
- continue;
259
- }
260
- nameIndex += this.decodeVLQ(stringCharIterator);
261
- this.mappings().push(new SourceMapEntry(lineNumber, columnNumber, sourceURL, sourceLineNumber, sourceColumnNumber, names[nameIndex]));
262
- }
263
- // As per spec, mappings are not necessarily sorted.
264
- this.mappings().sort(SourceMapEntry.compare);
265
- }
266
- isSeparator(char) {
267
- return char === ',' || char === ';';
268
- }
269
- decodeVLQ(stringCharIterator) {
270
- // Read unsigned value.
271
- let result = 0;
272
- let shift = 0;
273
- let digit = TextSourceMap._VLQ_CONTINUATION_MASK;
274
- while (digit & TextSourceMap._VLQ_CONTINUATION_MASK) {
275
- digit = base64Map.get(stringCharIterator.next()) || 0;
276
- result += (digit & TextSourceMap._VLQ_BASE_MASK) << shift;
277
- shift += TextSourceMap._VLQ_BASE_SHIFT;
278
- }
279
- // Fix the sign.
280
- const negative = result & 1;
281
- result >>= 1;
282
- return negative ? -result : result;
283
- }
284
- reverseMapTextRange(url, textRange) {
285
- function comparator(position, mapping) {
286
- if (position.lineNumber !== mapping.sourceLineNumber) {
287
- return position.lineNumber - mapping.sourceLineNumber;
288
- }
289
- return position.columnNumber - mapping.sourceColumnNumber;
290
- }
291
- const mappings = this.reversedMappings(url);
292
- if (!mappings.length) {
293
- return null;
294
- }
295
- const startIndex = Platform.ArrayUtilities.lowerBound(mappings, { lineNumber: textRange.startLine, columnNumber: textRange.startColumn }, comparator);
296
- const endIndex = Platform.ArrayUtilities.upperBound(mappings, { lineNumber: textRange.endLine, columnNumber: textRange.endColumn }, comparator);
297
- const startMapping = mappings[startIndex];
298
- const endMapping = mappings[endIndex];
299
- return new TextUtils.TextRange.TextRange(startMapping.lineNumber, startMapping.columnNumber, endMapping.lineNumber, endMapping.columnNumber);
300
- }
301
- mapsOrigin() {
302
- const mappings = this.mappings();
303
- if (mappings.length > 0) {
304
- const firstEntry = mappings[0];
305
- return (firstEntry === null || firstEntry === void 0 ? void 0 : firstEntry.lineNumber) === 0 || firstEntry.columnNumber === 0;
306
- }
307
- return false;
308
- }
309
- }
310
- exports.TextSourceMap = TextSourceMap;
311
- (function (TextSourceMap) {
312
- // TODO(crbug.com/1172300) Ignored during the jsdoc to ts migration
313
- // eslint-disable-next-line @typescript-eslint/naming-convention
314
- TextSourceMap._VLQ_BASE_SHIFT = 5;
315
- // TODO(crbug.com/1172300) Ignored during the jsdoc to ts migration
316
- // eslint-disable-next-line @typescript-eslint/naming-convention
317
- TextSourceMap._VLQ_BASE_MASK = (1 << 5) - 1;
318
- // TODO(crbug.com/1172300) Ignored during the jsdoc to ts migration
319
- // eslint-disable-next-line @typescript-eslint/naming-convention
320
- TextSourceMap._VLQ_CONTINUATION_MASK = 1 << 5;
321
- class StringCharIterator {
322
- constructor(string) {
323
- this.string = string;
324
- this.position = 0;
325
- }
326
- next() {
327
- return this.string.charAt(this.position++);
328
- }
329
- peek() {
330
- return this.string.charAt(this.position);
331
- }
332
- hasNext() {
333
- return this.position < this.string.length;
334
- }
335
- }
336
- TextSourceMap.StringCharIterator = StringCharIterator;
337
- class SourceInfo {
338
- constructor(content, reverseMappings) {
339
- this.content = content;
340
- this.reverseMappings = reverseMappings;
341
- }
342
- }
343
- TextSourceMap.SourceInfo = SourceInfo;
344
- })(TextSourceMap = exports.TextSourceMap || (exports.TextSourceMap = {}));
345
-
346
- module.exports = TextSourceMap;
@@ -1,173 +0,0 @@
1
- /**
2
- * @license Copyright 2021 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
- /** @typedef {import('csp_evaluator/finding').Finding} Finding */
9
-
10
- const {
11
- evaluateForFailure,
12
- evaluateForSyntaxErrors,
13
- evaluateForWarnings,
14
- } = require('csp_evaluator/dist/lighthouse/lighthouse_checks.js');
15
- const {Type} = require('csp_evaluator/dist/finding.js');
16
- const {CspParser} = require('csp_evaluator/dist/parser.js');
17
- const {Directive} = require('csp_evaluator/dist/csp.js');
18
-
19
- const log = require('lighthouse-logger');
20
- const i18n = require('../lib/i18n/i18n.js');
21
- const {isIcuMessage} = require('../../shared/localization/format.js');
22
-
23
- const UIStrings = {
24
- /** Message shown when a CSP does not have a base-uri directive. Shown in a table with a list of other CSP vulnerabilities and suggestions. "CSP" stands for "Content Security Policy". "base-uri", "'none'", and "'self'" do not need to be translated. */
25
- missingBaseUri: 'Missing base-uri allows injected <base> tags to set the base URL for all ' +
26
- 'relative URLs (e.g. scripts) to an attacker controlled domain. ' +
27
- 'Consider setting base-uri to \'none\' or \'self\'.',
28
- /** Message shown when a CSP does not have a script-src directive. Shown in a table with a list of other CSP vulnerabilities and suggestions. "CSP" stands for "Content Security Policy". "script-src" does not need to be translated. */
29
- missingScriptSrc: 'script-src directive is missing. ' +
30
- 'This can allow the execution of unsafe scripts.',
31
- /** Message shown when a CSP does not have a script-src directive. Shown in a table with a list of other CSP vulnerabilities and suggestions. "CSP" stands for "Content Security Policy". "object-src" and "'none'" do not need to be translated. */
32
- missingObjectSrc: 'Missing object-src allows the injection of plugins ' +
33
- 'that execute unsafe scripts. Consider setting object-src to \'none\' if you can.',
34
- /** Message shown when a CSP uses a domain allowlist to filter out malicious scripts. Shown in a table with a list of other CSP vulnerabilities and suggestions. "CSP" stands for "Content Security Policy". "CSP", "'strict-dynamic'", "nonces", and "hashes" do not need to be translated. "allowlists" can be interpreted as "whitelist". */
35
- strictDynamic: 'Host allowlists can frequently be bypassed. Consider using ' +
36
- 'CSP nonces or hashes instead, along with \'strict-dynamic\' if necessary.',
37
- /** Message shown when a CSP allows inline scripts to be run in the page. Shown in a table with a list of other CSP vulnerabilities and suggestions. "CSP" stands for "Content Security Policy". "CSP", "'unsafe-inline'", "nonces", and "hashes" do not need to be translated. */
38
- unsafeInline: '\'unsafe-inline\' allows the execution of unsafe in-page scripts ' +
39
- 'and event handlers. Consider using CSP nonces or hashes to allow scripts individually.',
40
- /** Message shown when a CSP is not backwards compatible with browsers that do not support CSP nonces/hashes. Shown in a table with a list of other CSP vulnerabilities and suggestions. "CSP" stands for "Content Security Policy". "'unsafe-inline'", "nonces", and "hashes" do not need to be translated. */
41
- unsafeInlineFallback: 'Consider adding \'unsafe-inline\' (ignored by browsers supporting ' +
42
- 'nonces/hashes) to be backward compatible with older browsers.',
43
- /** Message shown when a CSP is not backwards compatible with browsers that do not support the 'strict-dynamic' keyword. Shown in a table with a list of other CSP vulnerabilities and suggestions. "CSP" stands for "Content Security Policy". "http:", "https:", and "'strict-dynamic'" do not need to be translated. */
44
- allowlistFallback: 'Consider adding https: and http: URL schemes (ignored by browsers ' +
45
- 'supporting \'strict-dynamic\') to be backward compatible with older browsers.',
46
- /** Message shown when a CSP only provides a reporting destination through the report-to directive. Shown in a table with a list of other CSP vulnerabilities and suggestions. "CSP" stands for "Content Security Policy". "report-to", "report-uri", and "Chromium" do not need to be translated. */
47
- reportToOnly: 'The reporting destination is only configured via the report-to directive. ' +
48
- 'This directive is only supported in Chromium-based browsers so it is ' +
49
- 'recommended to also use a report-uri directive.',
50
- /** Message shown when a CSP does not provide a reporting destination. Shown in a table with a list of other CSP vulnerabilities and suggestions. "CSP" stands for "Content Security Policy". "CSP" does not need to be translated. */
51
- reportingDestinationMissing: 'No CSP configures a reporting destination. ' +
52
- 'This makes it difficult to maintain the CSP over time and monitor for any breakages.',
53
- /** Message shown when a CSP nonce has less than 8 characters. Shown in a table with a list of other CSP vulnerabilities and suggestions. "CSP" stands for "Content Security Policy". "Nonces" does not need to be translated. */
54
- nonceLength: 'Nonces should be at least 8 characters long.',
55
- /** Message shown when a CSP nonce does not use teh base64 charset. Shown in a table with a list of other CSP vulnerabilities and suggestions. "CSP" stands for "Content Security Policy". "Nonces" and "base84" do not need to be translated. "charset" can be interpreted as "a set of characters". */
56
- nonceCharset: 'Nonces should use the base64 charset.',
57
- /**
58
- * @description Message shown when a CSP is missing a semicolon. Shown in a table with a list of other CSP vulnerabilities and suggestions. "CSP" stands for "Content Security Policy".
59
- * @example {'object-src'} keyword
60
- */
61
- missingSemicolon: 'Did you forget the semicolon? ' +
62
- '{keyword} seems to be a directive, not a keyword.',
63
- /** Message shown when a CSP contains an unknown keyword. Shown in a table with a list of other CSP vulnerabilities and suggestions. "CSP" stands for "Content Security Policy". "CSP" does not need to be translated. */
64
- unknownDirective: 'Unknown CSP directive.',
65
- /**
66
- * @description Message shown when a CSP contains an invalid keyword. Shown in a table with a list of other CSP vulnerabilities and suggestions. "CSP" stands for "Content Security Policy".
67
- * @example {'invalid-keyword'} keyword
68
- */
69
- unknownKeyword: '{keyword} seems to be an invalid keyword.',
70
- /** Message shown when a CSP uses the deprecated reflected-xss directive. Shown in a table with a list of other CSP vulnerabilities and suggestions. "CSP" stands for "Content Security Policy". "reflected-xss", "CSP2" and "X-XSS-Protection" do not need to be translated. */
71
- deprecatedReflectedXSS: 'reflected-xss is deprecated since CSP2. ' +
72
- 'Please, use the X-XSS-Protection header instead.',
73
- /** Message shown when a CSP uses the deprecated referrer directive. Shown in a table with a list of other CSP vulnerabilities and suggestions. "CSP" stands for "Content Security Policy". "referrer", "CSP2" and "Referrer-Policy" do not need to be translated. */
74
- deprecatedReferrer: 'referrer is deprecated since CSP2. ' +
75
- 'Please, use the Referrer-Policy header instead.',
76
- /** Message shown when a CSP uses the deprecated disown-opener directive. Shown in a table with a list of other CSP vulnerabilities and suggestions. "CSP" stands for "Content Security Policy". "disown-opener", "CSP3" and "Cross-Origin-Opener-Policy" do not need to be translated. */
77
- deprecatedDisownOpener: 'disown-opener is deprecated since CSP3. ' +
78
- 'Please, use the Cross-Origin-Opener-Policy header instead.',
79
- /**
80
- * @description Message shown when a CSP wildcard allows unsafe scripts to be run in the page. Shown in a table with a list of other CSP vulnerabilities and suggestions. "CSP" stands for "Content Security Policy".
81
- * @example {*} keyword
82
- */
83
- plainWildcards: 'Avoid using plain wildcards ({keyword}) in this directive. ' +
84
- 'Plain wildcards allow scripts to be sourced from an unsafe domain.',
85
- /**
86
- * @description Message shown when a CSP URL scheme allows unsafe scripts to be run in the page. Shown in a table with a list of other CSP vulnerabilities and suggestions. "CSP" stands for "Content Security Policy".
87
- * @example {https:} keyword
88
- */
89
- plainUrlScheme: 'Avoid using plain URL schemes ({keyword}) in this directive. ' +
90
- 'Plain URL schemes allow scripts to be sourced from an unsafe domain.',
91
- };
92
-
93
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
94
-
95
- /** @type {Record<number, string|LH.IcuMessage|Record<string, LH.IcuMessage>>} */
96
- const FINDING_TO_UI_STRING = {
97
- [Type.MISSING_SEMICOLON]: UIStrings.missingSemicolon,
98
- [Type.UNKNOWN_DIRECTIVE]: str_(UIStrings.unknownDirective),
99
- [Type.INVALID_KEYWORD]: UIStrings.unknownKeyword,
100
- [Type.MISSING_DIRECTIVES]: {
101
- [Directive.BASE_URI]: str_(UIStrings.missingBaseUri),
102
- [Directive.SCRIPT_SRC]: str_(UIStrings.missingScriptSrc),
103
- [Directive.OBJECT_SRC]: str_(UIStrings.missingObjectSrc),
104
- },
105
- [Type.SCRIPT_UNSAFE_INLINE]: str_(UIStrings.unsafeInline),
106
- [Type.PLAIN_WILDCARD]: UIStrings.plainWildcards,
107
- [Type.PLAIN_URL_SCHEMES]: UIStrings.plainUrlScheme,
108
- [Type.NONCE_LENGTH]: str_(UIStrings.nonceLength),
109
- [Type.NONCE_CHARSET]: str_(UIStrings.nonceCharset),
110
- [Type.DEPRECATED_DIRECTIVE]: {
111
- [Directive.REFLECTED_XSS]: str_(UIStrings.deprecatedReflectedXSS),
112
- [Directive.REFERRER]: str_(UIStrings.deprecatedReferrer),
113
- [Directive.DISOWN_OPENER]: str_(UIStrings.deprecatedDisownOpener),
114
- },
115
- [Type.STRICT_DYNAMIC]: str_(UIStrings.strictDynamic),
116
- [Type.UNSAFE_INLINE_FALLBACK]: str_(UIStrings.unsafeInlineFallback),
117
- [Type.ALLOWLIST_FALLBACK]: str_(UIStrings.allowlistFallback),
118
- [Type.REPORTING_DESTINATION_MISSING]: str_(UIStrings.reportingDestinationMissing),
119
- [Type.REPORT_TO_ONLY]: str_(UIStrings.reportToOnly),
120
- };
121
-
122
- /**
123
- * @param {Finding} finding
124
- * @return {LH.IcuMessage|string}
125
- */
126
- function getTranslatedDescription(finding) {
127
- let result = FINDING_TO_UI_STRING[finding.type];
128
- if (!result) {
129
- log.warn('CSP Evaluator', `No translation found for description: ${finding.description}`);
130
- return finding.description;
131
- }
132
-
133
- // Return if translated result found.
134
- if (isIcuMessage(result)) return result;
135
-
136
- // If result was not translated, that means `finding.value` is included in the UI string.
137
- if (typeof result === 'string') return str_(result, {keyword: finding.value || ''});
138
-
139
- // Result is a record object, UI string depends on the directive.
140
- result = result[finding.directive];
141
- if (!result) {
142
- log.warn('CSP Evaluator', `No translation found for description: ${finding.description}`);
143
- return finding.description;
144
- }
145
-
146
- return result;
147
- }
148
-
149
- /**
150
- * @param {string} rawCsp
151
- */
152
- function parseCsp(rawCsp) {
153
- return new CspParser(rawCsp).csp;
154
- }
155
-
156
- /**
157
- * @param {string[]} rawCsps
158
- * @return {{bypasses: Finding[], warnings: Finding[], syntax: Finding[][]}}
159
- */
160
- function evaluateRawCspsForXss(rawCsps) {
161
- const parsedCsps = rawCsps.map(parseCsp);
162
- const bypasses = evaluateForFailure(parsedCsps);
163
- const warnings = evaluateForWarnings(parsedCsps);
164
- const syntax = evaluateForSyntaxErrors(parsedCsps);
165
- return {bypasses, warnings, syntax};
166
- }
167
-
168
- module.exports = {
169
- getTranslatedDescription,
170
- evaluateRawCspsForXss,
171
- parseCsp,
172
- UIStrings,
173
- };