lighthouse 11.7.0-dev.20240325 → 11.7.0-dev.20240327

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 (128) hide show
  1. package/core/audits/accessibility/accesskeys.js +1 -1
  2. package/core/audits/accessibility/aria-allowed-attr.js +1 -1
  3. package/core/audits/accessibility/aria-allowed-role.js +1 -1
  4. package/core/audits/accessibility/aria-command-name.js +1 -1
  5. package/core/audits/accessibility/aria-dialog-name.js +1 -1
  6. package/core/audits/accessibility/aria-hidden-body.js +1 -1
  7. package/core/audits/accessibility/aria-hidden-focus.js +1 -1
  8. package/core/audits/accessibility/aria-input-field-name.js +1 -1
  9. package/core/audits/accessibility/aria-meter-name.js +1 -1
  10. package/core/audits/accessibility/aria-progressbar-name.js +1 -1
  11. package/core/audits/accessibility/aria-required-attr.js +1 -1
  12. package/core/audits/accessibility/aria-required-children.js +1 -1
  13. package/core/audits/accessibility/aria-required-parent.js +1 -1
  14. package/core/audits/accessibility/aria-roles.js +1 -1
  15. package/core/audits/accessibility/aria-text.js +1 -1
  16. package/core/audits/accessibility/aria-toggle-field-name.js +1 -1
  17. package/core/audits/accessibility/aria-tooltip-name.js +1 -1
  18. package/core/audits/accessibility/aria-treeitem-name.js +1 -1
  19. package/core/audits/accessibility/aria-valid-attr-value.js +1 -1
  20. package/core/audits/accessibility/aria-valid-attr.js +1 -1
  21. package/core/audits/accessibility/button-name.js +1 -1
  22. package/core/audits/accessibility/bypass.js +1 -1
  23. package/core/audits/accessibility/color-contrast.js +1 -1
  24. package/core/audits/accessibility/definition-list.js +1 -1
  25. package/core/audits/accessibility/dlitem.js +1 -1
  26. package/core/audits/accessibility/document-title.js +1 -1
  27. package/core/audits/accessibility/duplicate-id-active.js +1 -1
  28. package/core/audits/accessibility/duplicate-id-aria.js +1 -1
  29. package/core/audits/accessibility/empty-heading.js +1 -1
  30. package/core/audits/accessibility/form-field-multiple-labels.js +1 -1
  31. package/core/audits/accessibility/frame-title.js +1 -1
  32. package/core/audits/accessibility/heading-order.js +1 -1
  33. package/core/audits/accessibility/html-has-lang.js +1 -1
  34. package/core/audits/accessibility/html-lang-valid.js +1 -1
  35. package/core/audits/accessibility/html-xml-lang-mismatch.js +1 -1
  36. package/core/audits/accessibility/identical-links-same-purpose.js +1 -1
  37. package/core/audits/accessibility/image-alt.js +1 -1
  38. package/core/audits/accessibility/image-redundant-alt.js +1 -1
  39. package/core/audits/accessibility/input-button-name.js +1 -1
  40. package/core/audits/accessibility/input-image-alt.js +1 -1
  41. package/core/audits/accessibility/label-content-name-mismatch.js +1 -1
  42. package/core/audits/accessibility/label.js +1 -1
  43. package/core/audits/accessibility/landmark-one-main.js +1 -1
  44. package/core/audits/accessibility/link-in-text-block.js +1 -1
  45. package/core/audits/accessibility/link-name.js +1 -1
  46. package/core/audits/accessibility/list.js +1 -1
  47. package/core/audits/accessibility/listitem.js +1 -1
  48. package/core/audits/accessibility/meta-refresh.js +1 -1
  49. package/core/audits/accessibility/meta-viewport.js +1 -1
  50. package/core/audits/accessibility/object-alt.js +1 -1
  51. package/core/audits/accessibility/select-name.js +1 -1
  52. package/core/audits/accessibility/skip-link.js +1 -1
  53. package/core/audits/accessibility/tabindex.js +1 -1
  54. package/core/audits/accessibility/table-duplicate-name.js +1 -1
  55. package/core/audits/accessibility/table-fake-caption.js +1 -1
  56. package/core/audits/accessibility/target-size.js +1 -1
  57. package/core/audits/accessibility/td-has-header.js +1 -1
  58. package/core/audits/accessibility/td-headers-attr.js +1 -1
  59. package/core/audits/accessibility/th-has-data-cells.js +1 -1
  60. package/core/audits/accessibility/valid-lang.js +1 -1
  61. package/core/audits/accessibility/video-caption.js +1 -1
  62. package/core/audits/work-during-interaction.d.ts +2 -2
  63. package/core/audits/work-during-interaction.js +2 -2
  64. package/core/computed/metrics/lantern-metric.js +1 -3
  65. package/core/computed/metrics/metric.js +1 -3
  66. package/core/config/default-config.js +5 -9
  67. package/core/lib/lighthouse-compatibility.js +33 -0
  68. package/dist/report/bundle.esm.js +1 -1
  69. package/dist/report/flow.js +1 -1
  70. package/dist/report/standalone.js +1 -1
  71. package/package.json +2 -2
  72. package/report/renderer/report-utils.js +13 -10
  73. package/shared/localization/locales/ar-XB.json +1 -10
  74. package/shared/localization/locales/ar.json +1 -10
  75. package/shared/localization/locales/bg.json +1 -10
  76. package/shared/localization/locales/ca.json +1 -10
  77. package/shared/localization/locales/cs.json +1 -10
  78. package/shared/localization/locales/da.json +1 -10
  79. package/shared/localization/locales/de.json +1 -10
  80. package/shared/localization/locales/el.json +1 -10
  81. package/shared/localization/locales/en-GB.json +1 -10
  82. package/shared/localization/locales/en-US.json +63 -72
  83. package/shared/localization/locales/en-XA.json +1 -10
  84. package/shared/localization/locales/en-XL.json +63 -72
  85. package/shared/localization/locales/es-419.json +1 -10
  86. package/shared/localization/locales/es.json +1 -10
  87. package/shared/localization/locales/fi.json +1 -10
  88. package/shared/localization/locales/fil.json +1 -10
  89. package/shared/localization/locales/fr.json +1 -10
  90. package/shared/localization/locales/he.json +1 -10
  91. package/shared/localization/locales/hi.json +1 -10
  92. package/shared/localization/locales/hr.json +1 -10
  93. package/shared/localization/locales/hu.json +1 -10
  94. package/shared/localization/locales/id.json +1 -10
  95. package/shared/localization/locales/it.json +1 -10
  96. package/shared/localization/locales/ja.json +1 -10
  97. package/shared/localization/locales/ko.json +1 -10
  98. package/shared/localization/locales/lt.json +1 -10
  99. package/shared/localization/locales/lv.json +1 -10
  100. package/shared/localization/locales/nl.json +1 -10
  101. package/shared/localization/locales/no.json +1 -10
  102. package/shared/localization/locales/pl.json +1 -10
  103. package/shared/localization/locales/pt-PT.json +1 -10
  104. package/shared/localization/locales/pt.json +1 -10
  105. package/shared/localization/locales/ro.json +1 -10
  106. package/shared/localization/locales/ru.json +1 -10
  107. package/shared/localization/locales/sk.json +1 -10
  108. package/shared/localization/locales/sl.json +1 -10
  109. package/shared/localization/locales/sr-Latn.json +1 -10
  110. package/shared/localization/locales/sr.json +1 -10
  111. package/shared/localization/locales/sv.json +1 -10
  112. package/shared/localization/locales/ta.json +1 -10
  113. package/shared/localization/locales/te.json +1 -10
  114. package/shared/localization/locales/th.json +1 -10
  115. package/shared/localization/locales/tr.json +1 -10
  116. package/shared/localization/locales/uk.json +1 -10
  117. package/shared/localization/locales/vi.json +1 -10
  118. package/shared/localization/locales/zh-HK.json +1 -10
  119. package/shared/localization/locales/zh-TW.json +1 -10
  120. package/shared/localization/locales/zh.json +1 -10
  121. package/types/config.d.ts +0 -1
  122. package/types/lhr/lhr.d.ts +0 -2
  123. package/core/audits/no-unload-listeners.d.ts +0 -16
  124. package/core/audits/no-unload-listeners.js +0 -86
  125. package/core/config/metrics-to-audits.d.ts +0 -19
  126. package/core/config/metrics-to-audits.js +0 -60
  127. package/core/gather/gatherers/global-listeners.d.ts +0 -27
  128. package/core/gather/gatherers/global-listeners.js +0 -108
@@ -1,108 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2020 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- /**
8
- * @fileoverview
9
- * A gatherer to collect information about the event listeners registered on the
10
- * global object. For now, the scope is narrowed to events that occur on and
11
- * around page unload, but this can be expanded in the future.
12
- */
13
-
14
- import log from 'lighthouse-logger';
15
-
16
- import BaseGatherer from '../base-gatherer.js';
17
-
18
- class GlobalListeners extends BaseGatherer {
19
- /** @type {LH.Gatherer.GathererMeta} */
20
- meta = {
21
- supportedModes: ['snapshot', 'timespan', 'navigation'],
22
- };
23
-
24
- /**
25
- * @param {LH.Crdp.DOMDebugger.EventListener} listener
26
- * @return {listener is {type: 'pagehide'|'unload'|'visibilitychange'} & LH.Crdp.DOMDebugger.EventListener}
27
- */
28
- static _filterForAllowlistedTypes(listener) {
29
- return listener.type === 'pagehide' ||
30
- listener.type === 'unload' ||
31
- listener.type === 'visibilitychange';
32
- }
33
-
34
- /**
35
- * @param { LH.Artifacts.GlobalListener } listener
36
- * @return { string }
37
- */
38
- getListenerIndentifier(listener) {
39
- return `${listener.type}:${listener.scriptId}:${listener.columnNumber}:${listener.lineNumber}`;
40
- }
41
-
42
- /**
43
- * @param { LH.Artifacts['GlobalListeners'] } listeners
44
- * @return { LH.Artifacts['GlobalListeners'] }
45
- */
46
- dedupeListeners(listeners) {
47
- const seenListeners = new Set();
48
- return listeners.filter(listener => {
49
- const id = this.getListenerIndentifier(listener);
50
- if (!seenListeners.has(id)) {
51
- seenListeners.add(id);
52
- return true;
53
- } else {
54
- return false;
55
- }
56
- });
57
- }
58
-
59
- /**
60
- * @param {LH.Gatherer.Context} passContext
61
- * @return {Promise<LH.Artifacts['GlobalListeners']>}
62
- */
63
- async getArtifact(passContext) {
64
- const session = passContext.driver.defaultSession;
65
-
66
- /** @type {Array<LH.Artifacts.GlobalListener>} */
67
- const listeners = [];
68
-
69
- for (const executionContext of passContext.driver.targetManager.mainFrameExecutionContexts()) {
70
- // Get a RemoteObject handle to `window`.
71
- let objectId;
72
- try {
73
- const {result} = await session.sendCommand('Runtime.evaluate', {
74
- expression: 'window',
75
- returnByValue: false,
76
- uniqueContextId: executionContext.uniqueId,
77
- });
78
- if (!result.objectId) {
79
- throw new Error('Error fetching information about the global object');
80
- }
81
- objectId = result.objectId;
82
- } catch (err) {
83
- // Execution context is no longer valid, but don't let that fail the gatherer.
84
- log.warn('Execution context is no longer valid', executionContext, err);
85
- continue;
86
- }
87
-
88
- // And get all its listeners of interest.
89
- const response = await session.sendCommand('DOMDebugger.getEventListeners', {objectId});
90
- for (const listener of response.listeners) {
91
- if (GlobalListeners._filterForAllowlistedTypes(listener)) {
92
- const {type, scriptId, lineNumber, columnNumber} = listener;
93
- listeners.push({
94
- type,
95
- scriptId,
96
- lineNumber,
97
- columnNumber,
98
- });
99
- }
100
- }
101
- }
102
-
103
- // Dedupe listeners with same underlying data.
104
- return this.dedupeListeners(listeners);
105
- }
106
- }
107
-
108
- export default GlobalListeners;