lighthouse 10.4.0 → 11.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (288) hide show
  1. package/CONTRIBUTING.md +1 -1
  2. package/cli/cli-flags.d.ts +1 -6
  3. package/cli/cli-flags.js +0 -5
  4. package/cli/run.js +3 -10
  5. package/cli/sentry-prompt.js +4 -2
  6. package/cli/test/smokehouse/core-tests.js +0 -2
  7. package/cli/test/smokehouse/frontends/smokehouse-bin.js +24 -14
  8. package/cli/test/smokehouse/lighthouse-runners/bundle.d.ts +1 -2
  9. package/cli/test/smokehouse/lighthouse-runners/bundle.js +12 -21
  10. package/cli/test/smokehouse/lighthouse-runners/cli.d.ts +1 -3
  11. package/cli/test/smokehouse/lighthouse-runners/cli.js +3 -7
  12. package/cli/test/smokehouse/lighthouse-runners/devtools.d.ts +1 -5
  13. package/cli/test/smokehouse/lighthouse-runners/devtools.js +1 -12
  14. package/cli/test/smokehouse/readme.md +0 -2
  15. package/cli/test/smokehouse/report-assert.d.ts +1 -3
  16. package/cli/test/smokehouse/report-assert.js +2 -19
  17. package/cli/test/smokehouse/smokehouse.js +3 -32
  18. package/core/audits/accessibility/aria-allowed-role.d.ts +10 -0
  19. package/core/audits/accessibility/aria-allowed-role.js +46 -0
  20. package/core/audits/accessibility/image-redundant-alt.d.ts +10 -0
  21. package/core/audits/accessibility/image-redundant-alt.js +45 -0
  22. package/core/audits/accessibility/label-content-name-mismatch.d.ts +10 -0
  23. package/core/audits/accessibility/label-content-name-mismatch.js +44 -0
  24. package/core/audits/accessibility/skip-link.d.ts +10 -0
  25. package/core/audits/accessibility/skip-link.js +43 -0
  26. package/core/audits/accessibility/table-duplicate-name.d.ts +10 -0
  27. package/core/audits/accessibility/table-duplicate-name.js +44 -0
  28. package/core/audits/accessibility/target-size.js +1 -1
  29. package/core/audits/byte-efficiency/duplicated-javascript.js +2 -2
  30. package/core/audits/byte-efficiency/render-blocking-resources.js +1 -0
  31. package/core/audits/dobetterweb/uses-http2.d.ts +18 -1
  32. package/core/audits/dobetterweb/uses-http2.js +62 -16
  33. package/core/audits/installable-manifest.d.ts +1 -5
  34. package/core/audits/installable-manifest.js +2 -7
  35. package/core/audits/largest-contentful-paint-element.d.ts +0 -6
  36. package/core/audits/largest-contentful-paint-element.js +13 -15
  37. package/core/audits/metrics/{experimental-interaction-to-next-paint.d.ts → interaction-to-next-paint.d.ts} +3 -3
  38. package/core/audits/metrics/{experimental-interaction-to-next-paint.js → interaction-to-next-paint.js} +3 -3
  39. package/core/audits/uses-rel-preconnect.js +23 -8
  40. package/core/audits/work-during-interaction.js +2 -2
  41. package/core/computed/processed-navigation.d.ts +1 -1
  42. package/core/config/config-helpers.d.ts +3 -3
  43. package/core/config/config-helpers.js +5 -12
  44. package/core/config/config.js +1 -7
  45. package/core/config/constants.d.ts +0 -2
  46. package/core/config/constants.js +2 -18
  47. package/core/config/default-config.js +59 -53
  48. package/core/config/filters.js +1 -1
  49. package/core/config/validation.d.ts +7 -12
  50. package/core/config/validation.js +16 -26
  51. package/core/gather/base-artifacts.d.ts +4 -4
  52. package/core/gather/base-artifacts.js +2 -6
  53. package/core/gather/base-gatherer.d.ts +12 -37
  54. package/core/gather/base-gatherer.js +7 -54
  55. package/core/gather/driver/dom.d.ts +4 -4
  56. package/core/gather/driver/dom.js +2 -2
  57. package/core/gather/driver/environment.d.ts +4 -4
  58. package/core/gather/driver/environment.js +2 -2
  59. package/core/gather/driver/execution-context.d.ts +12 -3
  60. package/core/gather/driver/execution-context.js +34 -3
  61. package/core/gather/driver/navigation.d.ts +2 -2
  62. package/core/gather/driver/navigation.js +2 -5
  63. package/core/gather/driver/network-monitor.d.ts +7 -6
  64. package/core/gather/driver/network-monitor.js +4 -4
  65. package/core/gather/driver/network.d.ts +2 -2
  66. package/core/gather/driver/network.js +1 -1
  67. package/core/gather/driver/prepare.d.ts +10 -10
  68. package/core/gather/driver/prepare.js +10 -10
  69. package/core/gather/driver/service-workers.d.ts +4 -4
  70. package/core/gather/driver/service-workers.js +2 -2
  71. package/core/gather/driver/storage.d.ts +6 -6
  72. package/core/gather/driver/storage.js +3 -3
  73. package/core/gather/driver/target-manager.d.ts +6 -5
  74. package/core/gather/driver/target-manager.js +3 -3
  75. package/core/gather/driver/wait-for-condition.d.ts +14 -14
  76. package/core/gather/driver/wait-for-condition.js +8 -8
  77. package/core/gather/driver.d.ts +9 -6
  78. package/core/gather/driver.js +14 -4
  79. package/core/gather/fetcher.d.ts +3 -3
  80. package/core/gather/fetcher.js +1 -1
  81. package/core/gather/gatherers/accessibility.d.ts +4 -4
  82. package/core/gather/gatherers/accessibility.js +8 -3
  83. package/core/gather/gatherers/anchor-elements.d.ts +4 -4
  84. package/core/gather/gatherers/anchor-elements.js +4 -4
  85. package/core/gather/gatherers/bf-cache-failures.d.ts +8 -14
  86. package/core/gather/gatherers/bf-cache-failures.js +5 -14
  87. package/core/gather/gatherers/cache-contents.d.ts +4 -4
  88. package/core/gather/gatherers/cache-contents.js +3 -3
  89. package/core/gather/gatherers/console-messages.d.ts +6 -6
  90. package/core/gather/gatherers/console-messages.js +4 -4
  91. package/core/gather/gatherers/css-usage.d.ts +14 -14
  92. package/core/gather/gatherers/css-usage.js +9 -9
  93. package/core/gather/gatherers/devtools-log-compat.d.ts +5 -5
  94. package/core/gather/gatherers/devtools-log-compat.js +4 -4
  95. package/core/gather/gatherers/devtools-log.d.ts +6 -6
  96. package/core/gather/gatherers/devtools-log.js +4 -4
  97. package/core/gather/gatherers/dobetterweb/doctype.d.ts +4 -4
  98. package/core/gather/gatherers/dobetterweb/doctype.js +3 -3
  99. package/core/gather/gatherers/dobetterweb/domstats.d.ts +4 -4
  100. package/core/gather/gatherers/dobetterweb/domstats.js +3 -3
  101. package/core/gather/gatherers/dobetterweb/optimized-images.d.ts +10 -22
  102. package/core/gather/gatherers/dobetterweb/optimized-images.js +10 -27
  103. package/core/gather/gatherers/dobetterweb/response-compression.d.ts +6 -12
  104. package/core/gather/gatherers/dobetterweb/response-compression.js +14 -21
  105. package/core/gather/gatherers/dobetterweb/tags-blocking-first-paint.d.ts +8 -14
  106. package/core/gather/gatherers/dobetterweb/tags-blocking-first-paint.js +5 -14
  107. package/core/gather/gatherers/full-page-screenshot.d.ts +10 -10
  108. package/core/gather/gatherers/full-page-screenshot.js +7 -10
  109. package/core/gather/gatherers/global-listeners.d.ts +4 -4
  110. package/core/gather/gatherers/global-listeners.js +3 -3
  111. package/core/gather/gatherers/iframe-elements.d.ts +4 -4
  112. package/core/gather/gatherers/iframe-elements.js +3 -3
  113. package/core/gather/gatherers/image-elements.d.ts +10 -10
  114. package/core/gather/gatherers/image-elements.js +6 -6
  115. package/core/gather/gatherers/inputs.d.ts +4 -4
  116. package/core/gather/gatherers/inputs.js +3 -3
  117. package/core/gather/gatherers/inspector-issues.d.ts +8 -19
  118. package/core/gather/gatherers/inspector-issues.js +9 -26
  119. package/core/gather/gatherers/installability-errors.d.ts +6 -6
  120. package/core/gather/gatherers/installability-errors.js +4 -4
  121. package/core/gather/gatherers/js-usage.d.ts +6 -6
  122. package/core/gather/gatherers/js-usage.js +4 -4
  123. package/core/gather/gatherers/link-elements.d.ts +8 -20
  124. package/core/gather/gatherers/link-elements.js +7 -24
  125. package/core/gather/gatherers/main-document-content.d.ts +4 -16
  126. package/core/gather/gatherers/main-document-content.js +5 -23
  127. package/core/gather/gatherers/meta-elements.d.ts +4 -4
  128. package/core/gather/gatherers/meta-elements.js +3 -3
  129. package/core/gather/gatherers/network-user-agent.d.ts +5 -5
  130. package/core/gather/gatherers/network-user-agent.js +4 -4
  131. package/core/gather/gatherers/script-elements.d.ts +6 -11
  132. package/core/gather/gatherers/script-elements.js +4 -13
  133. package/core/gather/gatherers/scripts.d.ts +7 -6
  134. package/core/gather/gatherers/scripts.js +7 -9
  135. package/core/gather/gatherers/seo/embedded-content.d.ts +4 -4
  136. package/core/gather/gatherers/seo/embedded-content.js +3 -3
  137. package/core/gather/gatherers/seo/font-size.d.ts +6 -6
  138. package/core/gather/gatherers/seo/font-size.js +5 -5
  139. package/core/gather/gatherers/seo/robots-txt.d.ts +4 -4
  140. package/core/gather/gatherers/seo/robots-txt.js +3 -3
  141. package/core/gather/gatherers/seo/tap-targets.d.ts +8 -8
  142. package/core/gather/gatherers/seo/tap-targets.js +5 -5
  143. package/core/gather/gatherers/service-worker.d.ts +4 -10
  144. package/core/gather/gatherers/service-worker.js +3 -15
  145. package/core/gather/gatherers/source-maps.d.ts +11 -23
  146. package/core/gather/gatherers/source-maps.js +22 -53
  147. package/core/gather/gatherers/stacks.d.ts +7 -7
  148. package/core/gather/gatherers/stacks.js +6 -6
  149. package/core/gather/gatherers/trace-compat.d.ts +5 -5
  150. package/core/gather/gatherers/trace-compat.js +4 -4
  151. package/core/gather/gatherers/trace-elements.d.ts +13 -25
  152. package/core/gather/gatherers/trace-elements.js +19 -32
  153. package/core/gather/gatherers/trace.d.ts +8 -8
  154. package/core/gather/gatherers/trace.js +5 -5
  155. package/core/gather/gatherers/viewport-dimensions.d.ts +4 -4
  156. package/core/gather/gatherers/viewport-dimensions.js +3 -3
  157. package/core/gather/gatherers/web-app-manifest.d.ts +8 -8
  158. package/core/gather/gatherers/web-app-manifest.js +5 -5
  159. package/core/gather/navigation-runner.d.ts +9 -9
  160. package/core/gather/navigation-runner.js +14 -8
  161. package/core/gather/runner-helpers.d.ts +3 -3
  162. package/core/gather/runner-helpers.js +12 -4
  163. package/core/gather/session.d.ts +2 -2
  164. package/core/gather/session.js +1 -1
  165. package/core/gather/snapshot-runner.d.ts +2 -2
  166. package/core/gather/snapshot-runner.js +1 -1
  167. package/core/gather/timespan-runner.d.ts +2 -2
  168. package/core/gather/timespan-runner.js +1 -1
  169. package/core/index.cjs +0 -7
  170. package/core/index.d.ts +0 -15
  171. package/core/index.js +2 -40
  172. package/core/lib/asset-saver.js +14 -4
  173. package/core/lib/axe.js +1 -1
  174. package/core/lib/dependency-graph/simulator/network-analyzer.d.ts +28 -12
  175. package/core/lib/dependency-graph/simulator/network-analyzer.js +128 -100
  176. package/core/lib/emulation.d.ts +14 -14
  177. package/core/lib/emulation.js +7 -7
  178. package/core/lib/navigation-error.js +5 -0
  179. package/core/lib/network-recorder.d.ts +2 -1
  180. package/core/lib/network-recorder.js +1 -0
  181. package/core/lib/network-request.js +12 -3
  182. package/core/lib/page-functions.d.ts +10 -2
  183. package/core/lib/page-functions.js +85 -8
  184. package/core/lib/sentry.js +9 -2
  185. package/core/lib/stack-packs.js +4 -0
  186. package/core/runner.d.ts +8 -30
  187. package/core/runner.js +8 -39
  188. package/core/user-flow.d.ts +4 -4
  189. package/core/user-flow.js +2 -2
  190. package/dist/report/bundle.esm.js +2221 -5832
  191. package/dist/report/flow.js +2631 -235
  192. package/dist/report/standalone.js +2586 -234
  193. package/flow-report/src/i18n/i18n.d.ts +2 -2
  194. package/package.json +17 -24
  195. package/readme.md +3 -1
  196. package/report/assets/templates.html +3 -1
  197. package/report/renderer/category-renderer.d.ts +3 -2
  198. package/report/renderer/category-renderer.js +8 -4
  199. package/report/renderer/components.js +11 -5
  200. package/report/renderer/pwa-category-renderer.js +1 -1
  201. package/report/renderer/report-ui-features.js +9 -6
  202. package/report/renderer/report-utils.d.ts +1 -1
  203. package/report/renderer/report-utils.js +2 -2
  204. package/report/renderer/topbar-features.js +3 -0
  205. package/shared/localization/locales/ar-XB.json +185 -44
  206. package/shared/localization/locales/ar.json +185 -44
  207. package/shared/localization/locales/bg.json +185 -44
  208. package/shared/localization/locales/ca.json +190 -49
  209. package/shared/localization/locales/cs.json +185 -44
  210. package/shared/localization/locales/da.json +185 -44
  211. package/shared/localization/locales/de.json +185 -44
  212. package/shared/localization/locales/el.json +185 -44
  213. package/shared/localization/locales/en-GB.json +185 -44
  214. package/shared/localization/locales/en-US.json +99 -45
  215. package/shared/localization/locales/en-XA.json +185 -44
  216. package/shared/localization/locales/en-XL.json +99 -45
  217. package/shared/localization/locales/es-419.json +185 -44
  218. package/shared/localization/locales/es.json +185 -44
  219. package/shared/localization/locales/fi.json +185 -44
  220. package/shared/localization/locales/fil.json +185 -44
  221. package/shared/localization/locales/fr.json +185 -44
  222. package/shared/localization/locales/he.json +186 -45
  223. package/shared/localization/locales/hi.json +185 -44
  224. package/shared/localization/locales/hr.json +185 -44
  225. package/shared/localization/locales/hu.json +185 -44
  226. package/shared/localization/locales/id.json +185 -44
  227. package/shared/localization/locales/it.json +185 -44
  228. package/shared/localization/locales/ja.json +185 -44
  229. package/shared/localization/locales/ko.json +185 -44
  230. package/shared/localization/locales/lt.json +185 -44
  231. package/shared/localization/locales/lv.json +185 -44
  232. package/shared/localization/locales/nl.json +185 -44
  233. package/shared/localization/locales/no.json +185 -44
  234. package/shared/localization/locales/pl.json +185 -44
  235. package/shared/localization/locales/pt-PT.json +185 -44
  236. package/shared/localization/locales/pt.json +190 -49
  237. package/shared/localization/locales/ro.json +185 -44
  238. package/shared/localization/locales/ru.json +185 -44
  239. package/shared/localization/locales/sk.json +185 -44
  240. package/shared/localization/locales/sl.json +185 -44
  241. package/shared/localization/locales/sr-Latn.json +185 -44
  242. package/shared/localization/locales/sr.json +185 -44
  243. package/shared/localization/locales/sv.json +185 -44
  244. package/shared/localization/locales/ta.json +185 -44
  245. package/shared/localization/locales/te.json +185 -44
  246. package/shared/localization/locales/th.json +185 -44
  247. package/shared/localization/locales/tr.json +185 -44
  248. package/shared/localization/locales/uk.json +185 -44
  249. package/shared/localization/locales/vi.json +185 -44
  250. package/shared/localization/locales/zh-HK.json +185 -44
  251. package/shared/localization/locales/zh-TW.json +185 -44
  252. package/shared/localization/locales/zh.json +185 -44
  253. package/third-party/esbuild-plugins-polyfills/LICENSE +3 -0
  254. package/third-party/esbuild-plugins-polyfills/README.md +7 -0
  255. package/third-party/esbuild-plugins-polyfills/esbuild-polyfills.d.ts +9 -0
  256. package/third-party/esbuild-plugins-polyfills/esbuild-polyfills.js +129 -0
  257. package/tsconfig.json +2 -1
  258. package/types/artifacts.d.ts +16 -45
  259. package/types/config.d.ts +10 -52
  260. package/types/externs.d.ts +0 -2
  261. package/types/gatherer.d.ts +24 -47
  262. package/types/internal/rxjs.d.ts +26 -0
  263. package/types/internal/smokehouse.d.ts +1 -3
  264. package/types/lh.d.ts +0 -2
  265. package/types/lhr/settings.d.ts +1 -1
  266. package/core/audits/metrics/first-contentful-paint-3g.d.ts +0 -15
  267. package/core/audits/metrics/first-contentful-paint-3g.js +0 -69
  268. package/core/audits/resource-summary.d.ts +0 -16
  269. package/core/audits/resource-summary.js +0 -104
  270. package/core/audits/service-worker.d.ts +0 -46
  271. package/core/audits/service-worker.js +0 -182
  272. package/core/gather/gatherers/gatherer.d.ts +0 -46
  273. package/core/gather/gatherers/gatherer.js +0 -58
  274. package/core/legacy/config/config.d.ts +0 -107
  275. package/core/legacy/config/config.js +0 -566
  276. package/core/legacy/config/legacy-default-config.d.ts +0 -4
  277. package/core/legacy/config/legacy-default-config.js +0 -87
  278. package/core/legacy/gather/connections/connection.d.ts +0 -77
  279. package/core/legacy/gather/connections/connection.js +0 -196
  280. package/core/legacy/gather/connections/cri.d.ts +0 -27
  281. package/core/legacy/gather/connections/cri.js +0 -162
  282. package/core/legacy/gather/connections/raw.d.ts +0 -20
  283. package/core/legacy/gather/connections/raw.js +0 -57
  284. package/core/legacy/gather/driver.d.ts +0 -216
  285. package/core/legacy/gather/driver.js +0 -480
  286. package/core/legacy/gather/gather-runner.d.ts +0 -166
  287. package/core/legacy/gather/gather-runner.js +0 -590
  288. package/types/internal/lighthouse-logger.d.ts +0 -34
@@ -9,11 +9,11 @@
9
9
  */
10
10
 
11
11
 
12
- import FRGatherer from '../base-gatherer.js';
12
+ import BaseGatherer from '../base-gatherer.js';
13
13
  import {NetworkRecords} from '../../computed/network-records.js';
14
14
  import DevtoolsLog from './devtools-log.js';
15
15
 
16
- class InspectorIssues extends FRGatherer {
16
+ class InspectorIssues extends BaseGatherer {
17
17
  /** @type {LH.Gatherer.GathererMeta<'DevtoolsLog'>} */
18
18
  meta = {
19
19
  supportedModes: ['timespan', 'navigation'],
@@ -35,7 +35,7 @@ class InspectorIssues extends FRGatherer {
35
35
  }
36
36
 
37
37
  /**
38
- * @param {LH.Gatherer.FRTransitionalContext} context
38
+ * @param {LH.Gatherer.Context} context
39
39
  */
40
40
  async startInstrumentation(context) {
41
41
  const session = context.driver.defaultSession;
@@ -44,7 +44,7 @@ class InspectorIssues extends FRGatherer {
44
44
  }
45
45
 
46
46
  /**
47
- * @param {LH.Gatherer.FRTransitionalContext} context
47
+ * @param {LH.Gatherer.Context} context
48
48
  */
49
49
  async stopInstrumentation(context) {
50
50
  const session = context.driver.defaultSession;
@@ -53,10 +53,13 @@ class InspectorIssues extends FRGatherer {
53
53
  }
54
54
 
55
55
  /**
56
- * @param {Array<LH.Artifacts.NetworkRequest>} networkRecords
56
+ * @param {LH.Gatherer.Context<'DevtoolsLog'>} context
57
57
  * @return {Promise<LH.Artifacts['InspectorIssues']>}
58
58
  */
59
- async _getArtifact(networkRecords) {
59
+ async getArtifact(context) {
60
+ const devtoolsLog = context.dependencies.DevtoolsLog;
61
+ const networkRecords = await NetworkRecords.request(devtoolsLog, context);
62
+
60
63
  /** @type {LH.Artifacts.InspectorIssues} */
61
64
  const artifact = {
62
65
  attributionReportingIssue: [],
@@ -103,26 +106,6 @@ class InspectorIssues extends FRGatherer {
103
106
 
104
107
  return artifact;
105
108
  }
106
-
107
- /**
108
- * @param {LH.Gatherer.FRTransitionalContext<'DevtoolsLog'>} context
109
- * @return {Promise<LH.Artifacts['InspectorIssues']>}
110
- */
111
- async getArtifact(context) {
112
- const devtoolsLog = context.dependencies.DevtoolsLog;
113
- const networkRecords = await NetworkRecords.request(devtoolsLog, context);
114
- return this._getArtifact(networkRecords);
115
- }
116
-
117
- /**
118
- * @param {LH.Gatherer.PassContext} passContext
119
- * @param {LH.Gatherer.LoadData} loadData
120
- * @return {Promise<LH.Artifacts['InspectorIssues']>}
121
- */
122
- async afterPass(passContext, loadData) {
123
- await this.stopInstrumentation({...passContext, dependencies: {}});
124
- return this._getArtifact(loadData.networkRecords);
125
- }
126
109
  }
127
110
 
128
111
  export default InspectorIssues;
@@ -1,17 +1,17 @@
1
1
  export default InstallabilityErrors;
2
- declare class InstallabilityErrors extends FRGatherer {
2
+ declare class InstallabilityErrors extends BaseGatherer {
3
3
  /**
4
4
  * Creates an Artifacts.InstallabilityErrors, tranforming data from the protocol
5
5
  * for old versions of Chrome.
6
- * @param {LH.Gatherer.FRProtocolSession} session
6
+ * @param {LH.Gatherer.ProtocolSession} session
7
7
  * @return {Promise<LH.Artifacts['InstallabilityErrors']>}
8
8
  */
9
- static getInstallabilityErrors(session: LH.Gatherer.FRProtocolSession): Promise<LH.Artifacts['InstallabilityErrors']>;
9
+ static getInstallabilityErrors(session: LH.Gatherer.ProtocolSession): Promise<LH.Artifacts['InstallabilityErrors']>;
10
10
  /**
11
- * @param {LH.Gatherer.FRTransitionalContext} context
11
+ * @param {LH.Gatherer.Context} context
12
12
  * @return {Promise<LH.Artifacts['InstallabilityErrors']>}
13
13
  */
14
- getArtifact(context: LH.Gatherer.FRTransitionalContext): Promise<LH.Artifacts['InstallabilityErrors']>;
14
+ getArtifact(context: LH.Gatherer.Context): Promise<LH.Artifacts['InstallabilityErrors']>;
15
15
  }
16
- import FRGatherer from '../base-gatherer.js';
16
+ import BaseGatherer from '../base-gatherer.js';
17
17
  //# sourceMappingURL=installability-errors.d.ts.map
@@ -6,9 +6,9 @@
6
6
 
7
7
  import log from 'lighthouse-logger';
8
8
 
9
- import FRGatherer from '../base-gatherer.js';
9
+ import BaseGatherer from '../base-gatherer.js';
10
10
 
11
- class InstallabilityErrors extends FRGatherer {
11
+ class InstallabilityErrors extends BaseGatherer {
12
12
  /** @type {LH.Gatherer.GathererMeta} */
13
13
  meta = {
14
14
  supportedModes: ['snapshot', 'navigation'],
@@ -17,7 +17,7 @@ class InstallabilityErrors extends FRGatherer {
17
17
  /**
18
18
  * Creates an Artifacts.InstallabilityErrors, tranforming data from the protocol
19
19
  * for old versions of Chrome.
20
- * @param {LH.Gatherer.FRProtocolSession} session
20
+ * @param {LH.Gatherer.ProtocolSession} session
21
21
  * @return {Promise<LH.Artifacts['InstallabilityErrors']>}
22
22
  */
23
23
  static async getInstallabilityErrors(session) {
@@ -35,7 +35,7 @@ class InstallabilityErrors extends FRGatherer {
35
35
  }
36
36
 
37
37
  /**
38
- * @param {LH.Gatherer.FRTransitionalContext} context
38
+ * @param {LH.Gatherer.Context} context
39
39
  * @return {Promise<LH.Artifacts['InstallabilityErrors']>}
40
40
  */
41
41
  async getArtifact(context) {
@@ -2,21 +2,21 @@ export default JsUsage;
2
2
  /**
3
3
  * @fileoverview Tracks unused JavaScript
4
4
  */
5
- declare class JsUsage extends FRGatherer {
5
+ declare class JsUsage extends BaseGatherer {
6
6
  /** @type {LH.Crdp.Profiler.ScriptCoverage[]} */
7
7
  _scriptUsages: LH.Crdp.Profiler.ScriptCoverage[];
8
8
  /**
9
- * @param {LH.Gatherer.FRTransitionalContext} context
9
+ * @param {LH.Gatherer.Context} context
10
10
  */
11
- startInstrumentation(context: LH.Gatherer.FRTransitionalContext): Promise<void>;
11
+ startInstrumentation(context: LH.Gatherer.Context): Promise<void>;
12
12
  /**
13
- * @param {LH.Gatherer.FRTransitionalContext} context
13
+ * @param {LH.Gatherer.Context} context
14
14
  */
15
- stopInstrumentation(context: LH.Gatherer.FRTransitionalContext): Promise<void>;
15
+ stopInstrumentation(context: LH.Gatherer.Context): Promise<void>;
16
16
  /**
17
17
  * @return {Promise<LH.Artifacts['JsUsage']>}
18
18
  */
19
19
  getArtifact(): Promise<LH.Artifacts['JsUsage']>;
20
20
  }
21
- import FRGatherer from '../base-gatherer.js';
21
+ import BaseGatherer from '../base-gatherer.js';
22
22
  //# sourceMappingURL=js-usage.d.ts.map
@@ -4,12 +4,12 @@
4
4
  * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
5
5
  */
6
6
 
7
- import FRGatherer from '../base-gatherer.js';
7
+ import BaseGatherer from '../base-gatherer.js';
8
8
 
9
9
  /**
10
10
  * @fileoverview Tracks unused JavaScript
11
11
  */
12
- class JsUsage extends FRGatherer {
12
+ class JsUsage extends BaseGatherer {
13
13
  /** @type {LH.Gatherer.GathererMeta} */
14
14
  meta = {
15
15
  supportedModes: ['snapshot', 'timespan', 'navigation'],
@@ -22,7 +22,7 @@ class JsUsage extends FRGatherer {
22
22
  }
23
23
 
24
24
  /**
25
- * @param {LH.Gatherer.FRTransitionalContext} context
25
+ * @param {LH.Gatherer.Context} context
26
26
  */
27
27
  async startInstrumentation(context) {
28
28
  const session = context.driver.defaultSession;
@@ -31,7 +31,7 @@ class JsUsage extends FRGatherer {
31
31
  }
32
32
 
33
33
  /**
34
- * @param {LH.Gatherer.FRTransitionalContext} context
34
+ * @param {LH.Gatherer.Context} context
35
35
  */
36
36
  async stopInstrumentation(context) {
37
37
  const session = context.driver.defaultSession;
@@ -1,16 +1,16 @@
1
1
  export default LinkElements;
2
- declare class LinkElements extends FRGatherer {
2
+ declare class LinkElements extends BaseGatherer {
3
3
  /**
4
- * @param {LH.Gatherer.FRTransitionalContext} context
4
+ * @param {LH.Gatherer.Context} context
5
5
  * @return {Promise<LH.Artifacts['LinkElements']>}
6
6
  */
7
- static getLinkElementsInDOM(context: LH.Gatherer.FRTransitionalContext): Promise<LH.Artifacts['LinkElements']>;
7
+ static getLinkElementsInDOM(context: LH.Gatherer.Context): Promise<LH.Artifacts['LinkElements']>;
8
8
  /**
9
- * @param {LH.Gatherer.FRTransitionalContext} context
9
+ * @param {LH.Gatherer.Context} context
10
10
  * @param {LH.Artifacts['DevtoolsLog']} devtoolsLog
11
11
  * @return {Promise<LH.Artifacts['LinkElements']>}
12
12
  */
13
- static getLinkElementsInHeaders(context: LH.Gatherer.FRTransitionalContext, devtoolsLog: LH.Artifacts['DevtoolsLog']): Promise<LH.Artifacts['LinkElements']>;
13
+ static getLinkElementsInHeaders(context: LH.Gatherer.Context, devtoolsLog: LH.Artifacts['DevtoolsLog']): Promise<LH.Artifacts['LinkElements']>;
14
14
  /**
15
15
  * This needs to be in the constructor.
16
16
  * https://github.com/GoogleChrome/lighthouse/issues/12134
@@ -18,25 +18,13 @@ declare class LinkElements extends FRGatherer {
18
18
  */
19
19
  meta: LH.Gatherer.GathererMeta<'DevtoolsLog'>;
20
20
  /**
21
- * @param {LH.Gatherer.FRTransitionalContext} context
22
- * @param {LH.Artifacts['DevtoolsLog']} devtoolsLog
23
- * @return {Promise<LH.Artifacts['LinkElements']>}
24
- */
25
- _getArtifact(context: LH.Gatherer.FRTransitionalContext, devtoolsLog: LH.Artifacts['DevtoolsLog']): Promise<LH.Artifacts['LinkElements']>;
26
- /**
27
- * @param {LH.Gatherer.PassContext} context
28
- * @param {LH.Gatherer.LoadData} loadData
29
- * @return {Promise<LH.Artifacts['LinkElements']>}
30
- */
31
- afterPass(context: LH.Gatherer.PassContext, loadData: LH.Gatherer.LoadData): Promise<LH.Artifacts['LinkElements']>;
32
- /**
33
- * @param {LH.Gatherer.FRTransitionalContext<'DevtoolsLog'>} context
21
+ * @param {LH.Gatherer.Context<'DevtoolsLog'>} context
34
22
  * @return {Promise<LH.Artifacts['LinkElements']>}
35
23
  */
36
- getArtifact(context: LH.Gatherer.FRTransitionalContext<'DevtoolsLog'>): Promise<LH.Artifacts['LinkElements']>;
24
+ getArtifact(context: LH.Gatherer.Context<'DevtoolsLog'>): Promise<LH.Artifacts['LinkElements']>;
37
25
  }
38
26
  export namespace UIStrings {
39
27
  const headerParseWarning: string;
40
28
  }
41
- import FRGatherer from '../base-gatherer.js';
29
+ import BaseGatherer from '../base-gatherer.js';
42
30
  //# sourceMappingURL=link-elements.d.ts.map
@@ -6,7 +6,7 @@
6
6
 
7
7
  import LinkHeader from 'http-link-header';
8
8
 
9
- import FRGatherer from '../base-gatherer.js';
9
+ import BaseGatherer from '../base-gatherer.js';
10
10
  import {pageFunctions} from '../../lib/page-functions.js';
11
11
  import DevtoolsLog from './devtools-log.js';
12
12
  import {MainResource} from '../../computed/main-resource.js';
@@ -93,7 +93,7 @@ function getLinkElementsInDOM() {
93
93
  }
94
94
  /* c8 ignore stop */
95
95
 
96
- class LinkElements extends FRGatherer {
96
+ class LinkElements extends BaseGatherer {
97
97
  constructor() {
98
98
  super();
99
99
  /**
@@ -108,7 +108,7 @@ class LinkElements extends FRGatherer {
108
108
  }
109
109
 
110
110
  /**
111
- * @param {LH.Gatherer.FRTransitionalContext} context
111
+ * @param {LH.Gatherer.Context} context
112
112
  * @return {Promise<LH.Artifacts['LinkElements']>}
113
113
  */
114
114
  static getLinkElementsInDOM(context) {
@@ -125,7 +125,7 @@ class LinkElements extends FRGatherer {
125
125
  }
126
126
 
127
127
  /**
128
- * @param {LH.Gatherer.FRTransitionalContext} context
128
+ * @param {LH.Gatherer.Context} context
129
129
  * @param {LH.Artifacts['DevtoolsLog']} devtoolsLog
130
130
  * @return {Promise<LH.Artifacts['LinkElements']>}
131
131
  */
@@ -172,11 +172,11 @@ class LinkElements extends FRGatherer {
172
172
  }
173
173
 
174
174
  /**
175
- * @param {LH.Gatherer.FRTransitionalContext} context
176
- * @param {LH.Artifacts['DevtoolsLog']} devtoolsLog
175
+ * @param {LH.Gatherer.Context<'DevtoolsLog'>} context
177
176
  * @return {Promise<LH.Artifacts['LinkElements']>}
178
177
  */
179
- async _getArtifact(context, devtoolsLog) {
178
+ async getArtifact(context) {
179
+ const devtoolsLog = context.dependencies.DevtoolsLog;
180
180
  const fromDOM = await LinkElements.getLinkElementsInDOM(context);
181
181
  const fromHeaders = await LinkElements.getLinkElementsInHeaders(context, devtoolsLog);
182
182
  const linkElements = fromDOM.concat(fromHeaders);
@@ -188,23 +188,6 @@ class LinkElements extends FRGatherer {
188
188
 
189
189
  return linkElements;
190
190
  }
191
-
192
- /**
193
- * @param {LH.Gatherer.PassContext} context
194
- * @param {LH.Gatherer.LoadData} loadData
195
- * @return {Promise<LH.Artifacts['LinkElements']>}
196
- */
197
- async afterPass(context, loadData) {
198
- return this._getArtifact({...context, dependencies: {}}, loadData.devtoolsLog);
199
- }
200
-
201
- /**
202
- * @param {LH.Gatherer.FRTransitionalContext<'DevtoolsLog'>} context
203
- * @return {Promise<LH.Artifacts['LinkElements']>}
204
- */
205
- async getArtifact(context) {
206
- return this._getArtifact(context, context.dependencies.DevtoolsLog);
207
- }
208
191
  }
209
192
 
210
193
  export default LinkElements;
@@ -2,26 +2,14 @@ export default MainDocumentContent;
2
2
  /**
3
3
  * Collects the content of the main html document.
4
4
  */
5
- declare class MainDocumentContent extends FRGatherer {
5
+ declare class MainDocumentContent extends BaseGatherer {
6
6
  /** @type {LH.Gatherer.GathererMeta<'DevtoolsLog'>} */
7
7
  meta: LH.Gatherer.GathererMeta<'DevtoolsLog'>;
8
8
  /**
9
- * @param {LH.Gatherer.FRTransitionalContext} context
10
- * @param {LH.Artifacts['DevtoolsLog']} devtoolsLog
9
+ * @param {LH.Gatherer.Context<'DevtoolsLog'>} context
11
10
  * @return {Promise<LH.Artifacts['MainDocumentContent']>}
12
11
  */
13
- _getArtifact(context: LH.Gatherer.FRTransitionalContext, devtoolsLog: LH.Artifacts['DevtoolsLog']): Promise<LH.Artifacts['MainDocumentContent']>;
14
- /**
15
- * @param {LH.Gatherer.FRTransitionalContext<'DevtoolsLog'>} context
16
- * @return {Promise<LH.Artifacts['MainDocumentContent']>}
17
- */
18
- getArtifact(context: LH.Gatherer.FRTransitionalContext<'DevtoolsLog'>): Promise<LH.Artifacts['MainDocumentContent']>;
19
- /**
20
- * @param {LH.Gatherer.PassContext} passContext
21
- * @param {LH.Gatherer.LoadData} loadData
22
- * @return {Promise<LH.Artifacts['MainDocumentContent']>}
23
- */
24
- afterPass(passContext: LH.Gatherer.PassContext, loadData: LH.Gatherer.LoadData): Promise<LH.Artifacts['MainDocumentContent']>;
12
+ getArtifact(context: LH.Gatherer.Context<'DevtoolsLog'>): Promise<LH.Artifacts['MainDocumentContent']>;
25
13
  }
26
- import FRGatherer from '../base-gatherer.js';
14
+ import BaseGatherer from '../base-gatherer.js';
27
15
  //# sourceMappingURL=main-document-content.d.ts.map
@@ -4,7 +4,7 @@
4
4
  * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
5
5
  */
6
6
 
7
- import FRGatherer from '../base-gatherer.js';
7
+ import BaseGatherer from '../base-gatherer.js';
8
8
  import DevtoolsLog from './devtools-log.js';
9
9
  import {fetchResponseBodyFromCache} from '../driver/network.js';
10
10
  import {MainResource} from '../../computed/main-resource.js';
@@ -12,7 +12,7 @@ import {MainResource} from '../../computed/main-resource.js';
12
12
  /**
13
13
  * Collects the content of the main html document.
14
14
  */
15
- class MainDocumentContent extends FRGatherer {
15
+ class MainDocumentContent extends BaseGatherer {
16
16
  /** @type {LH.Gatherer.GathererMeta<'DevtoolsLog'>} */
17
17
  meta = {
18
18
  supportedModes: ['navigation'],
@@ -20,34 +20,16 @@ class MainDocumentContent extends FRGatherer {
20
20
  };
21
21
 
22
22
  /**
23
- * @param {LH.Gatherer.FRTransitionalContext} context
24
- * @param {LH.Artifacts['DevtoolsLog']} devtoolsLog
23
+ * @param {LH.Gatherer.Context<'DevtoolsLog'>} context
25
24
  * @return {Promise<LH.Artifacts['MainDocumentContent']>}
26
25
  */
27
- async _getArtifact(context, devtoolsLog) {
26
+ async getArtifact(context) {
27
+ const devtoolsLog = context.dependencies.DevtoolsLog;
28
28
  const mainResource =
29
29
  await MainResource.request({devtoolsLog, URL: context.baseArtifacts.URL}, context);
30
30
  const session = context.driver.defaultSession;
31
31
  return fetchResponseBodyFromCache(session, mainResource.requestId);
32
32
  }
33
-
34
- /**
35
- * @param {LH.Gatherer.FRTransitionalContext<'DevtoolsLog'>} context
36
- * @return {Promise<LH.Artifacts['MainDocumentContent']>}
37
- */
38
- async getArtifact(context) {
39
- const devtoolsLog = context.dependencies.DevtoolsLog;
40
- return this._getArtifact(context, devtoolsLog);
41
- }
42
-
43
- /**
44
- * @param {LH.Gatherer.PassContext} passContext
45
- * @param {LH.Gatherer.LoadData} loadData
46
- * @return {Promise<LH.Artifacts['MainDocumentContent']>}
47
- */
48
- async afterPass(passContext, loadData) {
49
- return this._getArtifact({...passContext, dependencies: {}}, loadData.devtoolsLog);
50
- }
51
33
  }
52
34
 
53
35
  export default MainDocumentContent;
@@ -1,10 +1,10 @@
1
1
  export default MetaElements;
2
- declare class MetaElements extends FRGatherer {
2
+ declare class MetaElements extends BaseGatherer {
3
3
  /**
4
- * @param {LH.Gatherer.FRTransitionalContext} passContext
4
+ * @param {LH.Gatherer.Context} passContext
5
5
  * @return {Promise<LH.Artifacts['MetaElements']>}
6
6
  */
7
- getArtifact(passContext: LH.Gatherer.FRTransitionalContext): Promise<LH.Artifacts['MetaElements']>;
7
+ getArtifact(passContext: LH.Gatherer.Context): Promise<LH.Artifacts['MetaElements']>;
8
8
  }
9
- import FRGatherer from '../base-gatherer.js';
9
+ import BaseGatherer from '../base-gatherer.js';
10
10
  //# sourceMappingURL=meta-elements.d.ts.map
@@ -4,7 +4,7 @@
4
4
  * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
5
5
  */
6
6
 
7
- import FRGatherer from '../base-gatherer.js';
7
+ import BaseGatherer from '../base-gatherer.js';
8
8
  import {pageFunctions} from '../../lib/page-functions.js';
9
9
 
10
10
  /* globals getElementsInDocument getNodeDetails */
@@ -38,14 +38,14 @@ function collectMetaElements() {
38
38
  }
39
39
  /* c8 ignore stop */
40
40
 
41
- class MetaElements extends FRGatherer {
41
+ class MetaElements extends BaseGatherer {
42
42
  /** @type {LH.Gatherer.GathererMeta} */
43
43
  meta = {
44
44
  supportedModes: ['snapshot', 'navigation'],
45
45
  };
46
46
 
47
47
  /**
48
- * @param {LH.Gatherer.FRTransitionalContext} passContext
48
+ * @param {LH.Gatherer.Context} passContext
49
49
  * @return {Promise<LH.Artifacts['MetaElements']>}
50
50
  */
51
51
  getArtifact(passContext) {
@@ -1,6 +1,6 @@
1
1
  export default NetworkUserAgent;
2
- /** @implements {LH.Gatherer.FRGathererInstance<'DevtoolsLog'>} */
3
- declare class NetworkUserAgent extends FRGatherer implements LH.Gatherer.FRGathererInstance<'DevtoolsLog'> {
2
+ /** @implements {LH.Gatherer.GathererInstance<'DevtoolsLog'>} */
3
+ declare class NetworkUserAgent extends BaseGatherer implements LH.Gatherer.GathererInstance<'DevtoolsLog'> {
4
4
  /**
5
5
  * @param {LH.Artifacts['DevtoolsLog']} devtoolsLog
6
6
  * @return {string}
@@ -9,10 +9,10 @@ declare class NetworkUserAgent extends FRGatherer implements LH.Gatherer.FRGathe
9
9
  /** @type {LH.Gatherer.GathererMeta<'DevtoolsLog'>} */
10
10
  meta: LH.Gatherer.GathererMeta<'DevtoolsLog'>;
11
11
  /**
12
- * @param {LH.Gatherer.FRTransitionalContext<'DevtoolsLog'>} context
12
+ * @param {LH.Gatherer.Context<'DevtoolsLog'>} context
13
13
  * @return {Promise<LH.Artifacts['NetworkUserAgent']>}
14
14
  */
15
- getArtifact(context: LH.Gatherer.FRTransitionalContext<'DevtoolsLog'>): Promise<LH.Artifacts['NetworkUserAgent']>;
15
+ getArtifact(context: LH.Gatherer.Context<'DevtoolsLog'>): Promise<LH.Artifacts['NetworkUserAgent']>;
16
16
  }
17
- import FRGatherer from '../base-gatherer.js';
17
+ import BaseGatherer from '../base-gatherer.js';
18
18
  //# sourceMappingURL=network-user-agent.d.ts.map
@@ -4,11 +4,11 @@
4
4
  * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
5
5
  */
6
6
 
7
- import FRGatherer from '../base-gatherer.js';
7
+ import BaseGatherer from '../base-gatherer.js';
8
8
  import DevtoolsLogGatherer from './devtools-log.js';
9
9
 
10
- /** @implements {LH.Gatherer.FRGathererInstance<'DevtoolsLog'>} */
11
- class NetworkUserAgent extends FRGatherer {
10
+ /** @implements {LH.Gatherer.GathererInstance<'DevtoolsLog'>} */
11
+ class NetworkUserAgent extends BaseGatherer {
12
12
  /** @type {LH.Gatherer.GathererMeta<'DevtoolsLog'>} */
13
13
  meta = {
14
14
  supportedModes: ['timespan', 'navigation'],
@@ -30,7 +30,7 @@ class NetworkUserAgent extends FRGatherer {
30
30
  }
31
31
 
32
32
  /**
33
- * @param {LH.Gatherer.FRTransitionalContext<'DevtoolsLog'>} context
33
+ * @param {LH.Gatherer.Context<'DevtoolsLog'>} context
34
34
  * @return {Promise<LH.Artifacts['NetworkUserAgent']>}
35
35
  */
36
36
  async getArtifact(context) {
@@ -2,25 +2,20 @@ export default ScriptElements;
2
2
  /**
3
3
  * @fileoverview Gets JavaScript file contents.
4
4
  */
5
- declare class ScriptElements extends FRGatherer {
5
+ declare class ScriptElements extends BaseGatherer {
6
6
  /** @type {LH.Gatherer.GathererMeta<'DevtoolsLog'>} */
7
7
  meta: LH.Gatherer.GathererMeta<'DevtoolsLog'>;
8
8
  /**
9
- * @param {LH.Gatherer.FRTransitionalContext} context
9
+ * @param {LH.Gatherer.Context} context
10
10
  * @param {LH.Artifacts.NetworkRequest[]} networkRecords
11
11
  * @return {Promise<LH.Artifacts['ScriptElements']>}
12
12
  */
13
- _getArtifact(context: LH.Gatherer.FRTransitionalContext, networkRecords: LH.Artifacts.NetworkRequest[]): Promise<LH.Artifacts['ScriptElements']>;
13
+ _getArtifact(context: LH.Gatherer.Context, networkRecords: LH.Artifacts.NetworkRequest[]): Promise<LH.Artifacts['ScriptElements']>;
14
14
  /**
15
- * @param {LH.Gatherer.FRTransitionalContext<'DevtoolsLog'>} context
15
+ * @param {LH.Gatherer.Context<'DevtoolsLog'>} context
16
16
  */
17
- getArtifact(context: LH.Gatherer.FRTransitionalContext<'DevtoolsLog'>): Promise<import("../../index.js").Artifacts.ScriptElement[]>;
18
- /**
19
- * @param {LH.Gatherer.PassContext} passContext
20
- * @param {LH.Gatherer.LoadData} loadData
21
- */
22
- afterPass(passContext: LH.Gatherer.PassContext, loadData: LH.Gatherer.LoadData): Promise<import("../../index.js").Artifacts.ScriptElement[]>;
17
+ getArtifact(context: LH.Gatherer.Context<'DevtoolsLog'>): Promise<import("../../index.js").Artifacts.ScriptElement[]>;
23
18
  }
24
- import FRGatherer from '../base-gatherer.js';
19
+ import BaseGatherer from '../base-gatherer.js';
25
20
  import { NetworkRequest } from '../../lib/network-request.js';
26
21
  //# sourceMappingURL=script-elements.d.ts.map
@@ -4,7 +4,7 @@
4
4
  * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
5
5
  */
6
6
 
7
- import FRGatherer from '../base-gatherer.js';
7
+ import BaseGatherer from '../base-gatherer.js';
8
8
  import {NetworkRecords} from '../../computed/network-records.js';
9
9
  import {NetworkRequest} from '../../lib/network-request.js';
10
10
  import {pageFunctions} from '../../lib/page-functions.js';
@@ -39,7 +39,7 @@ function collectAllScriptElements() {
39
39
  /**
40
40
  * @fileoverview Gets JavaScript file contents.
41
41
  */
42
- class ScriptElements extends FRGatherer {
42
+ class ScriptElements extends BaseGatherer {
43
43
  /** @type {LH.Gatherer.GathererMeta<'DevtoolsLog'>} */
44
44
  meta = {
45
45
  supportedModes: ['timespan', 'navigation'],
@@ -47,7 +47,7 @@ class ScriptElements extends FRGatherer {
47
47
  };
48
48
 
49
49
  /**
50
- * @param {LH.Gatherer.FRTransitionalContext} context
50
+ * @param {LH.Gatherer.Context} context
51
51
  * @param {LH.Artifacts.NetworkRequest[]} networkRecords
52
52
  * @return {Promise<LH.Artifacts['ScriptElements']>}
53
53
  */
@@ -88,22 +88,13 @@ class ScriptElements extends FRGatherer {
88
88
  }
89
89
 
90
90
  /**
91
- * @param {LH.Gatherer.FRTransitionalContext<'DevtoolsLog'>} context
91
+ * @param {LH.Gatherer.Context<'DevtoolsLog'>} context
92
92
  */
93
93
  async getArtifact(context) {
94
94
  const devtoolsLog = context.dependencies.DevtoolsLog;
95
95
  const networkRecords = await NetworkRecords.request(devtoolsLog, context);
96
96
  return this._getArtifact(context, networkRecords);
97
97
  }
98
-
99
- /**
100
- * @param {LH.Gatherer.PassContext} passContext
101
- * @param {LH.Gatherer.LoadData} loadData
102
- */
103
- async afterPass(passContext, loadData) {
104
- const networkRecords = loadData.networkRecords;
105
- return this._getArtifact({...passContext, dependencies: {}}, networkRecords);
106
- }
107
98
  }
108
99
 
109
100
  export default ScriptElements;
@@ -2,7 +2,8 @@ export default Scripts;
2
2
  /**
3
3
  * @fileoverview Gets JavaScript file contents.
4
4
  */
5
- declare class Scripts extends FRGatherer {
5
+ declare class Scripts extends BaseGatherer {
6
+ static symbol: symbol;
6
7
  /** @type {LH.Crdp.Debugger.ScriptParsedEvent[]} */
7
8
  _scriptParsedEvents: LH.Crdp.Debugger.ScriptParsedEvent[];
8
9
  /** @type {Array<string | undefined>} */
@@ -12,14 +13,14 @@ declare class Scripts extends FRGatherer {
12
13
  */
13
14
  onScriptParsed(params: LH.Crdp.Debugger.ScriptParsedEvent): void;
14
15
  /**
15
- * @param {LH.Gatherer.FRTransitionalContext} context
16
+ * @param {LH.Gatherer.Context} context
16
17
  */
17
- startInstrumentation(context: LH.Gatherer.FRTransitionalContext): Promise<void>;
18
+ startInstrumentation(context: LH.Gatherer.Context): Promise<void>;
18
19
  /**
19
- * @param {LH.Gatherer.FRTransitionalContext} context
20
+ * @param {LH.Gatherer.Context} context
20
21
  */
21
- stopInstrumentation(context: LH.Gatherer.FRTransitionalContext): Promise<void>;
22
+ stopInstrumentation(context: LH.Gatherer.Context): Promise<void>;
22
23
  getArtifact(): Promise<import("../../index.js").Artifacts.Script[]>;
23
24
  }
24
- import FRGatherer from '../base-gatherer.js';
25
+ import BaseGatherer from '../base-gatherer.js';
25
26
  //# sourceMappingURL=scripts.d.ts.map