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
@@ -11,8 +11,9 @@
11
11
  * See base class in axe-audit.js for audit() implementation.
12
12
  */
13
13
 
14
- const AxeAudit = require('./axe-audit.js');
15
- const i18n = require('../../lib/i18n/i18n.js');
14
+ import AxeAudit from './axe-audit.js';
15
+
16
+ import * as i18n from '../../lib/i18n/i18n.js';
16
17
 
17
18
  const UIStrings = {
18
19
  /** Title of an accesibility audit that evaluates if the elements with an aria-role that require child elements have the required children. This title is descriptive of the successful state and is shown to users when no user action is required. */
@@ -27,7 +28,7 @@ const UIStrings = {
27
28
  '[Learn more](https://dequeuniversity.com/rules/axe/4.4/aria-required-children).',
28
29
  };
29
30
 
30
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
31
+ const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
31
32
 
32
33
  class AriaRequiredChildren extends AxeAudit {
33
34
  /**
@@ -44,5 +45,5 @@ class AriaRequiredChildren extends AxeAudit {
44
45
  }
45
46
  }
46
47
 
47
- module.exports = AriaRequiredChildren;
48
- module.exports.UIStrings = UIStrings;
48
+ export default AriaRequiredChildren;
49
+ export {UIStrings};
@@ -11,8 +11,9 @@
11
11
  * See base class in axe-audit.js for audit() implementation.
12
12
  */
13
13
 
14
- const AxeAudit = require('./axe-audit.js');
15
- const i18n = require('../../lib/i18n/i18n.js');
14
+ import AxeAudit from './axe-audit.js';
15
+
16
+ import * as i18n from '../../lib/i18n/i18n.js';
16
17
 
17
18
  const UIStrings = {
18
19
  /** Title of an accesibility audit that evaluates valid aria-role usage. Some ARIA roles require that elements must be a child of specific parent element. This audit checks that when those roles are used, the element with the role is in fact a child of the required parent. This title is descriptive of the successful state and is shown to users when no user action is required. */
@@ -25,7 +26,7 @@ const UIStrings = {
25
26
  '[Learn more](https://dequeuniversity.com/rules/axe/4.4/aria-required-parent).',
26
27
  };
27
28
 
28
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
29
+ const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
29
30
 
30
31
  class AriaRequiredParent extends AxeAudit {
31
32
  /**
@@ -42,5 +43,5 @@ class AriaRequiredParent extends AxeAudit {
42
43
  }
43
44
  }
44
45
 
45
- module.exports = AriaRequiredParent;
46
- module.exports.UIStrings = UIStrings;
46
+ export default AriaRequiredParent;
47
+ export {UIStrings};
@@ -10,8 +10,9 @@
10
10
  * See base class in axe-audit.js for audit() implementation.
11
11
  */
12
12
 
13
- const AxeAudit = require('./axe-audit.js');
14
- const i18n = require('../../lib/i18n/i18n.js');
13
+ import AxeAudit from './axe-audit.js';
14
+
15
+ import * as i18n from '../../lib/i18n/i18n.js';
15
16
 
16
17
  const UIStrings = {
17
18
  /** Title of an accesibility audit that evaluates if all elements have valid aria-role HTML attributes. This title is descriptive of the successful state and is shown to users when no user action is required. */
@@ -24,7 +25,7 @@ const UIStrings = {
24
25
  '[Learn more](https://dequeuniversity.com/rules/axe/4.4/aria-roles).',
25
26
  };
26
27
 
27
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
28
+ const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
28
29
 
29
30
  class AriaRoles extends AxeAudit {
30
31
  /**
@@ -41,5 +42,5 @@ class AriaRoles extends AxeAudit {
41
42
  }
42
43
  }
43
44
 
44
- module.exports = AriaRoles;
45
- module.exports.UIStrings = UIStrings;
45
+ export default AriaRoles;
46
+ export {UIStrings};
@@ -10,8 +10,9 @@
10
10
  * See base class in axe-audit.js for audit() implementation.
11
11
  */
12
12
 
13
- const AxeAudit = require('./axe-audit.js');
14
- const i18n = require('../../lib/i18n/i18n.js');
13
+ import AxeAudit from './axe-audit.js';
14
+
15
+ import * as i18n from '../../lib/i18n/i18n.js';
15
16
 
16
17
  const UIStrings = {
17
18
  /** Title of an accesibility audit that checks that all ARIA toggle fields have an accessible name. This title is descriptive of the successful state and is shown to users when no user action is required. */
@@ -22,7 +23,7 @@ const UIStrings = {
22
23
  description: 'When a toggle field doesn\'t have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn more](https://dequeuniversity.com/rules/axe/4.4/aria-toggle-field-name).',
23
24
  };
24
25
 
25
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
26
+ const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
26
27
 
27
28
  class AriaToggleFieldName extends AxeAudit {
28
29
  /**
@@ -39,5 +40,5 @@ class AriaToggleFieldName extends AxeAudit {
39
40
  }
40
41
  }
41
42
 
42
- module.exports = AriaToggleFieldName;
43
- module.exports.UIStrings = UIStrings;
43
+ export default AriaToggleFieldName;
44
+ export {UIStrings};
@@ -10,8 +10,9 @@
10
10
  * See base class in axe-audit.js for audit() implementation.
11
11
  */
12
12
 
13
- const AxeAudit = require('./axe-audit.js');
14
- const i18n = require('../../lib/i18n/i18n.js');
13
+ import AxeAudit from './axe-audit.js';
14
+
15
+ import * as i18n from '../../lib/i18n/i18n.js';
15
16
 
16
17
  const UIStrings = {
17
18
  /** Title of an accessibility audit that evaluates if tooltip HTML elements have an accessible name. This title is descriptive of the successful state and is shown to users when no user action is required. */
@@ -22,7 +23,7 @@ const UIStrings = {
22
23
  description: 'When an element doesn\'t have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn more](https://dequeuniversity.com/rules/axe/4.4/aria-tooltip-name).',
23
24
  };
24
25
 
25
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
26
+ const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
26
27
 
27
28
  class AriaTooltipName extends AxeAudit {
28
29
  /**
@@ -39,5 +40,5 @@ class AriaTooltipName extends AxeAudit {
39
40
  }
40
41
  }
41
42
 
42
- module.exports = AriaTooltipName;
43
- module.exports.UIStrings = UIStrings;
43
+ export default AriaTooltipName;
44
+ export {UIStrings};
@@ -10,8 +10,9 @@
10
10
  * See base class in axe-audit.js for audit() implementation.
11
11
  */
12
12
 
13
- const AxeAudit = require('./axe-audit.js');
14
- const i18n = require('../../lib/i18n/i18n.js');
13
+ import AxeAudit from './axe-audit.js';
14
+
15
+ import * as i18n from '../../lib/i18n/i18n.js';
15
16
 
16
17
  const UIStrings = {
17
18
  /** Title of an accessibility audit that evaluates if treeitem HTML elements have an accessible name. This title is descriptive of the successful state and is shown to users when no user action is required. */
@@ -22,7 +23,7 @@ const UIStrings = {
22
23
  description: 'When an element doesn\'t have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn more](https://dequeuniversity.com/rules/axe/4.4/aria-treeitem-name).',
23
24
  };
24
25
 
25
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
26
+ const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
26
27
 
27
28
  class AriaTreeitemName extends AxeAudit {
28
29
  /**
@@ -39,5 +40,5 @@ class AriaTreeitemName extends AxeAudit {
39
40
  }
40
41
  }
41
42
 
42
- module.exports = AriaTreeitemName;
43
- module.exports.UIStrings = UIStrings;
43
+ export default AriaTreeitemName;
44
+ export {UIStrings};
@@ -10,8 +10,9 @@
10
10
  * See base class in axe-audit.js for audit() implementation.
11
11
  */
12
12
 
13
- const AxeAudit = require('./axe-audit.js');
14
- const i18n = require('../../lib/i18n/i18n.js');
13
+ import AxeAudit from './axe-audit.js';
14
+
15
+ import * as i18n from '../../lib/i18n/i18n.js';
15
16
 
16
17
  const UIStrings = {
17
18
  /** Title of an accesibility audit that evaluates if all elements that have an ARIA HTML attribute have a valid value for that attribute. This title is descriptive of the successful state and is shown to users when no user action is required. */
@@ -24,7 +25,7 @@ const UIStrings = {
24
25
  'more](https://dequeuniversity.com/rules/axe/4.4/aria-valid-attr-value).',
25
26
  };
26
27
 
27
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
28
+ const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
28
29
 
29
30
  class ARIAValidAttr extends AxeAudit {
30
31
  /**
@@ -41,5 +42,5 @@ class ARIAValidAttr extends AxeAudit {
41
42
  }
42
43
  }
43
44
 
44
- module.exports = ARIAValidAttr;
45
- module.exports.UIStrings = UIStrings;
45
+ export default ARIAValidAttr;
46
+ export {UIStrings};
@@ -10,8 +10,9 @@
10
10
  * See base class in axe-audit.js for audit() implementation.
11
11
  */
12
12
 
13
- const AxeAudit = require('./axe-audit.js');
14
- const i18n = require('../../lib/i18n/i18n.js');
13
+ import AxeAudit from './axe-audit.js';
14
+
15
+ import * as i18n from '../../lib/i18n/i18n.js';
15
16
 
16
17
  const UIStrings = {
17
18
  /** Title of an accesibility audit that evaluates if all elements with ARIA HTML attributes have spelled the name of attribute correctly. This title is descriptive of the successful state and is shown to users when no user action is required. */
@@ -24,7 +25,7 @@ const UIStrings = {
24
25
  'more](https://dequeuniversity.com/rules/axe/4.4/aria-valid-attr).',
25
26
  };
26
27
 
27
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
28
+ const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
28
29
 
29
30
  class ARIAValidAttr extends AxeAudit {
30
31
  /**
@@ -41,5 +42,5 @@ class ARIAValidAttr extends AxeAudit {
41
42
  }
42
43
  }
43
44
 
44
- module.exports = ARIAValidAttr;
45
- module.exports.UIStrings = UIStrings;
45
+ export default ARIAValidAttr;
46
+ export {UIStrings};
@@ -10,15 +10,16 @@
10
10
  * generate audit results using aXe rule names.
11
11
  */
12
12
 
13
- const Audit = require('../audit.js');
14
- const i18n = require('../../lib/i18n/i18n.js');
13
+ import {Audit} from '../audit.js';
14
+
15
+ import * as i18n from '../../lib/i18n/i18n.js';
15
16
 
16
17
  const UIStrings = {
17
18
  /** Label of a table column that identifies HTML elements that have failed an audit. */
18
19
  failingElementsHeader: 'Failing Elements',
19
20
  };
20
21
 
21
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
22
+ const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
22
23
 
23
24
  class AxeAudit extends Audit {
24
25
  /**
@@ -110,5 +111,5 @@ class AxeAudit extends Audit {
110
111
  }
111
112
  }
112
113
 
113
- module.exports = AxeAudit;
114
- module.exports.UIStrings = UIStrings;
114
+ export default AxeAudit;
115
+ export {UIStrings};
@@ -10,8 +10,9 @@
10
10
  * See base class in axe-audit.js for audit() implementation.
11
11
  */
12
12
 
13
- const AxeAudit = require('./axe-audit.js');
14
- const i18n = require('../../lib/i18n/i18n.js');
13
+ import AxeAudit from './axe-audit.js';
14
+
15
+ import * as i18n from '../../lib/i18n/i18n.js';
15
16
 
16
17
  const UIStrings = {
17
18
  /** Title of an accesibility audit that evaluates if all button elements have names accessible to screen readers. This title is descriptive of the successful state and is shown to users when no user action is required. */
@@ -24,7 +25,7 @@ const UIStrings = {
24
25
  '[Learn more](https://dequeuniversity.com/rules/axe/4.4/button-name).',
25
26
  };
26
27
 
27
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
28
+ const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
28
29
 
29
30
  class ButtonName extends AxeAudit {
30
31
  /**
@@ -41,5 +42,5 @@ class ButtonName extends AxeAudit {
41
42
  }
42
43
  }
43
44
 
44
- module.exports = ButtonName;
45
- module.exports.UIStrings = UIStrings;
45
+ export default ButtonName;
46
+ export {UIStrings};
@@ -11,8 +11,9 @@
11
11
  * See base class in axe-audit.js for audit() implementation.
12
12
  */
13
13
 
14
- const AxeAudit = require('./axe-audit.js');
15
- const i18n = require('../../lib/i18n/i18n.js');
14
+ import AxeAudit from './axe-audit.js';
15
+
16
+ import * as i18n from '../../lib/i18n/i18n.js';
16
17
 
17
18
  const UIStrings = {
18
19
  /** Title of an accesibility audit that evaluates if the page has elements that let screen reader users skip over repetitive content. `heading`, `skip link`, and `landmark region` are technical terms for the elements that enable quick page navigation. This title is descriptive of the successful state and is shown to users when no user action is required. */
@@ -25,7 +26,7 @@ const UIStrings = {
25
26
  '[Learn more](https://dequeuniversity.com/rules/axe/4.4/bypass).',
26
27
  };
27
28
 
28
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
29
+ const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
29
30
 
30
31
  class Bypass extends AxeAudit {
31
32
  /**
@@ -42,5 +43,5 @@ class Bypass extends AxeAudit {
42
43
  }
43
44
  }
44
45
 
45
- module.exports = Bypass;
46
- module.exports.UIStrings = UIStrings;
46
+ export default Bypass;
47
+ export {UIStrings};
@@ -11,8 +11,9 @@
11
11
  * See base class in axe-audit.js for audit() implementation.
12
12
  */
13
13
 
14
- const AxeAudit = require('./axe-audit.js');
15
- const i18n = require('../../lib/i18n/i18n.js');
14
+ import AxeAudit from './axe-audit.js';
15
+
16
+ import * as i18n from '../../lib/i18n/i18n.js';
16
17
 
17
18
  const UIStrings = {
18
19
  /** Title of an accesibility audit that evaluates if all foreground colors are distinct enough from their background colors to be legible for users. This title is descriptive of the successful state and is shown to users when no user action is required. */
@@ -25,7 +26,7 @@ const UIStrings = {
25
26
  '[Learn more](https://dequeuniversity.com/rules/axe/4.4/color-contrast).',
26
27
  };
27
28
 
28
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
29
+ const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
29
30
 
30
31
  class ColorContrast extends AxeAudit {
31
32
  /**
@@ -42,5 +43,5 @@ class ColorContrast extends AxeAudit {
42
43
  }
43
44
  }
44
45
 
45
- module.exports = ColorContrast;
46
- module.exports.UIStrings = UIStrings;
46
+ export default ColorContrast;
47
+ export {UIStrings};
@@ -10,8 +10,9 @@
10
10
  * See base class in axe-audit.js for audit() implementation.
11
11
  */
12
12
 
13
- const AxeAudit = require('./axe-audit.js');
14
- const i18n = require('../../lib/i18n/i18n.js');
13
+ import AxeAudit from './axe-audit.js';
14
+
15
+ import * as i18n from '../../lib/i18n/i18n.js';
15
16
 
16
17
  const UIStrings = {
17
18
  /** Title of an accesibility audit that evaluates if all the definition list elements have valid markup for screen readers. This title is descriptive of the successful state and is shown to users when no user action is required. */
@@ -26,7 +27,7 @@ const UIStrings = {
26
27
  '[Learn more](https://dequeuniversity.com/rules/axe/4.4/definition-list).',
27
28
  };
28
29
 
29
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
30
+ const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
30
31
 
31
32
  class DefinitionList extends AxeAudit {
32
33
  /**
@@ -43,5 +44,5 @@ class DefinitionList extends AxeAudit {
43
44
  }
44
45
  }
45
46
 
46
- module.exports = DefinitionList;
47
- module.exports.UIStrings = UIStrings;
47
+ export default DefinitionList;
48
+ export {UIStrings};
@@ -10,8 +10,9 @@
10
10
  * See base class in axe-audit.js for audit() implementation.
11
11
  */
12
12
 
13
- const AxeAudit = require('./axe-audit.js');
14
- const i18n = require('../../lib/i18n/i18n.js');
13
+ import AxeAudit from './axe-audit.js';
14
+
15
+ import * as i18n from '../../lib/i18n/i18n.js';
15
16
 
16
17
  const UIStrings = {
17
18
  /** Title of an accesibility audit that evaluates if all definition list item elements (`<dt>`/`<dd>`) have a definition list parent element (`<dl>`). This title is descriptive of the successful state and is shown to users when no user action is required. */
@@ -24,7 +25,7 @@ const UIStrings = {
24
25
  '[Learn more](https://dequeuniversity.com/rules/axe/4.4/dlitem).',
25
26
  };
26
27
 
27
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
28
+ const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
28
29
 
29
30
  class DLItem extends AxeAudit {
30
31
  /**
@@ -41,5 +42,5 @@ class DLItem extends AxeAudit {
41
42
  }
42
43
  }
43
44
 
44
- module.exports = DLItem;
45
- module.exports.UIStrings = UIStrings;
45
+ export default DLItem;
46
+ export {UIStrings};
@@ -10,8 +10,9 @@
10
10
  * See base class in axe-audit.js for audit() implementation.
11
11
  */
12
12
 
13
- const AxeAudit = require('./axe-audit.js');
14
- const i18n = require('../../lib/i18n/i18n.js');
13
+ import AxeAudit from './axe-audit.js';
14
+
15
+ import * as i18n from '../../lib/i18n/i18n.js';
15
16
 
16
17
  const UIStrings = {
17
18
  /** Title of an accesibility audit that evaluates if the page has a <title> element that describes the page. This title is descriptive of the successful state and is shown to users when no user action is required. */
@@ -24,7 +25,7 @@ const UIStrings = {
24
25
  '[Learn more](https://dequeuniversity.com/rules/axe/4.4/document-title).',
25
26
  };
26
27
 
27
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
28
+ const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
28
29
 
29
30
  class DocumentTitle extends AxeAudit {
30
31
  /**
@@ -41,5 +42,5 @@ class DocumentTitle extends AxeAudit {
41
42
  }
42
43
  }
43
44
 
44
- module.exports = DocumentTitle;
45
- module.exports.UIStrings = UIStrings;
45
+ export default DocumentTitle;
46
+ export {UIStrings};
@@ -10,8 +10,9 @@
10
10
  * See base class in axe-audit.js for audit() implementation.
11
11
  */
12
12
 
13
- const AxeAudit = require('./axe-audit.js');
14
- const i18n = require('../../lib/i18n/i18n.js');
13
+ import AxeAudit from './axe-audit.js';
14
+
15
+ import * as i18n from '../../lib/i18n/i18n.js';
15
16
 
16
17
  const UIStrings = {
17
18
  /** Title of an accesibility audit that checks if there are any duplicate id HTML attributes on active, focusable elements. This title is descriptive of the successful state and is shown to users when no user action is required. */
@@ -22,7 +23,7 @@ const UIStrings = {
22
23
  description: 'All focusable elements must have a unique `id` to ensure that they\'re visible to assistive technologies. [Learn more](https://dequeuniversity.com/rules/axe/4.4/duplicate-id-active).',
23
24
  };
24
25
 
25
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
26
+ const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
26
27
 
27
28
  class DuplicateIdActive extends AxeAudit {
28
29
  /**
@@ -39,5 +40,5 @@ class DuplicateIdActive extends AxeAudit {
39
40
  }
40
41
  }
41
42
 
42
- module.exports = DuplicateIdActive;
43
- module.exports.UIStrings = UIStrings;
43
+ export default DuplicateIdActive;
44
+ export {UIStrings};
@@ -10,8 +10,9 @@
10
10
  * See base class in axe-audit.js for audit() implementation.
11
11
  */
12
12
 
13
- const AxeAudit = require('./axe-audit.js');
14
- const i18n = require('../../lib/i18n/i18n.js');
13
+ import AxeAudit from './axe-audit.js';
14
+
15
+ import * as i18n from '../../lib/i18n/i18n.js';
15
16
 
16
17
  const UIStrings = {
17
18
  /** Title of an accesibility audit that checks if there are any duplicate ARIA IDs on the page. This title is descriptive of the successful state and is shown to users when no user action is required. */
@@ -22,7 +23,7 @@ const UIStrings = {
22
23
  description: 'The value of an ARIA ID must be unique to prevent other instances from being overlooked by assistive technologies. [Learn more](https://dequeuniversity.com/rules/axe/4.4/duplicate-id-aria).',
23
24
  };
24
25
 
25
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
26
+ const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
26
27
 
27
28
  class DuplicateIdAria extends AxeAudit {
28
29
  /**
@@ -39,5 +40,5 @@ class DuplicateIdAria extends AxeAudit {
39
40
  }
40
41
  }
41
42
 
42
- module.exports = DuplicateIdAria;
43
- module.exports.UIStrings = UIStrings;
43
+ export default DuplicateIdAria;
44
+ export {UIStrings};
@@ -10,8 +10,9 @@
10
10
  * See base class in axe-audit.js for audit() implementation.
11
11
  */
12
12
 
13
- const AxeAudit = require('./axe-audit.js');
14
- const i18n = require('../../lib/i18n/i18n.js');
13
+ import AxeAudit from './axe-audit.js';
14
+
15
+ import * as i18n from '../../lib/i18n/i18n.js';
15
16
 
16
17
  const UIStrings = {
17
18
  /** Title of an accesibility audit that checks if any form fields have multiple label elements. This title is descriptive of the successful state and is shown to users when no user action is required. */
@@ -22,7 +23,7 @@ const UIStrings = {
22
23
  description: 'Form fields with multiple labels can be confusingly announced by assistive technologies like screen readers which use either the first, the last, or all of the labels. [Learn more](https://dequeuniversity.com/rules/axe/4.4/form-field-multiple-labels).',
23
24
  };
24
25
 
25
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
26
+ const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
26
27
 
27
28
  class FormFieldMultipleLabels extends AxeAudit {
28
29
  /**
@@ -40,5 +41,5 @@ class FormFieldMultipleLabels extends AxeAudit {
40
41
  }
41
42
  }
42
43
 
43
- module.exports = FormFieldMultipleLabels;
44
- module.exports.UIStrings = UIStrings;
44
+ export default FormFieldMultipleLabels;
45
+ export {UIStrings};
@@ -10,8 +10,9 @@
10
10
  * See base class in axe-audit.js for audit() implementation.
11
11
  */
12
12
 
13
- const AxeAudit = require('./axe-audit.js');
14
- const i18n = require('../../lib/i18n/i18n.js');
13
+ import AxeAudit from './axe-audit.js';
14
+
15
+ import * as i18n from '../../lib/i18n/i18n.js';
15
16
 
16
17
  const UIStrings = {
17
18
  /** Title of an accesibility audit that evaluates if all `<frame>` and `<iframe>` elements on the page have a title HTML attribute to describe their contents. This title is descriptive of the successful state and is shown to users when no user action is required. */
@@ -23,7 +24,7 @@ const UIStrings = {
23
24
  '[Learn more](https://dequeuniversity.com/rules/axe/4.4/frame-title).',
24
25
  };
25
26
 
26
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
27
+ const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
27
28
 
28
29
  class FrameTitle extends AxeAudit {
29
30
  /**
@@ -40,5 +41,5 @@ class FrameTitle extends AxeAudit {
40
41
  }
41
42
  }
42
43
 
43
- module.exports = FrameTitle;
44
- module.exports.UIStrings = UIStrings;
44
+ export default FrameTitle;
45
+ export {UIStrings};
@@ -10,8 +10,9 @@
10
10
  * See base class in axe-audit.js for audit() implementation.
11
11
  */
12
12
 
13
- const AxeAudit = require('./axe-audit.js');
14
- const i18n = require('../../lib/i18n/i18n.js');
13
+ import AxeAudit from './axe-audit.js';
14
+
15
+ import * as i18n from '../../lib/i18n/i18n.js';
15
16
 
16
17
  const UIStrings = {
17
18
  /** Title of an accesibility audit that checks if heading elements (<h1>, <h2>, etc) appear in numeric order and only ever increase in steps of 1. This title is descriptive of the successful state and is shown to users when no user action is required. */
@@ -22,7 +23,7 @@ const UIStrings = {
22
23
  description: 'Properly ordered headings that do not skip levels convey the semantic structure of the page, making it easier to navigate and understand when using assistive technologies. [Learn more](https://dequeuniversity.com/rules/axe/4.4/heading-order).',
23
24
  };
24
25
 
25
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
26
+ const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
26
27
 
27
28
  class HeadingOrder extends AxeAudit {
28
29
  /**
@@ -39,5 +40,5 @@ class HeadingOrder extends AxeAudit {
39
40
  }
40
41
  }
41
42
 
42
- module.exports = HeadingOrder;
43
- module.exports.UIStrings = UIStrings;
43
+ export default HeadingOrder;
44
+ export {UIStrings};
@@ -10,8 +10,9 @@
10
10
  * See base class in axe-audit.js for audit() implementation.
11
11
  */
12
12
 
13
- const AxeAudit = require('./axe-audit.js');
14
- const i18n = require('../../lib/i18n/i18n.js');
13
+ import AxeAudit from './axe-audit.js';
14
+
15
+ import * as i18n from '../../lib/i18n/i18n.js';
15
16
 
16
17
  const UIStrings = {
17
18
  /** Title of an accesibility audit that evaluates if the root HTML tag has a lang attribute identifying the page's language. This title is descriptive of the successful state and is shown to users when no user action is required. */
@@ -26,7 +27,7 @@ const UIStrings = {
26
27
  '[Learn more](https://dequeuniversity.com/rules/axe/4.4/html-has-lang).',
27
28
  };
28
29
 
29
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
30
+ const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
30
31
 
31
32
  class HTMLHasLang extends AxeAudit {
32
33
  /**
@@ -43,5 +44,5 @@ class HTMLHasLang extends AxeAudit {
43
44
  }
44
45
  }
45
46
 
46
- module.exports = HTMLHasLang;
47
- module.exports.UIStrings = UIStrings;
47
+ export default HTMLHasLang;
48
+ export {UIStrings};
@@ -10,8 +10,9 @@
10
10
  * See base class in axe-audit.js for audit() implementation.
11
11
  */
12
12
 
13
- const AxeAudit = require('./axe-audit.js');
14
- const i18n = require('../../lib/i18n/i18n.js');
13
+ import AxeAudit from './axe-audit.js';
14
+
15
+ import * as i18n from '../../lib/i18n/i18n.js';
15
16
 
16
17
  const UIStrings = {
17
18
  /** Title of an accesibility audit that evaluates if the value for root HTML tag's lang attribute is a valid BCP 47 language. This title is descriptive of the successful state and is shown to users when no user action is required. */
@@ -25,7 +26,7 @@ const UIStrings = {
25
26
  '[Learn more](https://dequeuniversity.com/rules/axe/4.4/html-lang-valid).',
26
27
  };
27
28
 
28
- const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings);
29
+ const str_ = i18n.createMessageInstanceIdFn(import.meta.url, UIStrings);
29
30
 
30
31
  class HTMLLangValid extends AxeAudit {
31
32
  /**
@@ -42,5 +43,5 @@ class HTMLLangValid extends AxeAudit {
42
43
  }
43
44
  }
44
45
 
45
- module.exports = HTMLLangValid;
46
- module.exports.UIStrings = UIStrings;
46
+ export default HTMLLangValid;
47
+ export {UIStrings};