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.
- package/CONTRIBUTING.md +1 -1
- package/cli/cli-flags.d.ts +1 -6
- package/cli/cli-flags.js +0 -5
- package/cli/run.js +3 -10
- package/cli/sentry-prompt.js +4 -2
- package/cli/test/smokehouse/core-tests.js +0 -2
- package/cli/test/smokehouse/frontends/smokehouse-bin.js +24 -14
- package/cli/test/smokehouse/lighthouse-runners/bundle.d.ts +1 -2
- package/cli/test/smokehouse/lighthouse-runners/bundle.js +12 -21
- package/cli/test/smokehouse/lighthouse-runners/cli.d.ts +1 -3
- package/cli/test/smokehouse/lighthouse-runners/cli.js +3 -7
- package/cli/test/smokehouse/lighthouse-runners/devtools.d.ts +1 -5
- package/cli/test/smokehouse/lighthouse-runners/devtools.js +1 -12
- package/cli/test/smokehouse/readme.md +0 -2
- package/cli/test/smokehouse/report-assert.d.ts +1 -3
- package/cli/test/smokehouse/report-assert.js +2 -19
- package/cli/test/smokehouse/smokehouse.js +3 -32
- package/core/audits/accessibility/aria-allowed-role.d.ts +10 -0
- package/core/audits/accessibility/aria-allowed-role.js +46 -0
- package/core/audits/accessibility/image-redundant-alt.d.ts +10 -0
- package/core/audits/accessibility/image-redundant-alt.js +45 -0
- package/core/audits/accessibility/label-content-name-mismatch.d.ts +10 -0
- package/core/audits/accessibility/label-content-name-mismatch.js +44 -0
- package/core/audits/accessibility/skip-link.d.ts +10 -0
- package/core/audits/accessibility/skip-link.js +43 -0
- package/core/audits/accessibility/table-duplicate-name.d.ts +10 -0
- package/core/audits/accessibility/table-duplicate-name.js +44 -0
- package/core/audits/accessibility/target-size.js +1 -1
- package/core/audits/byte-efficiency/duplicated-javascript.js +2 -2
- package/core/audits/byte-efficiency/render-blocking-resources.js +1 -0
- package/core/audits/dobetterweb/uses-http2.d.ts +18 -1
- package/core/audits/dobetterweb/uses-http2.js +62 -16
- package/core/audits/installable-manifest.d.ts +1 -5
- package/core/audits/installable-manifest.js +2 -7
- package/core/audits/largest-contentful-paint-element.d.ts +0 -6
- package/core/audits/largest-contentful-paint-element.js +13 -15
- package/core/audits/metrics/{experimental-interaction-to-next-paint.d.ts → interaction-to-next-paint.d.ts} +3 -3
- package/core/audits/metrics/{experimental-interaction-to-next-paint.js → interaction-to-next-paint.js} +3 -3
- package/core/audits/uses-rel-preconnect.js +23 -8
- package/core/audits/work-during-interaction.js +2 -2
- package/core/computed/processed-navigation.d.ts +1 -1
- package/core/config/config-helpers.d.ts +3 -3
- package/core/config/config-helpers.js +5 -12
- package/core/config/config.js +1 -7
- package/core/config/constants.d.ts +0 -2
- package/core/config/constants.js +2 -18
- package/core/config/default-config.js +59 -53
- package/core/config/filters.js +1 -1
- package/core/config/validation.d.ts +7 -12
- package/core/config/validation.js +16 -26
- package/core/gather/base-artifacts.d.ts +4 -4
- package/core/gather/base-artifacts.js +2 -6
- package/core/gather/base-gatherer.d.ts +12 -37
- package/core/gather/base-gatherer.js +7 -54
- package/core/gather/driver/dom.d.ts +4 -4
- package/core/gather/driver/dom.js +2 -2
- package/core/gather/driver/environment.d.ts +4 -4
- package/core/gather/driver/environment.js +2 -2
- package/core/gather/driver/execution-context.d.ts +12 -3
- package/core/gather/driver/execution-context.js +34 -3
- package/core/gather/driver/navigation.d.ts +2 -2
- package/core/gather/driver/navigation.js +2 -5
- package/core/gather/driver/network-monitor.d.ts +7 -6
- package/core/gather/driver/network-monitor.js +4 -4
- package/core/gather/driver/network.d.ts +2 -2
- package/core/gather/driver/network.js +1 -1
- package/core/gather/driver/prepare.d.ts +10 -10
- package/core/gather/driver/prepare.js +10 -10
- package/core/gather/driver/service-workers.d.ts +4 -4
- package/core/gather/driver/service-workers.js +2 -2
- package/core/gather/driver/storage.d.ts +6 -6
- package/core/gather/driver/storage.js +3 -3
- package/core/gather/driver/target-manager.d.ts +6 -5
- package/core/gather/driver/target-manager.js +3 -3
- package/core/gather/driver/wait-for-condition.d.ts +14 -14
- package/core/gather/driver/wait-for-condition.js +8 -8
- package/core/gather/driver.d.ts +9 -6
- package/core/gather/driver.js +14 -4
- package/core/gather/fetcher.d.ts +3 -3
- package/core/gather/fetcher.js +1 -1
- package/core/gather/gatherers/accessibility.d.ts +4 -4
- package/core/gather/gatherers/accessibility.js +8 -3
- package/core/gather/gatherers/anchor-elements.d.ts +4 -4
- package/core/gather/gatherers/anchor-elements.js +4 -4
- package/core/gather/gatherers/bf-cache-failures.d.ts +8 -14
- package/core/gather/gatherers/bf-cache-failures.js +5 -14
- package/core/gather/gatherers/cache-contents.d.ts +4 -4
- package/core/gather/gatherers/cache-contents.js +3 -3
- package/core/gather/gatherers/console-messages.d.ts +6 -6
- package/core/gather/gatherers/console-messages.js +4 -4
- package/core/gather/gatherers/css-usage.d.ts +14 -14
- package/core/gather/gatherers/css-usage.js +9 -9
- package/core/gather/gatherers/devtools-log-compat.d.ts +5 -5
- package/core/gather/gatherers/devtools-log-compat.js +4 -4
- package/core/gather/gatherers/devtools-log.d.ts +6 -6
- package/core/gather/gatherers/devtools-log.js +4 -4
- package/core/gather/gatherers/dobetterweb/doctype.d.ts +4 -4
- package/core/gather/gatherers/dobetterweb/doctype.js +3 -3
- package/core/gather/gatherers/dobetterweb/domstats.d.ts +4 -4
- package/core/gather/gatherers/dobetterweb/domstats.js +3 -3
- package/core/gather/gatherers/dobetterweb/optimized-images.d.ts +10 -22
- package/core/gather/gatherers/dobetterweb/optimized-images.js +10 -27
- package/core/gather/gatherers/dobetterweb/response-compression.d.ts +6 -12
- package/core/gather/gatherers/dobetterweb/response-compression.js +14 -21
- package/core/gather/gatherers/dobetterweb/tags-blocking-first-paint.d.ts +8 -14
- package/core/gather/gatherers/dobetterweb/tags-blocking-first-paint.js +5 -14
- package/core/gather/gatherers/full-page-screenshot.d.ts +10 -10
- package/core/gather/gatherers/full-page-screenshot.js +7 -10
- package/core/gather/gatherers/global-listeners.d.ts +4 -4
- package/core/gather/gatherers/global-listeners.js +3 -3
- package/core/gather/gatherers/iframe-elements.d.ts +4 -4
- package/core/gather/gatherers/iframe-elements.js +3 -3
- package/core/gather/gatherers/image-elements.d.ts +10 -10
- package/core/gather/gatherers/image-elements.js +6 -6
- package/core/gather/gatherers/inputs.d.ts +4 -4
- package/core/gather/gatherers/inputs.js +3 -3
- package/core/gather/gatherers/inspector-issues.d.ts +8 -19
- package/core/gather/gatherers/inspector-issues.js +9 -26
- package/core/gather/gatherers/installability-errors.d.ts +6 -6
- package/core/gather/gatherers/installability-errors.js +4 -4
- package/core/gather/gatherers/js-usage.d.ts +6 -6
- package/core/gather/gatherers/js-usage.js +4 -4
- package/core/gather/gatherers/link-elements.d.ts +8 -20
- package/core/gather/gatherers/link-elements.js +7 -24
- package/core/gather/gatherers/main-document-content.d.ts +4 -16
- package/core/gather/gatherers/main-document-content.js +5 -23
- package/core/gather/gatherers/meta-elements.d.ts +4 -4
- package/core/gather/gatherers/meta-elements.js +3 -3
- package/core/gather/gatherers/network-user-agent.d.ts +5 -5
- package/core/gather/gatherers/network-user-agent.js +4 -4
- package/core/gather/gatherers/script-elements.d.ts +6 -11
- package/core/gather/gatherers/script-elements.js +4 -13
- package/core/gather/gatherers/scripts.d.ts +7 -6
- package/core/gather/gatherers/scripts.js +7 -9
- package/core/gather/gatherers/seo/embedded-content.d.ts +4 -4
- package/core/gather/gatherers/seo/embedded-content.js +3 -3
- package/core/gather/gatherers/seo/font-size.d.ts +6 -6
- package/core/gather/gatherers/seo/font-size.js +5 -5
- package/core/gather/gatherers/seo/robots-txt.d.ts +4 -4
- package/core/gather/gatherers/seo/robots-txt.js +3 -3
- package/core/gather/gatherers/seo/tap-targets.d.ts +8 -8
- package/core/gather/gatherers/seo/tap-targets.js +5 -5
- package/core/gather/gatherers/service-worker.d.ts +4 -10
- package/core/gather/gatherers/service-worker.js +3 -15
- package/core/gather/gatherers/source-maps.d.ts +11 -23
- package/core/gather/gatherers/source-maps.js +22 -53
- package/core/gather/gatherers/stacks.d.ts +7 -7
- package/core/gather/gatherers/stacks.js +6 -6
- package/core/gather/gatherers/trace-compat.d.ts +5 -5
- package/core/gather/gatherers/trace-compat.js +4 -4
- package/core/gather/gatherers/trace-elements.d.ts +13 -25
- package/core/gather/gatherers/trace-elements.js +19 -32
- package/core/gather/gatherers/trace.d.ts +8 -8
- package/core/gather/gatherers/trace.js +5 -5
- package/core/gather/gatherers/viewport-dimensions.d.ts +4 -4
- package/core/gather/gatherers/viewport-dimensions.js +3 -3
- package/core/gather/gatherers/web-app-manifest.d.ts +8 -8
- package/core/gather/gatherers/web-app-manifest.js +5 -5
- package/core/gather/navigation-runner.d.ts +9 -9
- package/core/gather/navigation-runner.js +14 -8
- package/core/gather/runner-helpers.d.ts +3 -3
- package/core/gather/runner-helpers.js +12 -4
- package/core/gather/session.d.ts +2 -2
- package/core/gather/session.js +1 -1
- package/core/gather/snapshot-runner.d.ts +2 -2
- package/core/gather/snapshot-runner.js +1 -1
- package/core/gather/timespan-runner.d.ts +2 -2
- package/core/gather/timespan-runner.js +1 -1
- package/core/index.cjs +0 -7
- package/core/index.d.ts +0 -15
- package/core/index.js +2 -40
- package/core/lib/asset-saver.js +14 -4
- package/core/lib/axe.js +1 -1
- package/core/lib/dependency-graph/simulator/network-analyzer.d.ts +28 -12
- package/core/lib/dependency-graph/simulator/network-analyzer.js +128 -100
- package/core/lib/emulation.d.ts +14 -14
- package/core/lib/emulation.js +7 -7
- package/core/lib/navigation-error.js +5 -0
- package/core/lib/network-recorder.d.ts +2 -1
- package/core/lib/network-recorder.js +1 -0
- package/core/lib/network-request.js +12 -3
- package/core/lib/page-functions.d.ts +10 -2
- package/core/lib/page-functions.js +85 -8
- package/core/lib/sentry.js +9 -2
- package/core/lib/stack-packs.js +4 -0
- package/core/runner.d.ts +8 -30
- package/core/runner.js +8 -39
- package/core/user-flow.d.ts +4 -4
- package/core/user-flow.js +2 -2
- package/dist/report/bundle.esm.js +2221 -5832
- package/dist/report/flow.js +2631 -235
- package/dist/report/standalone.js +2586 -234
- package/flow-report/src/i18n/i18n.d.ts +2 -2
- package/package.json +17 -24
- package/readme.md +3 -1
- package/report/assets/templates.html +3 -1
- package/report/renderer/category-renderer.d.ts +3 -2
- package/report/renderer/category-renderer.js +8 -4
- package/report/renderer/components.js +11 -5
- package/report/renderer/pwa-category-renderer.js +1 -1
- package/report/renderer/report-ui-features.js +9 -6
- package/report/renderer/report-utils.d.ts +1 -1
- package/report/renderer/report-utils.js +2 -2
- package/report/renderer/topbar-features.js +3 -0
- package/shared/localization/locales/ar-XB.json +185 -44
- package/shared/localization/locales/ar.json +185 -44
- package/shared/localization/locales/bg.json +185 -44
- package/shared/localization/locales/ca.json +190 -49
- package/shared/localization/locales/cs.json +185 -44
- package/shared/localization/locales/da.json +185 -44
- package/shared/localization/locales/de.json +185 -44
- package/shared/localization/locales/el.json +185 -44
- package/shared/localization/locales/en-GB.json +185 -44
- package/shared/localization/locales/en-US.json +99 -45
- package/shared/localization/locales/en-XA.json +185 -44
- package/shared/localization/locales/en-XL.json +99 -45
- package/shared/localization/locales/es-419.json +185 -44
- package/shared/localization/locales/es.json +185 -44
- package/shared/localization/locales/fi.json +185 -44
- package/shared/localization/locales/fil.json +185 -44
- package/shared/localization/locales/fr.json +185 -44
- package/shared/localization/locales/he.json +186 -45
- package/shared/localization/locales/hi.json +185 -44
- package/shared/localization/locales/hr.json +185 -44
- package/shared/localization/locales/hu.json +185 -44
- package/shared/localization/locales/id.json +185 -44
- package/shared/localization/locales/it.json +185 -44
- package/shared/localization/locales/ja.json +185 -44
- package/shared/localization/locales/ko.json +185 -44
- package/shared/localization/locales/lt.json +185 -44
- package/shared/localization/locales/lv.json +185 -44
- package/shared/localization/locales/nl.json +185 -44
- package/shared/localization/locales/no.json +185 -44
- package/shared/localization/locales/pl.json +185 -44
- package/shared/localization/locales/pt-PT.json +185 -44
- package/shared/localization/locales/pt.json +190 -49
- package/shared/localization/locales/ro.json +185 -44
- package/shared/localization/locales/ru.json +185 -44
- package/shared/localization/locales/sk.json +185 -44
- package/shared/localization/locales/sl.json +185 -44
- package/shared/localization/locales/sr-Latn.json +185 -44
- package/shared/localization/locales/sr.json +185 -44
- package/shared/localization/locales/sv.json +185 -44
- package/shared/localization/locales/ta.json +185 -44
- package/shared/localization/locales/te.json +185 -44
- package/shared/localization/locales/th.json +185 -44
- package/shared/localization/locales/tr.json +185 -44
- package/shared/localization/locales/uk.json +185 -44
- package/shared/localization/locales/vi.json +185 -44
- package/shared/localization/locales/zh-HK.json +185 -44
- package/shared/localization/locales/zh-TW.json +185 -44
- package/shared/localization/locales/zh.json +185 -44
- package/third-party/esbuild-plugins-polyfills/LICENSE +3 -0
- package/third-party/esbuild-plugins-polyfills/README.md +7 -0
- package/third-party/esbuild-plugins-polyfills/esbuild-polyfills.d.ts +9 -0
- package/third-party/esbuild-plugins-polyfills/esbuild-polyfills.js +129 -0
- package/tsconfig.json +2 -1
- package/types/artifacts.d.ts +16 -45
- package/types/config.d.ts +10 -52
- package/types/externs.d.ts +0 -2
- package/types/gatherer.d.ts +24 -47
- package/types/internal/rxjs.d.ts +26 -0
- package/types/internal/smokehouse.d.ts +1 -3
- package/types/lh.d.ts +0 -2
- package/types/lhr/settings.d.ts +1 -1
- package/core/audits/metrics/first-contentful-paint-3g.d.ts +0 -15
- package/core/audits/metrics/first-contentful-paint-3g.js +0 -69
- package/core/audits/resource-summary.d.ts +0 -16
- package/core/audits/resource-summary.js +0 -104
- package/core/audits/service-worker.d.ts +0 -46
- package/core/audits/service-worker.js +0 -182
- package/core/gather/gatherers/gatherer.d.ts +0 -46
- package/core/gather/gatherers/gatherer.js +0 -58
- package/core/legacy/config/config.d.ts +0 -107
- package/core/legacy/config/config.js +0 -566
- package/core/legacy/config/legacy-default-config.d.ts +0 -4
- package/core/legacy/config/legacy-default-config.js +0 -87
- package/core/legacy/gather/connections/connection.d.ts +0 -77
- package/core/legacy/gather/connections/connection.js +0 -196
- package/core/legacy/gather/connections/cri.d.ts +0 -27
- package/core/legacy/gather/connections/cri.js +0 -162
- package/core/legacy/gather/connections/raw.d.ts +0 -20
- package/core/legacy/gather/connections/raw.js +0 -57
- package/core/legacy/gather/driver.d.ts +0 -216
- package/core/legacy/gather/driver.js +0 -480
- package/core/legacy/gather/gather-runner.d.ts +0 -166
- package/core/legacy/gather/gather-runner.js +0 -590
- package/types/internal/lighthouse-logger.d.ts +0 -34
|
@@ -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
|
|
7
|
+
import BaseGatherer from '../base-gatherer.js';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* @template T, U
|
|
@@ -47,9 +47,12 @@ function isLighthouseRuntimeEvaluateScript(script) {
|
|
|
47
47
|
/**
|
|
48
48
|
* @fileoverview Gets JavaScript file contents.
|
|
49
49
|
*/
|
|
50
|
-
class Scripts extends
|
|
50
|
+
class Scripts extends BaseGatherer {
|
|
51
|
+
static symbol = Symbol('Scripts');
|
|
52
|
+
|
|
51
53
|
/** @type {LH.Gatherer.GathererMeta} */
|
|
52
54
|
meta = {
|
|
55
|
+
symbol: Scripts.symbol,
|
|
53
56
|
supportedModes: ['timespan', 'navigation'],
|
|
54
57
|
};
|
|
55
58
|
|
|
@@ -74,7 +77,7 @@ class Scripts extends FRGatherer {
|
|
|
74
77
|
}
|
|
75
78
|
|
|
76
79
|
/**
|
|
77
|
-
* @param {LH.Gatherer.
|
|
80
|
+
* @param {LH.Gatherer.Context} context
|
|
78
81
|
*/
|
|
79
82
|
async startInstrumentation(context) {
|
|
80
83
|
const session = context.driver.defaultSession;
|
|
@@ -83,7 +86,7 @@ class Scripts extends FRGatherer {
|
|
|
83
86
|
}
|
|
84
87
|
|
|
85
88
|
/**
|
|
86
|
-
* @param {LH.Gatherer.
|
|
89
|
+
* @param {LH.Gatherer.Context} context
|
|
87
90
|
*/
|
|
88
91
|
async stopInstrumentation(context) {
|
|
89
92
|
const session = context.driver.defaultSession;
|
|
@@ -91,11 +94,6 @@ class Scripts extends FRGatherer {
|
|
|
91
94
|
|
|
92
95
|
session.off('Debugger.scriptParsed', this.onScriptParsed);
|
|
93
96
|
|
|
94
|
-
// Without this line the Debugger domain will be off in FR runner,
|
|
95
|
-
// because only the legacy gatherer has special handling for multiple,
|
|
96
|
-
// overlapped enabled/disable calls.
|
|
97
|
-
await session.sendCommand('Debugger.enable');
|
|
98
|
-
|
|
99
97
|
// If run on a mobile device, be sensitive to memory limitations and only
|
|
100
98
|
// request one at a time.
|
|
101
99
|
this._scriptContents = await runInSeriesOrParallel(
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export default EmbeddedContent;
|
|
2
|
-
declare class EmbeddedContent extends
|
|
2
|
+
declare class EmbeddedContent extends BaseGatherer {
|
|
3
3
|
/**
|
|
4
|
-
* @param {LH.Gatherer.
|
|
4
|
+
* @param {LH.Gatherer.Context} passContext
|
|
5
5
|
* @return {Promise<LH.Artifacts['EmbeddedContent']>}
|
|
6
6
|
*/
|
|
7
|
-
getArtifact(passContext: LH.Gatherer.
|
|
7
|
+
getArtifact(passContext: LH.Gatherer.Context): Promise<LH.Artifacts['EmbeddedContent']>;
|
|
8
8
|
}
|
|
9
|
-
import
|
|
9
|
+
import BaseGatherer from '../../base-gatherer.js';
|
|
10
10
|
//# sourceMappingURL=embedded-content.d.ts.map
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
/* globals getElementsInDocument getNodeDetails */
|
|
8
8
|
|
|
9
|
-
import
|
|
9
|
+
import BaseGatherer from '../../base-gatherer.js';
|
|
10
10
|
import {pageFunctions} from '../../../lib/page-functions.js';
|
|
11
11
|
|
|
12
12
|
/**
|
|
@@ -39,14 +39,14 @@ function getEmbeddedContent() {
|
|
|
39
39
|
}));
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
class EmbeddedContent extends
|
|
42
|
+
class EmbeddedContent extends BaseGatherer {
|
|
43
43
|
/** @type {LH.Gatherer.GathererMeta} */
|
|
44
44
|
meta = {
|
|
45
45
|
supportedModes: ['snapshot', 'navigation'],
|
|
46
46
|
};
|
|
47
47
|
|
|
48
48
|
/**
|
|
49
|
-
* @param {LH.Gatherer.
|
|
49
|
+
* @param {LH.Gatherer.Context} passContext
|
|
50
50
|
* @return {Promise<LH.Artifacts['EmbeddedContent']>}
|
|
51
51
|
*/
|
|
52
52
|
getArtifact(passContext) {
|
|
@@ -4,12 +4,12 @@ export type BackendIdsToFontData = Map<number, {
|
|
|
4
4
|
fontSize: number;
|
|
5
5
|
textLength: number;
|
|
6
6
|
}>;
|
|
7
|
-
declare class FontSize extends
|
|
7
|
+
declare class FontSize extends BaseGatherer {
|
|
8
8
|
/**
|
|
9
|
-
* @param {LH.Gatherer.
|
|
9
|
+
* @param {LH.Gatherer.ProtocolSession} session
|
|
10
10
|
* @param {Array<NodeFontData>} failingNodes
|
|
11
11
|
*/
|
|
12
|
-
static fetchFailingNodeSourceRules(session: LH.Gatherer.
|
|
12
|
+
static fetchFailingNodeSourceRules(session: LH.Gatherer.ProtocolSession, failingNodes: Array<NodeFontData>): Promise<{
|
|
13
13
|
analyzedFailingNodesData: {
|
|
14
14
|
nodeId: number;
|
|
15
15
|
fontSize: number;
|
|
@@ -104,10 +104,10 @@ declare class FontSize extends FRGatherer {
|
|
|
104
104
|
}[];
|
|
105
105
|
};
|
|
106
106
|
/**
|
|
107
|
-
* @param {LH.Gatherer.
|
|
107
|
+
* @param {LH.Gatherer.Context} passContext
|
|
108
108
|
* @return {Promise<LH.Artifacts.FontSize>} font-size analysis
|
|
109
109
|
*/
|
|
110
|
-
getArtifact(passContext: LH.Gatherer.
|
|
110
|
+
getArtifact(passContext: LH.Gatherer.Context): Promise<LH.Artifacts.FontSize>;
|
|
111
111
|
}
|
|
112
112
|
/**
|
|
113
113
|
* Returns the governing/winning CSS font-size rule for the set of styles given.
|
|
@@ -126,5 +126,5 @@ export function getEffectiveFontRule({ attributesStyle, inlineStyle, matchedCSSR
|
|
|
126
126
|
* @return {NodeFontData['cssRule']|undefined}
|
|
127
127
|
*/
|
|
128
128
|
export function findMostSpecificMatchedCSSRule(matchedCSSRules: import("devtools-protocol").Protocol.CSS.RuleMatch[] | undefined, isDeclarationOfInterest: (arg0: LH.Crdp.CSS.CSSStyle) => boolean | string | undefined): NodeFontData['cssRule'] | undefined;
|
|
129
|
-
import
|
|
129
|
+
import BaseGatherer from '../../base-gatherer.js';
|
|
130
130
|
//# sourceMappingURL=font-size.d.ts.map
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* This gatherer collects stylesheet metadata by itself, instead of relying on the styles gatherer which is slow (because it parses the stylesheet content).
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
import
|
|
18
|
+
import BaseGatherer from '../../base-gatherer.js';
|
|
19
19
|
|
|
20
20
|
const FONT_SIZE_PROPERTY_NAME = 'font-size';
|
|
21
21
|
const MINIMAL_LEGIBLE_FONT_SIZE_PX = 12;
|
|
@@ -116,7 +116,7 @@ function getTextLength(text) {
|
|
|
116
116
|
}
|
|
117
117
|
|
|
118
118
|
/**
|
|
119
|
-
* @param {LH.Gatherer.
|
|
119
|
+
* @param {LH.Gatherer.ProtocolSession} session
|
|
120
120
|
* @param {number} nodeId text node
|
|
121
121
|
* @return {Promise<NodeFontData['cssRule']|undefined>}
|
|
122
122
|
*/
|
|
@@ -138,14 +138,14 @@ async function fetchSourceRule(session, nodeId) {
|
|
|
138
138
|
};
|
|
139
139
|
}
|
|
140
140
|
|
|
141
|
-
class FontSize extends
|
|
141
|
+
class FontSize extends BaseGatherer {
|
|
142
142
|
/** @type {LH.Gatherer.GathererMeta} */
|
|
143
143
|
meta = {
|
|
144
144
|
supportedModes: ['snapshot', 'navigation'],
|
|
145
145
|
};
|
|
146
146
|
|
|
147
147
|
/**
|
|
148
|
-
* @param {LH.Gatherer.
|
|
148
|
+
* @param {LH.Gatherer.ProtocolSession} session
|
|
149
149
|
* @param {Array<NodeFontData>} failingNodes
|
|
150
150
|
*/
|
|
151
151
|
static async fetchFailingNodeSourceRules(session, failingNodes) {
|
|
@@ -274,7 +274,7 @@ class FontSize extends FRGatherer {
|
|
|
274
274
|
}
|
|
275
275
|
|
|
276
276
|
/**
|
|
277
|
-
* @param {LH.Gatherer.
|
|
277
|
+
* @param {LH.Gatherer.Context} passContext
|
|
278
278
|
* @return {Promise<LH.Artifacts.FontSize>} font-size analysis
|
|
279
279
|
*/
|
|
280
280
|
async getArtifact(passContext) {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export default RobotsTxt;
|
|
2
|
-
declare class RobotsTxt extends
|
|
2
|
+
declare class RobotsTxt extends BaseGatherer {
|
|
3
3
|
/**
|
|
4
|
-
* @param {LH.Gatherer.
|
|
4
|
+
* @param {LH.Gatherer.Context} passContext
|
|
5
5
|
* @return {Promise<LH.Artifacts['RobotsTxt']>}
|
|
6
6
|
*/
|
|
7
|
-
getArtifact(passContext: LH.Gatherer.
|
|
7
|
+
getArtifact(passContext: LH.Gatherer.Context): Promise<LH.Artifacts['RobotsTxt']>;
|
|
8
8
|
}
|
|
9
|
-
import
|
|
9
|
+
import BaseGatherer from '../../base-gatherer.js';
|
|
10
10
|
//# sourceMappingURL=robots-txt.d.ts.map
|
|
@@ -4,16 +4,16 @@
|
|
|
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
|
|
7
|
+
import BaseGatherer from '../../base-gatherer.js';
|
|
8
8
|
|
|
9
|
-
class RobotsTxt extends
|
|
9
|
+
class RobotsTxt extends BaseGatherer {
|
|
10
10
|
/** @type {LH.Gatherer.GathererMeta} */
|
|
11
11
|
meta = {
|
|
12
12
|
supportedModes: ['snapshot', 'navigation'],
|
|
13
13
|
};
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
|
-
* @param {LH.Gatherer.
|
|
16
|
+
* @param {LH.Gatherer.Context} passContext
|
|
17
17
|
* @return {Promise<LH.Artifacts['RobotsTxt']>}
|
|
18
18
|
*/
|
|
19
19
|
async getArtifact(passContext) {
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
export default TapTargets;
|
|
2
|
-
declare class TapTargets extends
|
|
2
|
+
declare class TapTargets extends BaseGatherer {
|
|
3
3
|
/**
|
|
4
|
-
* @param {LH.Gatherer.
|
|
4
|
+
* @param {LH.Gatherer.ProtocolSession} session
|
|
5
5
|
* @param {string} className
|
|
6
6
|
* @return {Promise<string>}
|
|
7
7
|
*/
|
|
8
|
-
addStyleRule(session: LH.Gatherer.
|
|
8
|
+
addStyleRule(session: LH.Gatherer.ProtocolSession, className: string): Promise<string>;
|
|
9
9
|
/**
|
|
10
|
-
* @param {LH.Gatherer.
|
|
10
|
+
* @param {LH.Gatherer.ProtocolSession} session
|
|
11
11
|
* @param {string} styleSheetId
|
|
12
12
|
*/
|
|
13
|
-
removeStyleRule(session: LH.Gatherer.
|
|
13
|
+
removeStyleRule(session: LH.Gatherer.ProtocolSession, styleSheetId: string): Promise<void>;
|
|
14
14
|
/**
|
|
15
|
-
* @param {LH.Gatherer.
|
|
15
|
+
* @param {LH.Gatherer.Context} passContext
|
|
16
16
|
* @return {Promise<LH.Artifacts.TapTarget[]>} All visible tap targets with their positions and sizes
|
|
17
17
|
*/
|
|
18
|
-
getArtifact(passContext: LH.Gatherer.
|
|
18
|
+
getArtifact(passContext: LH.Gatherer.Context): Promise<LH.Artifacts.TapTarget[]>;
|
|
19
19
|
}
|
|
20
|
-
import
|
|
20
|
+
import BaseGatherer from '../../base-gatherer.js';
|
|
21
21
|
//# sourceMappingURL=tap-targets.d.ts.map
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
/* global document, window, getComputedStyle, getElementsInDocument, Node, getNodeDetails, getRectCenterPoint */
|
|
8
8
|
|
|
9
|
-
import
|
|
9
|
+
import BaseGatherer from '../../base-gatherer.js';
|
|
10
10
|
import {pageFunctions} from '../../../lib/page-functions.js';
|
|
11
11
|
import * as RectHelpers from '../../../lib/rect-helpers.js';
|
|
12
12
|
|
|
@@ -301,7 +301,7 @@ function gatherTapTargetsAndResetScroll(tapTargetsSelector, className) {
|
|
|
301
301
|
}
|
|
302
302
|
/* c8 ignore stop */
|
|
303
303
|
|
|
304
|
-
class TapTargets extends
|
|
304
|
+
class TapTargets extends BaseGatherer {
|
|
305
305
|
constructor() {
|
|
306
306
|
super();
|
|
307
307
|
/**
|
|
@@ -315,7 +315,7 @@ class TapTargets extends FRGatherer {
|
|
|
315
315
|
}
|
|
316
316
|
|
|
317
317
|
/**
|
|
318
|
-
* @param {LH.Gatherer.
|
|
318
|
+
* @param {LH.Gatherer.ProtocolSession} session
|
|
319
319
|
* @param {string} className
|
|
320
320
|
* @return {Promise<string>}
|
|
321
321
|
*/
|
|
@@ -333,7 +333,7 @@ class TapTargets extends FRGatherer {
|
|
|
333
333
|
}
|
|
334
334
|
|
|
335
335
|
/**
|
|
336
|
-
* @param {LH.Gatherer.
|
|
336
|
+
* @param {LH.Gatherer.ProtocolSession} session
|
|
337
337
|
* @param {string} styleSheetId
|
|
338
338
|
*/
|
|
339
339
|
async removeStyleRule(session, styleSheetId) {
|
|
@@ -344,7 +344,7 @@ class TapTargets extends FRGatherer {
|
|
|
344
344
|
}
|
|
345
345
|
|
|
346
346
|
/**
|
|
347
|
-
* @param {LH.Gatherer.
|
|
347
|
+
* @param {LH.Gatherer.Context} passContext
|
|
348
348
|
* @return {Promise<LH.Artifacts.TapTarget[]>} All visible tap targets with their positions and sizes
|
|
349
349
|
*/
|
|
350
350
|
async getArtifact(passContext) {
|
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
export default ServiceWorker;
|
|
2
|
-
declare class ServiceWorker extends
|
|
2
|
+
declare class ServiceWorker extends BaseGatherer {
|
|
3
3
|
/**
|
|
4
|
-
* @param {LH.Gatherer.
|
|
4
|
+
* @param {LH.Gatherer.Context} context
|
|
5
5
|
* @return {Promise<LH.Artifacts['ServiceWorker']>}
|
|
6
6
|
*/
|
|
7
|
-
|
|
8
|
-
afterPass(): Promise<void>;
|
|
9
|
-
/**
|
|
10
|
-
* @param {LH.Gatherer.FRTransitionalContext} context
|
|
11
|
-
* @return {Promise<LH.Artifacts['ServiceWorker']>}
|
|
12
|
-
*/
|
|
13
|
-
getArtifact(context: LH.Gatherer.FRTransitionalContext): Promise<LH.Artifacts['ServiceWorker']>;
|
|
7
|
+
getArtifact(context: LH.Gatherer.Context): Promise<LH.Artifacts['ServiceWorker']>;
|
|
14
8
|
}
|
|
15
|
-
import
|
|
9
|
+
import BaseGatherer from '../base-gatherer.js';
|
|
16
10
|
//# sourceMappingURL=service-worker.d.ts.map
|
|
@@ -4,29 +4,17 @@
|
|
|
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
|
|
7
|
+
import BaseGatherer from '../base-gatherer.js';
|
|
8
8
|
import * as serviceWorkers from '../driver/service-workers.js';
|
|
9
9
|
|
|
10
|
-
class ServiceWorker extends
|
|
10
|
+
class ServiceWorker extends BaseGatherer {
|
|
11
11
|
/** @type {LH.Gatherer.GathererMeta} */
|
|
12
12
|
meta = {
|
|
13
13
|
supportedModes: ['navigation'],
|
|
14
14
|
};
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
|
-
* @param {LH.Gatherer.
|
|
18
|
-
* @return {Promise<LH.Artifacts['ServiceWorker']>}
|
|
19
|
-
*/
|
|
20
|
-
async beforePass(passContext) {
|
|
21
|
-
return this.getArtifact({...passContext, dependencies: {}});
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
// This gatherer is run in a separate pass for legacy mode.
|
|
25
|
-
// Legacy compat code is in `beforePass`.
|
|
26
|
-
async afterPass() { }
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* @param {LH.Gatherer.FRTransitionalContext} context
|
|
17
|
+
* @param {LH.Gatherer.Context} context
|
|
30
18
|
* @return {Promise<LH.Artifacts['ServiceWorker']>}
|
|
31
19
|
*/
|
|
32
20
|
async getArtifact(context) {
|
|
@@ -2,19 +2,15 @@ export default SourceMaps;
|
|
|
2
2
|
/**
|
|
3
3
|
* @fileoverview Gets JavaScript source maps.
|
|
4
4
|
*/
|
|
5
|
-
declare class SourceMaps extends
|
|
6
|
-
/** @type {LH.
|
|
7
|
-
|
|
5
|
+
declare class SourceMaps extends BaseGatherer {
|
|
6
|
+
/** @type {LH.Gatherer.GathererMeta<'Scripts'>} */
|
|
7
|
+
meta: LH.Gatherer.GathererMeta<'Scripts'>;
|
|
8
8
|
/**
|
|
9
|
-
* @param {LH.
|
|
10
|
-
*/
|
|
11
|
-
onScriptParsed(event: LH.Crdp.Debugger.ScriptParsedEvent): void;
|
|
12
|
-
/**
|
|
13
|
-
* @param {LH.Gatherer.FRTransitionalDriver} driver
|
|
9
|
+
* @param {LH.Gatherer.Driver} driver
|
|
14
10
|
* @param {string} sourceMapUrl
|
|
15
11
|
* @return {Promise<LH.Artifacts.RawSourceMap>}
|
|
16
12
|
*/
|
|
17
|
-
fetchSourceMap(driver: LH.Gatherer.
|
|
13
|
+
fetchSourceMap(driver: LH.Gatherer.Driver, sourceMapUrl: string): Promise<LH.Artifacts.RawSourceMap>;
|
|
18
14
|
/**
|
|
19
15
|
* @param {string} sourceMapURL
|
|
20
16
|
* @return {LH.Artifacts.RawSourceMap}
|
|
@@ -27,24 +23,16 @@ declare class SourceMaps extends FRGatherer {
|
|
|
27
23
|
*/
|
|
28
24
|
_resolveUrl(url: string, base: string): string | undefined;
|
|
29
25
|
/**
|
|
30
|
-
* @param {LH.Gatherer.
|
|
31
|
-
* @param {LH.
|
|
26
|
+
* @param {LH.Gatherer.Driver} driver
|
|
27
|
+
* @param {LH.Artifacts.Script} script
|
|
32
28
|
* @return {Promise<LH.Artifacts.SourceMap>}
|
|
33
29
|
*/
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* @param {LH.Gatherer.FRTransitionalContext} context
|
|
37
|
-
*/
|
|
38
|
-
startSensitiveInstrumentation(context: LH.Gatherer.FRTransitionalContext): Promise<void>;
|
|
39
|
-
/**
|
|
40
|
-
* @param {LH.Gatherer.FRTransitionalContext} context
|
|
41
|
-
*/
|
|
42
|
-
stopSensitiveInstrumentation(context: LH.Gatherer.FRTransitionalContext): Promise<void>;
|
|
30
|
+
_retrieveMapFromScript(driver: LH.Gatherer.Driver, script: LH.Artifacts.Script): Promise<LH.Artifacts.SourceMap>;
|
|
43
31
|
/**
|
|
44
|
-
* @param {LH.Gatherer.
|
|
32
|
+
* @param {LH.Gatherer.Context<'Scripts'>} context
|
|
45
33
|
* @return {Promise<LH.Artifacts['SourceMaps']>}
|
|
46
34
|
*/
|
|
47
|
-
getArtifact(context: LH.Gatherer.
|
|
35
|
+
getArtifact(context: LH.Gatherer.Context<'Scripts'>): Promise<LH.Artifacts['SourceMaps']>;
|
|
48
36
|
}
|
|
49
|
-
import
|
|
37
|
+
import BaseGatherer from '../base-gatherer.js';
|
|
50
38
|
//# sourceMappingURL=source-maps.d.ts.map
|
|
@@ -5,26 +5,21 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import SDK from '../../lib/cdt/SDK.js';
|
|
8
|
-
import
|
|
8
|
+
import BaseGatherer from '../base-gatherer.js';
|
|
9
|
+
import Scripts from './scripts.js';
|
|
9
10
|
|
|
10
11
|
/**
|
|
11
12
|
* @fileoverview Gets JavaScript source maps.
|
|
12
13
|
*/
|
|
13
|
-
class SourceMaps extends
|
|
14
|
-
/** @type {LH.Gatherer.GathererMeta} */
|
|
14
|
+
class SourceMaps extends BaseGatherer {
|
|
15
|
+
/** @type {LH.Gatherer.GathererMeta<'Scripts'>} */
|
|
15
16
|
meta = {
|
|
16
17
|
supportedModes: ['timespan', 'navigation'],
|
|
18
|
+
dependencies: {Scripts: Scripts.symbol},
|
|
17
19
|
};
|
|
18
20
|
|
|
19
|
-
constructor() {
|
|
20
|
-
super();
|
|
21
|
-
/** @type {LH.Crdp.Debugger.ScriptParsedEvent[]} */
|
|
22
|
-
this._scriptParsedEvents = [];
|
|
23
|
-
this.onScriptParsed = this.onScriptParsed.bind(this);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
21
|
/**
|
|
27
|
-
* @param {LH.Gatherer.
|
|
22
|
+
* @param {LH.Gatherer.Driver} driver
|
|
28
23
|
* @param {string} sourceMapUrl
|
|
29
24
|
* @return {Promise<LH.Artifacts.RawSourceMap>}
|
|
30
25
|
*/
|
|
@@ -45,15 +40,6 @@ class SourceMaps extends FRGatherer {
|
|
|
45
40
|
return SDK.SourceMap.parseSourceMap(buffer.toString());
|
|
46
41
|
}
|
|
47
42
|
|
|
48
|
-
/**
|
|
49
|
-
* @param {LH.Crdp.Debugger.ScriptParsedEvent} event
|
|
50
|
-
*/
|
|
51
|
-
onScriptParsed(event) {
|
|
52
|
-
if (event.sourceMapURL) {
|
|
53
|
-
this._scriptParsedEvents.push(event);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
43
|
/**
|
|
58
44
|
* @param {string} url
|
|
59
45
|
* @param {string} base
|
|
@@ -68,28 +54,28 @@ class SourceMaps extends FRGatherer {
|
|
|
68
54
|
}
|
|
69
55
|
|
|
70
56
|
/**
|
|
71
|
-
* @param {LH.Gatherer.
|
|
72
|
-
* @param {LH.
|
|
57
|
+
* @param {LH.Gatherer.Driver} driver
|
|
58
|
+
* @param {LH.Artifacts.Script} script
|
|
73
59
|
* @return {Promise<LH.Artifacts.SourceMap>}
|
|
74
60
|
*/
|
|
75
|
-
async
|
|
76
|
-
if (!
|
|
61
|
+
async _retrieveMapFromScript(driver, script) {
|
|
62
|
+
if (!script.sourceMapURL) {
|
|
77
63
|
throw new Error('precondition failed: event.sourceMapURL should exist');
|
|
78
64
|
}
|
|
79
65
|
|
|
80
66
|
// `sourceMapURL` is simply the URL found in either a magic comment or an x-sourcemap header.
|
|
81
67
|
// It has not been resolved to a base url.
|
|
82
|
-
const isSourceMapADataUri =
|
|
83
|
-
const scriptUrl =
|
|
68
|
+
const isSourceMapADataUri = script.sourceMapURL.startsWith('data:');
|
|
69
|
+
const scriptUrl = script.name;
|
|
84
70
|
const rawSourceMapUrl = isSourceMapADataUri ?
|
|
85
|
-
|
|
86
|
-
this._resolveUrl(
|
|
71
|
+
script.sourceMapURL :
|
|
72
|
+
this._resolveUrl(script.sourceMapURL, script.name);
|
|
87
73
|
|
|
88
74
|
if (!rawSourceMapUrl) {
|
|
89
75
|
return {
|
|
90
|
-
scriptId:
|
|
76
|
+
scriptId: script.scriptId,
|
|
91
77
|
scriptUrl,
|
|
92
|
-
errorMessage: `Could not resolve map url: ${
|
|
78
|
+
errorMessage: `Could not resolve map url: ${script.sourceMapURL}`,
|
|
93
79
|
};
|
|
94
80
|
}
|
|
95
81
|
|
|
@@ -109,14 +95,14 @@ class SourceMaps extends FRGatherer {
|
|
|
109
95
|
map.sections = map.sections.filter(section => section.map);
|
|
110
96
|
}
|
|
111
97
|
return {
|
|
112
|
-
scriptId:
|
|
98
|
+
scriptId: script.scriptId,
|
|
113
99
|
scriptUrl,
|
|
114
100
|
sourceMapUrl,
|
|
115
101
|
map,
|
|
116
102
|
};
|
|
117
103
|
} catch (err) {
|
|
118
104
|
return {
|
|
119
|
-
scriptId:
|
|
105
|
+
scriptId: script.scriptId,
|
|
120
106
|
scriptUrl,
|
|
121
107
|
sourceMapUrl,
|
|
122
108
|
errorMessage: err.toString(),
|
|
@@ -125,30 +111,13 @@ class SourceMaps extends FRGatherer {
|
|
|
125
111
|
}
|
|
126
112
|
|
|
127
113
|
/**
|
|
128
|
-
* @param {LH.Gatherer.
|
|
129
|
-
*/
|
|
130
|
-
async startSensitiveInstrumentation(context) {
|
|
131
|
-
const session = context.driver.defaultSession;
|
|
132
|
-
session.on('Debugger.scriptParsed', this.onScriptParsed);
|
|
133
|
-
await session.sendCommand('Debugger.enable');
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* @param {LH.Gatherer.FRTransitionalContext} context
|
|
138
|
-
*/
|
|
139
|
-
async stopSensitiveInstrumentation(context) {
|
|
140
|
-
const session = context.driver.defaultSession;
|
|
141
|
-
await session.sendCommand('Debugger.disable');
|
|
142
|
-
session.off('Debugger.scriptParsed', this.onScriptParsed);
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
/**
|
|
146
|
-
* @param {LH.Gatherer.FRTransitionalContext} context
|
|
114
|
+
* @param {LH.Gatherer.Context<'Scripts'>} context
|
|
147
115
|
* @return {Promise<LH.Artifacts['SourceMaps']>}
|
|
148
116
|
*/
|
|
149
117
|
async getArtifact(context) {
|
|
150
|
-
const eventProcessPromises =
|
|
151
|
-
.
|
|
118
|
+
const eventProcessPromises = context.dependencies.Scripts
|
|
119
|
+
.filter(script => script.sourceMapURL)
|
|
120
|
+
.map(script => this._retrieveMapFromScript(context.driver, script));
|
|
152
121
|
return Promise.all(eventProcessPromises);
|
|
153
122
|
}
|
|
154
123
|
}
|
|
@@ -21,18 +21,18 @@ export type JSLibrary = {
|
|
|
21
21
|
version: string | number | null;
|
|
22
22
|
npm: string | null;
|
|
23
23
|
};
|
|
24
|
-
/** @implements {LH.Gatherer.
|
|
25
|
-
declare class Stacks extends
|
|
24
|
+
/** @implements {LH.Gatherer.GathererInstance} */
|
|
25
|
+
declare class Stacks extends BaseGatherer implements LH.Gatherer.GathererInstance {
|
|
26
26
|
/**
|
|
27
|
-
* @param {LH.Gatherer.
|
|
27
|
+
* @param {LH.Gatherer.Driver['executionContext']} executionContext
|
|
28
28
|
* @return {Promise<LH.Artifacts['Stacks']>}
|
|
29
29
|
*/
|
|
30
|
-
static collectStacks(executionContext: LH.Gatherer.
|
|
30
|
+
static collectStacks(executionContext: LH.Gatherer.Driver['executionContext']): Promise<LH.Artifacts['Stacks']>;
|
|
31
31
|
/**
|
|
32
|
-
* @param {LH.Gatherer.
|
|
32
|
+
* @param {LH.Gatherer.Context} context
|
|
33
33
|
* @return {Promise<LH.Artifacts['Stacks']>}
|
|
34
34
|
*/
|
|
35
|
-
getArtifact(context: LH.Gatherer.
|
|
35
|
+
getArtifact(context: LH.Gatherer.Context): Promise<LH.Artifacts['Stacks']>;
|
|
36
36
|
}
|
|
37
|
-
import
|
|
37
|
+
import BaseGatherer from '../base-gatherer.js';
|
|
38
38
|
//# sourceMappingURL=stacks.d.ts.map
|
|
@@ -16,10 +16,10 @@ import {createRequire} from 'module';
|
|
|
16
16
|
|
|
17
17
|
import log from 'lighthouse-logger';
|
|
18
18
|
|
|
19
|
-
import
|
|
19
|
+
import BaseGatherer from '../base-gatherer.js';
|
|
20
20
|
|
|
21
21
|
|
|
22
|
-
// This is removed by
|
|
22
|
+
// This is removed by esbuild (if minified), because the only usage is to resolve a module path
|
|
23
23
|
// but that is replaced by the inline-fs plugin, leaving `require` unused.
|
|
24
24
|
const require = /* #__PURE__ */ createRequire(import.meta.url);
|
|
25
25
|
|
|
@@ -85,8 +85,8 @@ async function detectLibraries() {
|
|
|
85
85
|
/* c8 ignore stop */
|
|
86
86
|
|
|
87
87
|
|
|
88
|
-
/** @implements {LH.Gatherer.
|
|
89
|
-
class Stacks extends
|
|
88
|
+
/** @implements {LH.Gatherer.GathererInstance} */
|
|
89
|
+
class Stacks extends BaseGatherer {
|
|
90
90
|
constructor() {
|
|
91
91
|
super();
|
|
92
92
|
|
|
@@ -97,7 +97,7 @@ class Stacks extends FRGatherer {
|
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
/**
|
|
100
|
-
* @param {LH.Gatherer.
|
|
100
|
+
* @param {LH.Gatherer.Driver['executionContext']} executionContext
|
|
101
101
|
* @return {Promise<LH.Artifacts['Stacks']>}
|
|
102
102
|
*/
|
|
103
103
|
static async collectStacks(executionContext) {
|
|
@@ -122,7 +122,7 @@ class Stacks extends FRGatherer {
|
|
|
122
122
|
}
|
|
123
123
|
|
|
124
124
|
/**
|
|
125
|
-
* @param {LH.Gatherer.
|
|
125
|
+
* @param {LH.Gatherer.Context} context
|
|
126
126
|
* @return {Promise<LH.Artifacts['Stacks']>}
|
|
127
127
|
*/
|
|
128
128
|
async getArtifact(context) {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
export default TraceCompat;
|
|
2
|
-
/** @implements {LH.Gatherer.
|
|
3
|
-
declare class TraceCompat extends
|
|
2
|
+
/** @implements {LH.Gatherer.GathererInstance<'Trace'>} */
|
|
3
|
+
declare class TraceCompat extends BaseGatherer implements LH.Gatherer.GathererInstance<'Trace'> {
|
|
4
4
|
/** @type {LH.Gatherer.GathererMeta<'Trace'>} */
|
|
5
5
|
meta: LH.Gatherer.GathererMeta<'Trace'>;
|
|
6
6
|
/**
|
|
7
|
-
* @param {LH.Gatherer.
|
|
7
|
+
* @param {LH.Gatherer.Context<'Trace'>} passContext
|
|
8
8
|
* @return {Promise<LH.Artifacts['traces']>}
|
|
9
9
|
*/
|
|
10
|
-
getArtifact(passContext: LH.Gatherer.
|
|
10
|
+
getArtifact(passContext: LH.Gatherer.Context<'Trace'>): Promise<LH.Artifacts['traces']>;
|
|
11
11
|
}
|
|
12
|
-
import
|
|
12
|
+
import BaseGatherer from '../base-gatherer.js';
|
|
13
13
|
//# sourceMappingURL=trace-compat.d.ts.map
|
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
import TraceGatherer from './trace.js';
|
|
14
|
-
import
|
|
14
|
+
import BaseGatherer from '../base-gatherer.js';
|
|
15
15
|
|
|
16
|
-
/** @implements {LH.Gatherer.
|
|
17
|
-
class TraceCompat extends
|
|
16
|
+
/** @implements {LH.Gatherer.GathererInstance<'Trace'>} */
|
|
17
|
+
class TraceCompat extends BaseGatherer {
|
|
18
18
|
/** @type {LH.Gatherer.GathererMeta<'Trace'>} */
|
|
19
19
|
meta = {
|
|
20
20
|
supportedModes: ['timespan', 'navigation'],
|
|
@@ -22,7 +22,7 @@ class TraceCompat extends FRGatherer {
|
|
|
22
22
|
};
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
|
-
* @param {LH.Gatherer.
|
|
25
|
+
* @param {LH.Gatherer.Context<'Trace'>} passContext
|
|
26
26
|
* @return {Promise<LH.Artifacts['traces']>}
|
|
27
27
|
*/
|
|
28
28
|
async getArtifact(passContext) {
|