lighthouse 9.5.0-dev.20220711 → 9.5.0-dev.20220714

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 (380) hide show
  1. package/{esm-utils.mjs → esm-utils.js} +2 -2
  2. package/flow-report/tsconfig.json +1 -0
  3. package/lighthouse-cli/bin.js +5 -9
  4. package/lighthouse-cli/commands/list-audits.js +2 -2
  5. package/lighthouse-cli/commands/list-trace-categories.js +1 -2
  6. package/lighthouse-cli/run.js +2 -2
  7. package/lighthouse-cli/test/smokehouse/core-tests.js +3 -2
  8. package/lighthouse-cli/test/smokehouse/frontends/smokehouse-bin.js +4 -3
  9. package/lighthouse-cli/test/smokehouse/lighthouse-runners/bundle.js +8 -4
  10. package/lighthouse-cli/test/smokehouse/lighthouse-runners/cli.js +1 -1
  11. package/lighthouse-cli/test/smokehouse/lighthouse-runners/devtools.js +17 -68
  12. package/lighthouse-cli/test/smokehouse/smokehouse.js +10 -1
  13. package/lighthouse-core/audits/accessibility/accesskeys.js +6 -5
  14. package/lighthouse-core/audits/accessibility/aria-allowed-attr.js +6 -5
  15. package/lighthouse-core/audits/accessibility/aria-command-name.js +6 -5
  16. package/lighthouse-core/audits/accessibility/aria-hidden-body.js +6 -5
  17. package/lighthouse-core/audits/accessibility/aria-hidden-focus.js +6 -5
  18. package/lighthouse-core/audits/accessibility/aria-input-field-name.js +6 -5
  19. package/lighthouse-core/audits/accessibility/aria-meter-name.js +6 -5
  20. package/lighthouse-core/audits/accessibility/aria-progressbar-name.js +6 -5
  21. package/lighthouse-core/audits/accessibility/aria-required-attr.js +6 -5
  22. package/lighthouse-core/audits/accessibility/aria-required-children.js +6 -5
  23. package/lighthouse-core/audits/accessibility/aria-required-parent.js +6 -5
  24. package/lighthouse-core/audits/accessibility/aria-roles.js +6 -5
  25. package/lighthouse-core/audits/accessibility/aria-toggle-field-name.js +6 -5
  26. package/lighthouse-core/audits/accessibility/aria-tooltip-name.js +6 -5
  27. package/lighthouse-core/audits/accessibility/aria-treeitem-name.js +6 -5
  28. package/lighthouse-core/audits/accessibility/aria-valid-attr-value.js +6 -5
  29. package/lighthouse-core/audits/accessibility/aria-valid-attr.js +6 -5
  30. package/lighthouse-core/audits/accessibility/axe-audit.js +6 -5
  31. package/lighthouse-core/audits/accessibility/button-name.js +6 -5
  32. package/lighthouse-core/audits/accessibility/bypass.js +6 -5
  33. package/lighthouse-core/audits/accessibility/color-contrast.js +6 -5
  34. package/lighthouse-core/audits/accessibility/definition-list.js +6 -5
  35. package/lighthouse-core/audits/accessibility/dlitem.js +6 -5
  36. package/lighthouse-core/audits/accessibility/document-title.js +6 -5
  37. package/lighthouse-core/audits/accessibility/duplicate-id-active.js +6 -5
  38. package/lighthouse-core/audits/accessibility/duplicate-id-aria.js +6 -5
  39. package/lighthouse-core/audits/accessibility/form-field-multiple-labels.js +6 -5
  40. package/lighthouse-core/audits/accessibility/frame-title.js +6 -5
  41. package/lighthouse-core/audits/accessibility/heading-order.js +6 -5
  42. package/lighthouse-core/audits/accessibility/html-has-lang.js +6 -5
  43. package/lighthouse-core/audits/accessibility/html-lang-valid.js +6 -5
  44. package/lighthouse-core/audits/accessibility/image-alt.js +6 -5
  45. package/lighthouse-core/audits/accessibility/input-image-alt.js +6 -5
  46. package/lighthouse-core/audits/accessibility/label.js +6 -5
  47. package/lighthouse-core/audits/accessibility/link-name.js +6 -5
  48. package/lighthouse-core/audits/accessibility/list.js +6 -5
  49. package/lighthouse-core/audits/accessibility/listitem.js +6 -5
  50. package/lighthouse-core/audits/accessibility/manual/custom-controls-labels.js +2 -2
  51. package/lighthouse-core/audits/accessibility/manual/custom-controls-roles.js +2 -2
  52. package/lighthouse-core/audits/accessibility/manual/focus-traps.js +2 -2
  53. package/lighthouse-core/audits/accessibility/manual/focusable-controls.js +2 -2
  54. package/lighthouse-core/audits/accessibility/manual/interactive-element-affordance.js +2 -2
  55. package/lighthouse-core/audits/accessibility/manual/logical-tab-order.js +2 -2
  56. package/lighthouse-core/audits/accessibility/manual/managed-focus.js +2 -2
  57. package/lighthouse-core/audits/accessibility/manual/offscreen-content-hidden.js +2 -2
  58. package/lighthouse-core/audits/accessibility/manual/use-landmarks.js +2 -2
  59. package/lighthouse-core/audits/accessibility/manual/visual-order-follows-dom.js +2 -2
  60. package/lighthouse-core/audits/accessibility/meta-refresh.js +6 -5
  61. package/lighthouse-core/audits/accessibility/meta-viewport.js +6 -5
  62. package/lighthouse-core/audits/accessibility/object-alt.js +6 -5
  63. package/lighthouse-core/audits/accessibility/tabindex.js +6 -5
  64. package/lighthouse-core/audits/accessibility/td-headers-attr.js +6 -5
  65. package/lighthouse-core/audits/accessibility/th-has-data-cells.js +6 -5
  66. package/lighthouse-core/audits/accessibility/valid-lang.js +6 -5
  67. package/lighthouse-core/audits/accessibility/video-caption.js +6 -5
  68. package/lighthouse-core/audits/apple-touch-icon.js +5 -5
  69. package/lighthouse-core/audits/audit.js +4 -4
  70. package/lighthouse-core/audits/autocomplete.js +6 -6
  71. package/lighthouse-core/audits/bootup-time.js +9 -9
  72. package/lighthouse-core/audits/byte-efficiency/byte-efficiency-audit.js +12 -12
  73. package/lighthouse-core/audits/byte-efficiency/duplicated-javascript.js +9 -8
  74. package/lighthouse-core/audits/byte-efficiency/efficient-animated-content.js +7 -7
  75. package/lighthouse-core/audits/byte-efficiency/legacy-javascript.js +18 -10
  76. package/lighthouse-core/audits/byte-efficiency/modern-image-formats.js +7 -7
  77. package/lighthouse-core/audits/byte-efficiency/offscreen-images.js +11 -11
  78. package/lighthouse-core/audits/byte-efficiency/render-blocking-resources.js +15 -15
  79. package/lighthouse-core/audits/byte-efficiency/total-byte-weight.js +7 -7
  80. package/lighthouse-core/audits/byte-efficiency/unminified-css.js +8 -8
  81. package/lighthouse-core/audits/byte-efficiency/unminified-javascript.js +8 -8
  82. package/lighthouse-core/audits/byte-efficiency/unused-css-rules.js +7 -7
  83. package/lighthouse-core/audits/byte-efficiency/unused-javascript.js +9 -9
  84. package/lighthouse-core/audits/byte-efficiency/uses-long-cache-ttl.js +10 -10
  85. package/lighthouse-core/audits/byte-efficiency/uses-optimized-images.js +7 -7
  86. package/lighthouse-core/audits/byte-efficiency/uses-responsive-images-snapshot.js +8 -8
  87. package/lighthouse-core/audits/byte-efficiency/uses-responsive-images.js +9 -10
  88. package/lighthouse-core/audits/byte-efficiency/uses-text-compression.js +7 -7
  89. package/lighthouse-core/audits/content-width.js +5 -5
  90. package/lighthouse-core/audits/critical-request-chains.js +6 -6
  91. package/lighthouse-core/audits/csp-xss.js +7 -10
  92. package/lighthouse-core/audits/deprecations.js +7 -6
  93. package/lighthouse-core/audits/diagnostics.js +6 -6
  94. package/lighthouse-core/audits/dobetterweb/charset.js +6 -9
  95. package/lighthouse-core/audits/dobetterweb/doctype.js +5 -5
  96. package/lighthouse-core/audits/dobetterweb/dom-size.js +5 -5
  97. package/lighthouse-core/audits/dobetterweb/geolocation-on-start.js +5 -5
  98. package/lighthouse-core/audits/dobetterweb/inspector-issues.js +6 -5
  99. package/lighthouse-core/audits/dobetterweb/js-libraries.js +5 -5
  100. package/lighthouse-core/audits/dobetterweb/no-document-write.js +5 -5
  101. package/lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js +12 -8
  102. package/lighthouse-core/audits/dobetterweb/notification-on-start.js +5 -5
  103. package/lighthouse-core/audits/dobetterweb/password-inputs-can-be-pasted-into.js +5 -5
  104. package/lighthouse-core/audits/dobetterweb/uses-http2.js +15 -14
  105. package/lighthouse-core/audits/dobetterweb/uses-passive-event-listeners.js +5 -5
  106. package/lighthouse-core/audits/errors-in-console.js +8 -7
  107. package/lighthouse-core/audits/final-screenshot.js +5 -5
  108. package/lighthouse-core/audits/font-display.js +8 -8
  109. package/lighthouse-core/audits/full-page-screenshot.js +2 -2
  110. package/lighthouse-core/audits/image-aspect-ratio.js +6 -6
  111. package/lighthouse-core/audits/image-size-responsive.js +6 -6
  112. package/lighthouse-core/audits/installable-manifest.js +6 -6
  113. package/lighthouse-core/audits/is-on-https.js +8 -8
  114. package/lighthouse-core/audits/largest-contentful-paint-element.js +5 -5
  115. package/lighthouse-core/audits/layout-shift-elements.js +5 -5
  116. package/lighthouse-core/audits/lcp-lazy-loaded.js +5 -5
  117. package/lighthouse-core/audits/long-tasks.js +10 -10
  118. package/lighthouse-core/audits/main-thread-tasks.js +3 -3
  119. package/lighthouse-core/audits/mainthread-work-breakdown.js +7 -7
  120. package/lighthouse-core/audits/manual/manual-audit.js +2 -2
  121. package/lighthouse-core/audits/manual/pwa-cross-browser.js +5 -5
  122. package/lighthouse-core/audits/manual/pwa-each-page-has-url.js +5 -5
  123. package/lighthouse-core/audits/manual/pwa-page-transitions.js +5 -5
  124. package/lighthouse-core/audits/maskable-icon.js +6 -6
  125. package/lighthouse-core/audits/metrics/cumulative-layout-shift.js +6 -6
  126. package/lighthouse-core/audits/metrics/experimental-interaction-to-next-paint.js +6 -6
  127. package/lighthouse-core/audits/metrics/first-contentful-paint-3g.js +6 -4
  128. package/lighthouse-core/audits/metrics/first-contentful-paint.js +6 -6
  129. package/lighthouse-core/audits/metrics/first-meaningful-paint.js +6 -6
  130. package/lighthouse-core/audits/metrics/interactive.js +6 -6
  131. package/lighthouse-core/audits/metrics/largest-contentful-paint.js +6 -6
  132. package/lighthouse-core/audits/metrics/max-potential-fid.js +6 -6
  133. package/lighthouse-core/audits/metrics/speed-index.js +6 -6
  134. package/lighthouse-core/audits/metrics/total-blocking-time.js +6 -6
  135. package/lighthouse-core/audits/metrics.js +3 -3
  136. package/lighthouse-core/audits/multi-check-audit.js +2 -2
  137. package/lighthouse-core/audits/network-requests.js +5 -5
  138. package/lighthouse-core/audits/network-rtt.js +7 -7
  139. package/lighthouse-core/audits/network-server-latency.js +7 -7
  140. package/lighthouse-core/audits/no-unload-listeners.js +6 -6
  141. package/lighthouse-core/audits/non-composited-animations.js +6 -5
  142. package/lighthouse-core/audits/oopif-iframe-test-audit.js +1 -1
  143. package/lighthouse-core/audits/performance-budget.js +8 -8
  144. package/lighthouse-core/audits/predictive-perf.js +9 -10
  145. package/lighthouse-core/audits/preload-fonts.js +8 -7
  146. package/lighthouse-core/audits/preload-lcp-image.js +11 -11
  147. package/lighthouse-core/audits/redirects.js +11 -11
  148. package/lighthouse-core/audits/resource-summary.js +6 -6
  149. package/lighthouse-core/audits/screenshot-thumbnails.js +5 -5
  150. package/lighthouse-core/audits/script-elements-test-audit.js +1 -1
  151. package/lighthouse-core/audits/script-treemap-data.js +7 -6
  152. package/lighthouse-core/audits/seo/canonical.js +7 -7
  153. package/lighthouse-core/audits/seo/crawlable-anchors.js +5 -5
  154. package/lighthouse-core/audits/seo/font-size.js +8 -6
  155. package/lighthouse-core/audits/seo/hreflang.js +7 -6
  156. package/lighthouse-core/audits/seo/http-status-code.js +7 -6
  157. package/lighthouse-core/audits/seo/is-crawlable.js +11 -9
  158. package/lighthouse-core/audits/seo/link-text.js +7 -6
  159. package/lighthouse-core/audits/seo/manual/structured-data.js +5 -5
  160. package/lighthouse-core/audits/seo/meta-description.js +5 -5
  161. package/lighthouse-core/audits/seo/plugins.js +6 -6
  162. package/lighthouse-core/audits/seo/robots-txt.js +7 -6
  163. package/lighthouse-core/audits/seo/tap-targets.js +12 -9
  164. package/lighthouse-core/audits/server-response-time.js +6 -6
  165. package/lighthouse-core/audits/service-worker.js +6 -6
  166. package/lighthouse-core/audits/splash-screen.js +6 -6
  167. package/lighthouse-core/audits/themed-omnibox.js +7 -7
  168. package/lighthouse-core/audits/third-party-facades.js +14 -13
  169. package/lighthouse-core/audits/third-party-summary.js +9 -9
  170. package/lighthouse-core/audits/timing-budget.js +8 -8
  171. package/lighthouse-core/audits/unsized-images.js +6 -6
  172. package/lighthouse-core/audits/user-timings.js +6 -6
  173. package/lighthouse-core/audits/uses-rel-preconnect.js +15 -15
  174. package/lighthouse-core/audits/uses-rel-preload.js +13 -13
  175. package/lighthouse-core/audits/valid-source-maps.js +6 -6
  176. package/lighthouse-core/audits/viewport.js +6 -6
  177. package/lighthouse-core/audits/violation-audit.js +3 -3
  178. package/lighthouse-core/audits/work-during-interaction.js +15 -15
  179. package/lighthouse-core/computed/computed-artifact.js +3 -3
  180. package/lighthouse-core/computed/critical-request-chains.js +5 -5
  181. package/lighthouse-core/computed/image-records.js +3 -3
  182. package/lighthouse-core/computed/js-bundles.js +4 -4
  183. package/lighthouse-core/computed/load-simulator.js +8 -5
  184. package/lighthouse-core/computed/main-resource.js +4 -4
  185. package/lighthouse-core/computed/main-thread-tasks.js +4 -4
  186. package/lighthouse-core/computed/manifest-values.js +3 -3
  187. package/lighthouse-core/computed/metrics/cumulative-layout-shift.js +4 -4
  188. package/lighthouse-core/computed/metrics/first-contentful-paint-all-frames.js +3 -3
  189. package/lighthouse-core/computed/metrics/first-contentful-paint.js +4 -4
  190. package/lighthouse-core/computed/metrics/first-meaningful-paint.js +5 -5
  191. package/lighthouse-core/computed/metrics/interactive.js +8 -9
  192. package/lighthouse-core/computed/metrics/lantern-first-contentful-paint.js +7 -7
  193. package/lighthouse-core/computed/metrics/lantern-first-meaningful-paint.js +5 -5
  194. package/lighthouse-core/computed/metrics/lantern-interactive.js +7 -7
  195. package/lighthouse-core/computed/metrics/lantern-largest-contentful-paint.js +5 -5
  196. package/lighthouse-core/computed/metrics/lantern-max-potential-fid.js +6 -6
  197. package/lighthouse-core/computed/metrics/lantern-metric.js +10 -10
  198. package/lighthouse-core/computed/metrics/lantern-speed-index.js +8 -8
  199. package/lighthouse-core/computed/metrics/lantern-total-blocking-time.js +8 -8
  200. package/lighthouse-core/computed/metrics/largest-contentful-paint-all-frames.js +5 -4
  201. package/lighthouse-core/computed/metrics/largest-contentful-paint.js +6 -5
  202. package/lighthouse-core/computed/metrics/max-potential-fid.js +6 -6
  203. package/lighthouse-core/computed/metrics/metric.js +6 -6
  204. package/lighthouse-core/computed/metrics/navigation-metric.js +2 -2
  205. package/lighthouse-core/computed/metrics/responsiveness.js +3 -3
  206. package/lighthouse-core/computed/metrics/speed-index.js +5 -5
  207. package/lighthouse-core/computed/metrics/tbt-utils.js +1 -1
  208. package/lighthouse-core/computed/metrics/timing-summary.js +15 -15
  209. package/lighthouse-core/computed/metrics/total-blocking-time.js +7 -7
  210. package/lighthouse-core/computed/module-duplication.js +3 -3
  211. package/lighthouse-core/computed/network-analysis.js +4 -4
  212. package/lighthouse-core/computed/network-records.js +3 -3
  213. package/lighthouse-core/computed/page-dependency-graph.js +11 -11
  214. package/lighthouse-core/computed/processed-navigation.js +3 -3
  215. package/lighthouse-core/computed/processed-trace.js +3 -3
  216. package/lighthouse-core/computed/resource-summary.js +7 -7
  217. package/lighthouse-core/computed/screenshots.js +2 -2
  218. package/lighthouse-core/computed/speedline.js +5 -5
  219. package/lighthouse-core/computed/trace-of-tab.js +6 -5
  220. package/lighthouse-core/computed/unused-css.js +4 -4
  221. package/lighthouse-core/computed/unused-javascript-summary.js +2 -2
  222. package/lighthouse-core/computed/user-timings.js +3 -3
  223. package/lighthouse-core/computed/viewport-meta.js +3 -4
  224. package/lighthouse-core/config/budget.js +1 -1
  225. package/lighthouse-core/config/config-helpers.js +47 -19
  226. package/lighthouse-core/config/config-plugin.js +2 -2
  227. package/lighthouse-core/config/config.js +16 -14
  228. package/lighthouse-core/config/constants.js +1 -1
  229. package/lighthouse-core/config/default-config.js +11 -10
  230. package/lighthouse-core/config/desktop-config.js +2 -2
  231. package/lighthouse-core/config/experimental-config.js +1 -1
  232. package/lighthouse-core/config/full-config.js +1 -1
  233. package/lighthouse-core/config/lr-desktop-config.js +2 -2
  234. package/lighthouse-core/config/lr-mobile-config.js +1 -1
  235. package/lighthouse-core/config/metrics-to-audits.js +1 -1
  236. package/lighthouse-core/config/perf-config.js +1 -1
  237. package/lighthouse-core/fraggle-rock/api.js +8 -8
  238. package/lighthouse-core/fraggle-rock/config/config.js +27 -17
  239. package/lighthouse-core/fraggle-rock/config/default-config.js +5 -5
  240. package/lighthouse-core/fraggle-rock/config/filters.js +3 -4
  241. package/lighthouse-core/fraggle-rock/config/validation.js +4 -4
  242. package/lighthouse-core/fraggle-rock/gather/base-artifacts.js +6 -8
  243. package/lighthouse-core/fraggle-rock/gather/base-gatherer.js +2 -1
  244. package/lighthouse-core/fraggle-rock/gather/driver.js +5 -5
  245. package/lighthouse-core/fraggle-rock/gather/navigation-runner.js +23 -27
  246. package/lighthouse-core/fraggle-rock/gather/runner-helpers.js +3 -3
  247. package/lighthouse-core/fraggle-rock/gather/session.js +3 -3
  248. package/lighthouse-core/fraggle-rock/gather/snapshot-runner.js +7 -11
  249. package/lighthouse-core/fraggle-rock/gather/timespan-runner.js +8 -12
  250. package/lighthouse-core/fraggle-rock/user-flow.js +8 -8
  251. package/lighthouse-core/gather/connections/connection.js +4 -4
  252. package/lighthouse-core/gather/connections/cri.js +6 -6
  253. package/lighthouse-core/gather/connections/raw.js +2 -2
  254. package/lighthouse-core/gather/driver/dom.js +1 -1
  255. package/lighthouse-core/gather/driver/environment.js +6 -6
  256. package/lighthouse-core/gather/driver/execution-context.js +2 -2
  257. package/lighthouse-core/gather/driver/navigation.js +8 -8
  258. package/lighthouse-core/gather/driver/network-monitor.js +7 -6
  259. package/lighthouse-core/gather/driver/network.js +2 -2
  260. package/lighthouse-core/gather/driver/prepare.js +5 -5
  261. package/lighthouse-core/gather/driver/service-workers.js +1 -1
  262. package/lighthouse-core/gather/driver/storage.js +4 -4
  263. package/lighthouse-core/gather/driver/target-manager.js +9 -4
  264. package/lighthouse-core/gather/driver/wait-for-condition.js +6 -5
  265. package/lighthouse-core/gather/driver.js +11 -16
  266. package/lighthouse-core/gather/fetcher.js +1 -1
  267. package/lighthouse-core/gather/gather-runner.js +22 -22
  268. package/lighthouse-core/gather/gatherers/accessibility.js +6 -5
  269. package/lighthouse-core/gather/gatherers/anchor-elements.js +6 -5
  270. package/lighthouse-core/gather/gatherers/cache-contents.js +2 -2
  271. package/lighthouse-core/gather/gatherers/console-messages.js +2 -2
  272. package/lighthouse-core/gather/gatherers/css-usage.js +6 -5
  273. package/lighthouse-core/gather/gatherers/devtools-log-compat.js +4 -3
  274. package/lighthouse-core/gather/gatherers/devtools-log.js +3 -3
  275. package/lighthouse-core/gather/gatherers/dobetterweb/doctype.js +2 -2
  276. package/lighthouse-core/gather/gatherers/dobetterweb/domstats.js +3 -3
  277. package/lighthouse-core/gather/gatherers/dobetterweb/optimized-images.js +8 -8
  278. package/lighthouse-core/gather/gatherers/dobetterweb/password-inputs-with-prevented-paste.js +4 -3
  279. package/lighthouse-core/gather/gatherers/dobetterweb/response-compression.js +10 -10
  280. package/lighthouse-core/gather/gatherers/dobetterweb/tags-blocking-first-paint.js +4 -4
  281. package/lighthouse-core/gather/gatherers/full-page-screenshot.js +7 -6
  282. package/lighthouse-core/gather/gatherers/gatherer.js +1 -1
  283. package/lighthouse-core/gather/gatherers/global-listeners.js +2 -2
  284. package/lighthouse-core/gather/gatherers/iframe-elements.js +4 -3
  285. package/lighthouse-core/gather/gatherers/image-elements.js +5 -5
  286. package/lighthouse-core/gather/gatherers/inputs.js +5 -4
  287. package/lighthouse-core/gather/gatherers/inspector-issues.js +4 -4
  288. package/lighthouse-core/gather/gatherers/installability-errors.js +3 -3
  289. package/lighthouse-core/gather/gatherers/js-usage.js +2 -2
  290. package/lighthouse-core/gather/gatherers/link-elements.js +7 -7
  291. package/lighthouse-core/gather/gatherers/main-document-content.js +5 -5
  292. package/lighthouse-core/gather/gatherers/meta-elements.js +3 -3
  293. package/lighthouse-core/gather/gatherers/network-user-agent.js +3 -3
  294. package/lighthouse-core/gather/gatherers/script-elements.js +6 -6
  295. package/lighthouse-core/gather/gatherers/scripts.js +2 -2
  296. package/lighthouse-core/gather/gatherers/seo/embedded-content.js +4 -3
  297. package/lighthouse-core/gather/gatherers/seo/font-size.js +8 -5
  298. package/lighthouse-core/gather/gatherers/seo/robots-txt.js +2 -2
  299. package/lighthouse-core/gather/gatherers/seo/tap-targets.js +5 -4
  300. package/lighthouse-core/gather/gatherers/service-worker.js +3 -3
  301. package/lighthouse-core/gather/gatherers/source-maps.js +3 -3
  302. package/lighthouse-core/gather/gatherers/stacks.js +12 -4
  303. package/lighthouse-core/gather/gatherers/trace-compat.js +4 -3
  304. package/lighthouse-core/gather/gatherers/trace-elements.js +13 -12
  305. package/lighthouse-core/gather/gatherers/trace.js +4 -3
  306. package/lighthouse-core/gather/gatherers/viewport-dimensions.js +2 -2
  307. package/lighthouse-core/gather/gatherers/web-app-manifest.js +5 -5
  308. package/lighthouse-core/index.cjs +21 -0
  309. package/lighthouse-core/index.js +25 -23
  310. package/lighthouse-core/lib/arbitrary-equality-map.js +2 -2
  311. package/lighthouse-core/lib/asset-saver.js +15 -12
  312. package/lighthouse-core/lib/axe.js +9 -4
  313. package/lighthouse-core/lib/cdt/package.json +4 -0
  314. package/lighthouse-core/lib/csp-evaluator.js +11 -13
  315. package/lighthouse-core/lib/dependency-graph/base-node.js +2 -2
  316. package/lighthouse-core/lib/dependency-graph/cpu-node.js +2 -2
  317. package/lighthouse-core/lib/dependency-graph/network-node.js +3 -3
  318. package/lighthouse-core/lib/dependency-graph/simulator/connection-pool.js +4 -4
  319. package/lighthouse-core/lib/dependency-graph/simulator/dns-cache.js +1 -1
  320. package/lighthouse-core/lib/dependency-graph/simulator/network-analyzer.js +11 -10
  321. package/lighthouse-core/lib/dependency-graph/simulator/simulator-timing-map.js +5 -5
  322. package/lighthouse-core/lib/dependency-graph/simulator/simulator.js +12 -10
  323. package/lighthouse-core/lib/dependency-graph/simulator/tcp-connection.js +1 -1
  324. package/lighthouse-core/lib/emulation.js +2 -2
  325. package/lighthouse-core/lib/i18n/README.md +1 -1
  326. package/lighthouse-core/lib/i18n/i18n.js +13 -13
  327. package/lighthouse-core/lib/icons.js +2 -2
  328. package/lighthouse-core/lib/lantern-trace-saver.js +1 -1
  329. package/lighthouse-core/lib/lh-env.js +7 -5
  330. package/lighthouse-core/lib/lh-error.js +4 -4
  331. package/lighthouse-core/lib/lh-trace-processor.js +3 -3
  332. package/lighthouse-core/lib/manifest-parser.js +4 -4
  333. package/lighthouse-core/lib/median-run.js +1 -1
  334. package/lighthouse-core/lib/minification-estimator.js +1 -1
  335. package/lighthouse-core/lib/minify-devtoolslog.js +1 -1
  336. package/lighthouse-core/lib/minify-trace.js +3 -3
  337. package/lighthouse-core/lib/navigation-error.js +6 -6
  338. package/lighthouse-core/lib/network-recorder.js +4 -4
  339. package/lighthouse-core/lib/network-request.js +2 -3
  340. package/lighthouse-core/lib/page-functions.js +2 -1
  341. package/lighthouse-core/lib/proto-preprocessor.js +7 -6
  342. package/lighthouse-core/lib/rect-helpers.js +1 -1
  343. package/lighthouse-core/lib/script-helpers.js +4 -1
  344. package/lighthouse-core/lib/sentry.js +4 -4
  345. package/lighthouse-core/lib/stack-packs.js +4 -4
  346. package/lighthouse-core/lib/statistics.js +1 -1
  347. package/lighthouse-core/lib/tappable-rects.js +2 -2
  348. package/lighthouse-core/lib/third-party-web.js +2 -2
  349. package/lighthouse-core/lib/timing-trace-saver.js +1 -1
  350. package/lighthouse-core/lib/tracehouse/cpu-profile-model.js +8 -8
  351. package/lighthouse-core/lib/tracehouse/main-thread-tasks.js +2 -2
  352. package/lighthouse-core/lib/tracehouse/task-groups.js +1 -1
  353. package/lighthouse-core/lib/tracehouse/task-summary.js +2 -2
  354. package/lighthouse-core/lib/tracehouse/trace-processor.js +2 -3
  355. package/lighthouse-core/lib/traces/pwmetrics-events.js +4 -3
  356. package/lighthouse-core/lib/url-shim.js +6 -4
  357. package/lighthouse-core/package.json +4 -0
  358. package/lighthouse-core/runner.js +40 -34
  359. package/lighthouse-core/scoring.js +2 -2
  360. package/lighthouse-core/{util-commonjs.js → util.cjs} +0 -0
  361. package/package.json +4 -2
  362. package/report/test/generator/report-generator-test.js +4 -3
  363. package/report/test/renderer/report-renderer-axe-test.js +2 -2
  364. package/root.js +10 -2
  365. package/shared/package.json +4 -0
  366. package/shared/test/localization/format-test.js +23 -13
  367. package/shared/test/localization/swap-locale-test.js +1 -0
  368. package/third-party/axe/valid-langs.js +1 -1
  369. package/third-party/chromium-synchronization/inspector-issueAdded-types-test.js +3 -3
  370. package/third-party/chromium-synchronization/installability-errors-test.js +3 -3
  371. package/third-party/download-content-shell/download-content-shell.js +6 -5
  372. package/third-party/download-content-shell/utils.js +8 -8
  373. package/tsconfig.json +3 -1
  374. package/types/artifacts.d.ts +9 -11
  375. package/types/audit.d.ts +2 -2
  376. package/types/config.d.ts +1 -1
  377. package/types/cssstyle/index.d.ts +1 -1
  378. package/types/gatherer.d.ts +7 -7
  379. package/types/global-lh.d.ts +2 -2
  380. package/types/smokehouse.d.ts +2 -0
@@ -5,10 +5,10 @@
5
5
  */
6
6
  'use strict';
7
7
 
8
- const log = require('lighthouse-logger');
9
- const storage = require('./storage.js');
10
- const emulation = require('../../lib/emulation.js');
11
- const pageFunctions = require('../../lib/page-functions.js');
8
+ import log from 'lighthouse-logger';
9
+ import * as storage from './storage.js';
10
+ import * as emulation from '../../lib/emulation.js';
11
+ import {pageFunctions} from '../../lib/page-functions.js';
12
12
 
13
13
  /**
14
14
  * Enables `Debugger` domain to receive async stacktrace information on network request initiators.
@@ -218,7 +218,7 @@ async function prepareTargetForIndividualNavigation(session, settings, navigatio
218
218
  return {warnings};
219
219
  }
220
220
 
221
- module.exports = {
221
+ export {
222
222
  prepareThrottlingAndNetwork,
223
223
  prepareTargetForTimespanMode,
224
224
  prepareTargetForNavigationMode,
@@ -50,4 +50,4 @@ function getServiceWorkerRegistrations(session) {
50
50
  });
51
51
  }
52
52
 
53
- module.exports = {getServiceWorkerVersions, getServiceWorkerRegistrations};
53
+ export {getServiceWorkerVersions, getServiceWorkerRegistrations};
@@ -5,8 +5,8 @@
5
5
  */
6
6
  'use strict';
7
7
 
8
- const log = require('lighthouse-logger');
9
- const i18n = require('../../lib/i18n/i18n.js');
8
+ import log from 'lighthouse-logger';
9
+ import * as i18n from '../../lib/i18n/i18n.js';
10
10
 
11
11
  const UIStrings = {
12
12
  /**
@@ -24,7 +24,7 @@ const UIStrings = {
24
24
  }`,
25
25
  };
26
26
 
27
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
27
+ const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
28
28
 
29
29
 
30
30
  /**
@@ -117,7 +117,7 @@ async function clearBrowserCaches(session) {
117
117
  log.timeEnd(status);
118
118
  }
119
119
 
120
- module.exports = {
120
+ export {
121
121
  clearDataForOrigin,
122
122
  clearBrowserCaches,
123
123
  getImportantStorageWarning,
@@ -5,9 +5,14 @@
5
5
  */
6
6
  'use strict';
7
7
 
8
- const EventEmitter = require('events').EventEmitter;
9
- const log = require('lighthouse-logger');
10
- const ProtocolSession = require('../../fraggle-rock/gather/session.js');
8
+ /**
9
+ * @fileoverview This class tracks multiple targets (the page itself and its OOPIFs) and allows consumers to
10
+ * listen for protocol events before each target is resumed.
11
+ */
12
+
13
+ import EventEmitter from 'events';
14
+ import log from 'lighthouse-logger';
15
+ import {ProtocolSession} from '../../fraggle-rock/gather/session.js';
11
16
 
12
17
  /**
13
18
  * @typedef {{
@@ -199,4 +204,4 @@ class TargetManager extends ProtocolEventEmitter {
199
204
  }
200
205
  }
201
206
 
202
- module.exports = TargetManager;
207
+ export {TargetManager};
@@ -7,11 +7,12 @@
7
7
 
8
8
  /* global window */
9
9
 
10
- const log = require('lighthouse-logger');
11
- const LighthouseError = require('../../lib/lh-error.js');
12
- const ExecutionContext = require('./execution-context.js');
10
+ import log from 'lighthouse-logger';
13
11
 
14
- /** @typedef {import('./network-monitor.js')} NetworkMonitor */
12
+ import {LighthouseError} from '../../lib/lh-error.js';
13
+ import {ExecutionContext} from './execution-context.js';
14
+
15
+ /** @typedef {InstanceType<import('./network-monitor.js')['NetworkMonitor']>} NetworkMonitor */
15
16
  /** @typedef {import('./network-monitor.js').NetworkMonitorEvent} NetworkMonitorEvent */
16
17
  /** @typedef {{promise: Promise<void>, cancel: function(): void}} CancellableWait */
17
18
 
@@ -524,7 +525,7 @@ function waitForUserToContinue(driver) {
524
525
  return driver.executionContext.evaluate(createInPagePromise, {args: []});
525
526
  }
526
527
 
527
- module.exports = {
528
+ export {
528
529
  waitForNothing,
529
530
  waitForFrameNavigated,
530
531
  waitForFcp,
@@ -5,20 +5,15 @@
5
5
  */
6
6
  'use strict';
7
7
 
8
- const Fetcher = require('./fetcher.js');
9
- const ExecutionContext = require('./driver/execution-context.js');
10
- const LighthouseError = require('../lib/lh-error.js');
11
- const {fetchResponseBodyFromCache} = require('../gather/driver/network.js');
12
- const EventEmitter = require('events').EventEmitter;
13
-
14
- const log = require('lighthouse-logger');
15
- const DevtoolsMessageLog = require('./gatherers/devtools-log.js').DevtoolsMessageLog;
16
- const TraceGatherer = require('./gatherers/trace.js');
17
-
18
- // Pulled in for Connection type checking.
19
- // eslint-disable-next-line no-unused-vars
20
- const Connection = require('./connections/connection.js');
21
- const {getBrowserVersion} = require('./driver/environment.js');
8
+ import {Fetcher} from './fetcher.js';
9
+ import {ExecutionContext} from './driver/execution-context.js';
10
+ import {LighthouseError} from '../lib/lh-error.js';
11
+ import {fetchResponseBodyFromCache} from '../gather/driver/network.js';
12
+ import {EventEmitter} from 'events';
13
+ import log from 'lighthouse-logger';
14
+ import {DevtoolsMessageLog} from './gatherers/devtools-log.js';
15
+ import TraceGatherer from './gatherers/trace.js';
16
+ import {getBrowserVersion} from './driver/environment.js';
22
17
 
23
18
  // Controls how long to wait for a response after sending a DevTools protocol command.
24
19
  const DEFAULT_PROTOCOL_TIMEOUT = 30000;
@@ -67,7 +62,7 @@ class Driver {
67
62
  fetcher = new Fetcher(this.defaultSession);
68
63
 
69
64
  /**
70
- * @param {Connection} connection
65
+ * @param {import('./connections/connection.js').Connection} connection
71
66
  */
72
67
  constructor(connection) {
73
68
  this._connection = connection;
@@ -483,4 +478,4 @@ class Driver {
483
478
  }
484
479
  }
485
480
 
486
- module.exports = Driver;
481
+ export {Driver};
@@ -139,4 +139,4 @@ class Fetcher {
139
139
  }
140
140
  }
141
141
 
142
- module.exports = Fetcher;
142
+ export {Fetcher};
@@ -5,26 +5,26 @@
5
5
  */
6
6
  'use strict';
7
7
 
8
- const log = require('lighthouse-logger');
9
- const NetworkRecords = require('../computed/network-records.js');
10
- const {getPageLoadError} = require('../lib/navigation-error.js');
11
- const emulation = require('../lib/emulation.js');
12
- const constants = require('../config/constants.js');
13
- const format = require('../../shared/localization/format.js');
14
- const {getBenchmarkIndex, getEnvironmentWarnings} = require('./driver/environment.js');
15
- const prepare = require('./driver/prepare.js');
16
- const storage = require('./driver/storage.js');
17
- const navigation = require('./driver/navigation.js');
18
- const serviceWorkers = require('./driver/service-workers.js');
19
- const WebAppManifest = require('./gatherers/web-app-manifest.js');
20
- const InstallabilityErrors = require('./gatherers/installability-errors.js');
21
- const NetworkUserAgent = require('./gatherers/network-user-agent.js');
22
- const Stacks = require('./gatherers/stacks.js');
23
- const URL = require('../lib/url-shim.js');
24
- const {finalizeArtifacts} = require('../fraggle-rock/gather/base-artifacts.js');
25
-
26
- /** @typedef {import('../gather/driver.js')} Driver */
27
- /** @typedef {import('../lib/arbitrary-equality-map.js')} ArbitraryEqualityMap */
8
+ import log from 'lighthouse-logger';
9
+ import NetworkRecords from '../computed/network-records.js';
10
+ import {getPageLoadError} from '../lib/navigation-error.js';
11
+ import * as emulation from '../lib/emulation.js';
12
+ import * as constants from '../config/constants.js';
13
+ import format from '../../shared/localization/format.js';
14
+ import {getBenchmarkIndex, getEnvironmentWarnings} from './driver/environment.js';
15
+ import * as prepare from './driver/prepare.js';
16
+ import * as storage from './driver/storage.js';
17
+ import * as navigation from './driver/navigation.js';
18
+ import * as serviceWorkers from './driver/service-workers.js';
19
+ import WebAppManifest from './gatherers/web-app-manifest.js';
20
+ import InstallabilityErrors from './gatherers/installability-errors.js';
21
+ import NetworkUserAgent from './gatherers/network-user-agent.js';
22
+ import Stacks from './gatherers/stacks.js';
23
+ import {finalizeArtifacts} from '../fraggle-rock/gather/base-artifacts.js';
24
+ import URLShim from '../lib/url-shim.js';
25
+
26
+ /** @typedef {import('../gather/driver.js').Driver} Driver */
27
+ /** @typedef {import('../lib/arbitrary-equality-map.js').ArbitraryEqualityMap} ArbitraryEqualityMap */
28
28
 
29
29
  /**
30
30
  * Each entry in each gatherer result array is the output of a gatherer phase:
@@ -494,7 +494,7 @@ class GatherRunner {
494
494
 
495
495
  // Hack for running benchmarkIndex extra times.
496
496
  // Add a `bidx=20` query param, eg: https://www.example.com/?bidx=50
497
- const parsedUrl = URL.isValid(options.requestedUrl) && new URL(options.requestedUrl);
497
+ const parsedUrl = URLShim.isValid(options.requestedUrl) && new URL(options.requestedUrl);
498
498
  if (options.settings.channel === 'lr' && parsedUrl && parsedUrl.searchParams.has('bidx')) {
499
499
  const bidxRunCount = parsedUrl.searchParams.get('bidx') || 0;
500
500
  // Add the first bidx into the new set
@@ -631,4 +631,4 @@ class GatherRunner {
631
631
  }
632
632
  }
633
633
 
634
- module.exports = GatherRunner;
634
+ export {GatherRunner};
@@ -7,9 +7,10 @@
7
7
 
8
8
  /* global window, document, getNodeDetails */
9
9
 
10
- const FRGatherer = require('../../fraggle-rock/gather/base-gatherer.js');
11
- const axeLibSource = require('../../lib/axe.js').source;
12
- const pageFunctions = require('../../lib/page-functions.js');
10
+ import FRGatherer from '../../fraggle-rock/gather/base-gatherer.js';
11
+
12
+ import {axeSource} from '../../lib/axe.js';
13
+ import {pageFunctions} from '../../lib/page-functions.js';
13
14
 
14
15
  /**
15
16
  * @return {Promise<LH.Artifacts.Accessibility>}
@@ -173,7 +174,7 @@ class Accessibility extends FRGatherer {
173
174
  args: [],
174
175
  useIsolation: true,
175
176
  deps: [
176
- axeLibSource,
177
+ axeSource,
177
178
  pageFunctions.getNodeDetailsString,
178
179
  createAxeRuleResultArtifact,
179
180
  ],
@@ -181,4 +182,4 @@ class Accessibility extends FRGatherer {
181
182
  }
182
183
  }
183
184
 
184
- module.exports = Accessibility;
185
+ export default Accessibility;
@@ -7,9 +7,10 @@
7
7
 
8
8
  /* global getNodeDetails */
9
9
 
10
- const FRGatherer = require('../../fraggle-rock/gather/base-gatherer.js');
11
- const dom = require('../driver/dom.js');
12
- const pageFunctions = require('../../lib/page-functions.js');
10
+ import FRGatherer from '../../fraggle-rock/gather/base-gatherer.js';
11
+
12
+ import {pageFunctions} from '../../lib/page-functions.js';
13
+ import {resolveDevtoolsNodePathToObjectId} from '../driver/dom.js';
13
14
 
14
15
  /* eslint-env browser, node */
15
16
 
@@ -80,7 +81,7 @@ function collectAnchorElements() {
80
81
  * @return {Promise<Array<{type: string}>>}
81
82
  */
82
83
  async function getEventListeners(session, devtoolsNodePath) {
83
- const objectId = await dom.resolveDevtoolsNodePathToObjectId(session, devtoolsNodePath);
84
+ const objectId = await resolveDevtoolsNodePathToObjectId(session, devtoolsNodePath);
84
85
  if (!objectId) return [];
85
86
 
86
87
  const response = await session.sendCommand('DOMDebugger.getEventListeners', {
@@ -130,4 +131,4 @@ class AnchorElements extends FRGatherer {
130
131
  }
131
132
  }
132
133
 
133
- module.exports = AnchorElements;
134
+ export default AnchorElements;
@@ -7,7 +7,7 @@
7
7
 
8
8
  /* global caches */
9
9
 
10
- const FRGatherer = require('../../fraggle-rock/gather/base-gatherer.js');
10
+ import FRGatherer from '../../fraggle-rock/gather/base-gatherer.js';
11
11
 
12
12
  /**
13
13
  * @return {Promise<Array<string>>}
@@ -56,4 +56,4 @@ class CacheContents extends FRGatherer {
56
56
  }
57
57
  }
58
58
 
59
- module.exports = CacheContents;
59
+ export default CacheContents;
@@ -11,7 +11,7 @@
11
11
 
12
12
  'use strict';
13
13
 
14
- const FRGatherer = require('../../fraggle-rock/gather/base-gatherer.js');
14
+ import FRGatherer from '../../fraggle-rock/gather/base-gatherer.js';
15
15
 
16
16
  /**
17
17
  * @param {LH.Crdp.Runtime.RemoteObject} obj
@@ -172,4 +172,4 @@ class ConsoleMessages extends FRGatherer {
172
172
  }
173
173
  }
174
174
 
175
- module.exports = ConsoleMessages;
175
+ export default ConsoleMessages;
@@ -5,13 +5,14 @@
5
5
  */
6
6
  'use strict';
7
7
 
8
- const log = require('lighthouse-logger');
9
- const FRGatherer = require('../../fraggle-rock/gather/base-gatherer.js');
10
- const Sentry = require('../../lib/sentry.js');
11
-
12
8
  /**
13
9
  * @fileoverview Tracks unused CSS rules.
14
10
  */
11
+
12
+ import FRGatherer from '../../fraggle-rock/gather/base-gatherer.js';
13
+ import log from 'lighthouse-logger';
14
+ import {Sentry} from '../../lib/sentry.js';
15
+
15
16
  class CSSUsage extends FRGatherer {
16
17
  constructor() {
17
18
  super();
@@ -146,4 +147,4 @@ class CSSUsage extends FRGatherer {
146
147
  }
147
148
  }
148
149
 
149
- module.exports = CSSUsage;
150
+ export default CSSUsage;
@@ -11,8 +11,9 @@
11
11
  * when devtools logs and traces were special-cased.
12
12
  */
13
13
 
14
- const DevtoolsLogGatherer = require('./devtools-log.js');
15
- const FRGatherer = require('../../fraggle-rock/gather/base-gatherer.js');
14
+ import DevtoolsLogGatherer from './devtools-log.js';
15
+
16
+ import FRGatherer from '../../fraggle-rock/gather/base-gatherer.js';
16
17
 
17
18
  /** @implements {LH.Gatherer.FRGathererInstance<'DevtoolsLog'>} */
18
19
  class DevtoolsLogCompat extends FRGatherer {
@@ -33,4 +34,4 @@ class DevtoolsLogCompat extends FRGatherer {
33
34
  }
34
35
  }
35
36
 
36
- module.exports = DevtoolsLogCompat;
37
+ export default DevtoolsLogCompat;
@@ -11,7 +11,7 @@
11
11
  * This protocol log can be used to recreate the network records using lib/network-recorder.js.
12
12
  */
13
13
 
14
- const FRGatherer = require('../../fraggle-rock/gather/base-gatherer.js');
14
+ import FRGatherer from '../../fraggle-rock/gather/base-gatherer.js';
15
15
 
16
16
  class DevtoolsLog extends FRGatherer {
17
17
  static symbol = Symbol('DevtoolsLog');
@@ -112,5 +112,5 @@ class DevtoolsMessageLog {
112
112
  }
113
113
  }
114
114
 
115
- module.exports = DevtoolsLog;
116
- module.exports.DevtoolsMessageLog = DevtoolsMessageLog;
115
+ export default DevtoolsLog;
116
+ export {DevtoolsMessageLog};
@@ -5,7 +5,7 @@
5
5
  */
6
6
  'use strict';
7
7
 
8
- const FRGatherer = require('../../../fraggle-rock/gather/base-gatherer.js');
8
+ import FRGatherer from '../../../fraggle-rock/gather/base-gatherer.js';
9
9
 
10
10
  /* global document */
11
11
 
@@ -45,4 +45,4 @@ class Doctype extends FRGatherer {
45
45
  }
46
46
  }
47
47
 
48
- module.exports = Doctype;
48
+ export default Doctype;
@@ -13,8 +13,8 @@
13
13
 
14
14
  'use strict';
15
15
 
16
- const FRGatherer = require('../../../fraggle-rock/gather/base-gatherer.js');
17
- const pageFunctions = require('../../../lib/page-functions.js');
16
+ import FRGatherer from '../../../fraggle-rock/gather/base-gatherer.js';
17
+ import {pageFunctions} from '../../../lib/page-functions.js';
18
18
 
19
19
  /**
20
20
  * Calculates the maximum tree depth of the DOM.
@@ -100,4 +100,4 @@ class DOMStats extends FRGatherer {
100
100
  }
101
101
  }
102
102
 
103
- module.exports = DOMStats;
103
+ export default DOMStats;
@@ -10,13 +10,13 @@
10
10
  */
11
11
  'use strict';
12
12
 
13
- const log = require('lighthouse-logger');
14
- const FRGatherer = require('../../../fraggle-rock/gather/base-gatherer.js');
15
- const URL = require('../../../lib/url-shim.js');
16
- const NetworkRequest = require('../../../lib/network-request.js');
17
- const Sentry = require('../../../lib/sentry.js');
18
- const NetworkRecords = require('../../../computed/network-records.js');
19
- const DevtoolsLog = require('../devtools-log.js');
13
+ import log from 'lighthouse-logger';
14
+ import FRGatherer from '../../../fraggle-rock/gather/base-gatherer.js';
15
+ import URL from '../../../lib/url-shim.js';
16
+ import {NetworkRequest} from '../../../lib/network-request.js';
17
+ import {Sentry} from '../../../lib/sentry.js';
18
+ import NetworkRecords from '../../../computed/network-records.js';
19
+ import DevtoolsLog from '../devtools-log.js';
20
20
 
21
21
  // Image encoding can be slow and we don't want to spend forever on it.
22
22
  // Cap our encoding to 5 seconds, anything after that will be estimated.
@@ -189,4 +189,4 @@ class OptimizedImages extends FRGatherer {
189
189
  }
190
190
  }
191
191
 
192
- module.exports = OptimizedImages;
192
+ export default OptimizedImages;
@@ -7,8 +7,9 @@
7
7
 
8
8
  /* global document ClipboardEvent getNodeDetails */
9
9
 
10
- const FRGatherer = require('../../../fraggle-rock/gather/base-gatherer.js');
11
- const pageFunctions = require('../../../lib/page-functions.js');
10
+ import FRGatherer from '../../../fraggle-rock/gather/base-gatherer.js';
11
+
12
+ import {pageFunctions} from '../../../lib/page-functions.js';
12
13
 
13
14
  /**
14
15
  * @return {LH.Artifacts['PasswordInputsWithPreventedPaste']}
@@ -47,4 +48,4 @@ class PasswordInputsWithPreventedPaste extends FRGatherer {
47
48
  }
48
49
 
49
50
 
50
- module.exports = PasswordInputsWithPreventedPaste;
51
+ export default PasswordInputsWithPreventedPaste;
@@ -10,15 +10,15 @@
10
10
  */
11
11
  'use strict';
12
12
 
13
- const {Buffer} = require('buffer');
14
- const FRGatherer = require('../../../fraggle-rock/gather/base-gatherer.js');
15
- const URL = require('../../../lib/url-shim.js');
16
- const Sentry = require('../../../lib/sentry.js');
17
- const NetworkRequest = require('../../../lib/network-request.js');
18
- const gzip = require('zlib').gzip;
19
- const DevtoolsLog = require('../devtools-log.js');
20
- const {fetchResponseBodyFromCache} = require('../../driver/network.js');
21
- const NetworkRecords = require('../../../computed/network-records.js');
13
+ import {Buffer} from 'buffer';
14
+ import FRGatherer from '../../../fraggle-rock/gather/base-gatherer.js';
15
+ import URL from '../../../lib/url-shim.js';
16
+ import {Sentry} from '../../../lib/sentry.js';
17
+ import {NetworkRequest} from '../../../lib/network-request.js';
18
+ import {gzip} from 'zlib';
19
+ import DevtoolsLog from '../devtools-log.js';
20
+ import {fetchResponseBodyFromCache} from '../../driver/network.js';
21
+ import NetworkRecords from '../../../computed/network-records.js';
22
22
 
23
23
  const CHROME_EXTENSION_PROTOCOL = 'chrome-extension:';
24
24
  const compressionHeaders = [
@@ -151,4 +151,4 @@ class ResponseCompression extends FRGatherer {
151
151
  }
152
152
  }
153
153
 
154
- module.exports = ResponseCompression;
154
+ export default ResponseCompression;
@@ -18,9 +18,9 @@
18
18
 
19
19
  'use strict';
20
20
 
21
- const NetworkRecords = require('../../../computed/network-records.js');
22
- const DevtoolsLog = require('../devtools-log.js');
23
- const FRGatherer = require('../../../fraggle-rock/gather/base-gatherer.js');
21
+ import NetworkRecords from '../../../computed/network-records.js';
22
+ import DevtoolsLog from '../devtools-log.js';
23
+ import FRGatherer from '../../../fraggle-rock/gather/base-gatherer.js';
24
24
 
25
25
  /* global document, window, HTMLLinkElement, SVGScriptElement */
26
26
 
@@ -235,4 +235,4 @@ class TagsBlockingFirstPaint extends FRGatherer {
235
235
  }
236
236
  }
237
237
 
238
- module.exports = TagsBlockingFirstPaint;
238
+ export default TagsBlockingFirstPaint;
@@ -7,11 +7,12 @@
7
7
 
8
8
  /* globals window document getBoundingClientRect requestAnimationFrame */
9
9
 
10
- const FRGatherer = require('../../fraggle-rock/gather/base-gatherer.js');
11
- const emulation = require('../../lib/emulation.js');
12
- const pageFunctions = require('../../lib/page-functions.js');
13
- const NetworkMonitor = require('../driver/network-monitor.js');
14
- const {waitForNetworkIdle} = require('../driver/wait-for-condition.js');
10
+ import FRGatherer from '../../fraggle-rock/gather/base-gatherer.js';
11
+
12
+ import * as emulation from '../../lib/emulation.js';
13
+ import {pageFunctions} from '../../lib/page-functions.js';
14
+ import {NetworkMonitor} from '../driver/network-monitor.js';
15
+ import {waitForNetworkIdle} from '../driver/wait-for-condition.js';
15
16
 
16
17
  // JPEG quality setting
17
18
  // Exploration and examples of reports using different quality settings: https://docs.google.com/document/d/1ZSffucIca9XDW2eEwfoevrk-OTl7WQFeMf0CgeJAA8M/edit#
@@ -233,4 +234,4 @@ class FullPageScreenshot extends FRGatherer {
233
234
  }
234
235
  }
235
236
 
236
- module.exports = FullPageScreenshot;
237
+ export default FullPageScreenshot;
@@ -56,4 +56,4 @@ class Gatherer {
56
56
  /* eslint-enable no-unused-vars */
57
57
  }
58
58
 
59
- module.exports = Gatherer;
59
+ export {Gatherer};
@@ -12,7 +12,7 @@
12
12
  * around page unload, but this can be expanded in the future.
13
13
  */
14
14
 
15
- const FRGatherer = require('../../fraggle-rock/gather/base-gatherer.js');
15
+ import FRGatherer from '../../fraggle-rock/gather/base-gatherer.js';
16
16
 
17
17
  class GlobalListeners extends FRGatherer {
18
18
  /** @type {LH.Gatherer.GathererMeta} */
@@ -89,4 +89,4 @@ class GlobalListeners extends FRGatherer {
89
89
  }
90
90
  }
91
91
 
92
- module.exports = GlobalListeners;
92
+ export default GlobalListeners;
@@ -7,8 +7,9 @@
7
7
 
8
8
  /* global getNodeDetails */
9
9
 
10
- const FRGatherer = require('../../fraggle-rock/gather/base-gatherer.js');
11
- const pageFunctions = require('../../lib/page-functions.js');
10
+ import FRGatherer from '../../fraggle-rock/gather/base-gatherer.js';
11
+
12
+ import {pageFunctions} from '../../lib/page-functions.js';
12
13
 
13
14
  /* eslint-env browser, node */
14
15
 
@@ -65,4 +66,4 @@ class IFrameElements extends FRGatherer {
65
66
  }
66
67
  }
67
68
 
68
- module.exports = IFrameElements;
69
+ export default IFrameElements;
@@ -9,10 +9,10 @@
9
9
  */
10
10
  'use strict';
11
11
 
12
- const log = require('lighthouse-logger');
13
- const FRGatherer = require('../../fraggle-rock/gather/base-gatherer.js');
14
- const pageFunctions = require('../../lib/page-functions.js');
15
- const FontSize = require('./seo/font-size.js');
12
+ import log from 'lighthouse-logger';
13
+ import FRGatherer from '../../fraggle-rock/gather/base-gatherer.js';
14
+ import {pageFunctions} from '../../lib/page-functions.js';
15
+ import * as FontSize from './seo/font-size.js';
16
16
 
17
17
  /* global window, getElementsInDocument, Image, getNodeDetails, ShadowRoot */
18
18
 
@@ -374,4 +374,4 @@ class ImageElements extends FRGatherer {
374
374
  }
375
375
  }
376
376
 
377
- module.exports = ImageElements;
377
+ export default ImageElements;
@@ -7,8 +7,9 @@
7
7
 
8
8
  /* global getNodeDetails */
9
9
 
10
- const FRGatherer = require('../../fraggle-rock/gather/base-gatherer.js');
11
- const pageFunctions = require('../../lib/page-functions.js');
10
+ import FRGatherer from '../../fraggle-rock/gather/base-gatherer.js';
11
+
12
+ import {pageFunctions} from '../../lib/page-functions.js';
12
13
 
13
14
  /* eslint-env browser, node */
14
15
 
@@ -58,7 +59,7 @@ function collectElements() {
58
59
  const parentFormIndex = parentFormEl ?
59
60
  [...formElToArtifact.keys()].indexOf(parentFormEl) :
60
61
  undefined;
61
- const labelIndices = [...inputEl.labels || []].map((labelEl) => {
62
+ const labelIndices = [...(inputEl.labels || [])].map((labelEl) => {
62
63
  return [...labelElToArtifact.keys()].indexOf(labelEl);
63
64
  });
64
65
 
@@ -110,4 +111,4 @@ class Inputs extends FRGatherer {
110
111
  }
111
112
  }
112
113
 
113
- module.exports = Inputs;
114
+ export default Inputs;