lighthouse 12.1.0 → 12.2.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/cli/cli-flags.d.ts +2 -2
- package/cli/cli-flags.js +1 -1
- package/cli/sentry-prompt.js +2 -2
- package/cli/test/smokehouse/frontends/lib.d.ts +1 -1
- package/cli/test/smokehouse/lib/concurrent-mapper.d.ts +6 -6
- package/cli/test/smokehouse/lighthouse-runners/bundle.d.ts +1 -1
- package/cli/test/smokehouse/lighthouse-runners/cli.d.ts +1 -2
- package/cli/test/smokehouse/lighthouse-runners/devtools.d.ts +1 -1
- package/cli/test/smokehouse/report-assert.d.ts +0 -1
- package/cli/test/smokehouse/version-check.d.ts +3 -3
- package/core/audits/accessibility/accesskeys.d.ts +3 -3
- package/core/audits/accessibility/aria-allowed-attr.d.ts +3 -3
- package/core/audits/accessibility/aria-allowed-role.d.ts +3 -3
- package/core/audits/accessibility/aria-command-name.d.ts +3 -3
- package/core/audits/accessibility/aria-conditional-attr.d.ts +3 -3
- package/core/audits/accessibility/aria-deprecated-role.d.ts +3 -3
- package/core/audits/accessibility/aria-dialog-name.d.ts +3 -3
- package/core/audits/accessibility/aria-hidden-body.d.ts +3 -3
- package/core/audits/accessibility/aria-hidden-focus.d.ts +3 -3
- package/core/audits/accessibility/aria-input-field-name.d.ts +3 -3
- package/core/audits/accessibility/aria-meter-name.d.ts +3 -3
- package/core/audits/accessibility/aria-progressbar-name.d.ts +3 -3
- package/core/audits/accessibility/aria-prohibited-attr.d.ts +3 -3
- package/core/audits/accessibility/aria-required-attr.d.ts +3 -3
- package/core/audits/accessibility/aria-required-children.d.ts +3 -3
- package/core/audits/accessibility/aria-required-parent.d.ts +3 -3
- package/core/audits/accessibility/aria-roles.d.ts +3 -3
- package/core/audits/accessibility/aria-text.d.ts +3 -3
- package/core/audits/accessibility/aria-toggle-field-name.d.ts +3 -3
- package/core/audits/accessibility/aria-tooltip-name.d.ts +3 -3
- package/core/audits/accessibility/aria-treeitem-name.d.ts +3 -3
- package/core/audits/accessibility/aria-valid-attr-value.d.ts +3 -3
- package/core/audits/accessibility/aria-valid-attr.d.ts +3 -3
- package/core/audits/accessibility/axe-audit.d.ts +1 -1
- package/core/audits/accessibility/button-name.d.ts +3 -3
- package/core/audits/accessibility/bypass.d.ts +3 -3
- package/core/audits/accessibility/color-contrast.d.ts +3 -3
- package/core/audits/accessibility/definition-list.d.ts +3 -3
- package/core/audits/accessibility/dlitem.d.ts +3 -3
- package/core/audits/accessibility/document-title.d.ts +3 -3
- package/core/audits/accessibility/duplicate-id-aria.d.ts +3 -3
- package/core/audits/accessibility/empty-heading.d.ts +3 -3
- package/core/audits/accessibility/form-field-multiple-labels.d.ts +3 -3
- package/core/audits/accessibility/frame-title.d.ts +3 -3
- package/core/audits/accessibility/heading-order.d.ts +3 -3
- package/core/audits/accessibility/html-has-lang.d.ts +3 -3
- package/core/audits/accessibility/html-lang-valid.d.ts +3 -3
- package/core/audits/accessibility/html-xml-lang-mismatch.d.ts +3 -3
- package/core/audits/accessibility/identical-links-same-purpose.d.ts +3 -3
- package/core/audits/accessibility/image-alt.d.ts +3 -3
- package/core/audits/accessibility/image-redundant-alt.d.ts +3 -3
- package/core/audits/accessibility/input-button-name.d.ts +3 -3
- package/core/audits/accessibility/input-image-alt.d.ts +3 -3
- package/core/audits/accessibility/label-content-name-mismatch.d.ts +3 -3
- package/core/audits/accessibility/label.d.ts +3 -3
- package/core/audits/accessibility/landmark-one-main.d.ts +3 -3
- package/core/audits/accessibility/link-in-text-block.d.ts +3 -3
- package/core/audits/accessibility/link-name.d.ts +3 -3
- package/core/audits/accessibility/list.d.ts +3 -3
- package/core/audits/accessibility/listitem.d.ts +3 -3
- package/core/audits/accessibility/meta-refresh.d.ts +3 -3
- package/core/audits/accessibility/meta-viewport.d.ts +3 -3
- package/core/audits/accessibility/object-alt.d.ts +3 -3
- package/core/audits/accessibility/select-name.d.ts +3 -3
- package/core/audits/accessibility/skip-link.d.ts +3 -3
- package/core/audits/accessibility/tabindex.d.ts +3 -3
- package/core/audits/accessibility/table-duplicate-name.d.ts +3 -3
- package/core/audits/accessibility/table-fake-caption.d.ts +3 -3
- package/core/audits/accessibility/target-size.d.ts +3 -3
- package/core/audits/accessibility/td-has-header.d.ts +3 -3
- package/core/audits/accessibility/td-headers-attr.d.ts +3 -3
- package/core/audits/accessibility/th-has-data-cells.d.ts +3 -3
- package/core/audits/accessibility/valid-lang.d.ts +3 -3
- package/core/audits/accessibility/video-caption.d.ts +3 -3
- package/core/audits/audit.d.ts +17 -17
- package/core/audits/autocomplete.d.ts +9 -9
- package/core/audits/bf-cache.d.ts +10 -10
- package/core/audits/bootup-time.d.ts +7 -7
- package/core/audits/byte-efficiency/byte-efficiency-audit.d.ts +6 -8
- package/core/audits/byte-efficiency/byte-efficiency-audit.js +3 -6
- package/core/audits/byte-efficiency/duplicated-javascript.d.ts +4 -4
- package/core/audits/byte-efficiency/efficient-animated-content.d.ts +3 -4
- package/core/audits/byte-efficiency/legacy-javascript.d.ts +7 -8
- package/core/audits/byte-efficiency/modern-image-formats.d.ts +3 -3
- package/core/audits/byte-efficiency/offscreen-images.d.ts +3 -4
- package/core/audits/byte-efficiency/render-blocking-resources.d.ts +5 -9
- package/core/audits/byte-efficiency/render-blocking-resources.js +10 -16
- package/core/audits/byte-efficiency/total-byte-weight.d.ts +4 -4
- package/core/audits/byte-efficiency/unminified-css.d.ts +3 -3
- package/core/audits/byte-efficiency/unminified-javascript.d.ts +3 -3
- package/core/audits/byte-efficiency/unused-css-rules.d.ts +3 -3
- package/core/audits/byte-efficiency/unused-javascript.d.ts +3 -3
- package/core/audits/byte-efficiency/uses-long-cache-ttl.d.ts +4 -6
- package/core/audits/byte-efficiency/uses-optimized-images.d.ts +3 -3
- package/core/audits/byte-efficiency/uses-responsive-images-snapshot.d.ts +4 -4
- package/core/audits/byte-efficiency/uses-responsive-images.d.ts +4 -5
- package/core/audits/byte-efficiency/uses-text-compression.d.ts +3 -3
- package/core/audits/critical-request-chains.d.ts +3 -3
- package/core/audits/csp-xss.d.ts +8 -8
- package/core/audits/deprecations.d.ts +6 -6
- package/core/audits/dobetterweb/charset.d.ts +3 -3
- package/core/audits/dobetterweb/doctype.d.ts +9 -9
- package/core/audits/dobetterweb/dom-size.d.ts +9 -9
- package/core/audits/dobetterweb/geolocation-on-start.d.ts +3 -3
- package/core/audits/dobetterweb/inspector-issues.d.ts +6 -6
- package/core/audits/dobetterweb/js-libraries.d.ts +3 -3
- package/core/audits/dobetterweb/no-document-write.d.ts +3 -3
- package/core/audits/dobetterweb/notification-on-start.d.ts +3 -3
- package/core/audits/dobetterweb/paste-preventing-inputs.d.ts +3 -3
- package/core/audits/dobetterweb/uses-http2.d.ts +7 -11
- package/core/audits/dobetterweb/uses-http2.js +2 -5
- package/core/audits/dobetterweb/uses-passive-event-listeners.d.ts +3 -3
- package/core/audits/errors-in-console.d.ts +4 -4
- package/core/audits/font-display.d.ts +4 -4
- package/core/audits/image-aspect-ratio.d.ts +5 -5
- package/core/audits/image-size-responsive.d.ts +7 -7
- package/core/audits/is-on-https.d.ts +10 -10
- package/core/audits/largest-contentful-paint-element.d.ts +9 -9
- package/core/audits/layout-shifts.d.ts +9 -9
- package/core/audits/lcp-lazy-loaded.d.ts +3 -3
- package/core/audits/long-tasks.d.ts +11 -11
- package/core/audits/long-tasks.js +5 -5
- package/core/audits/mainthread-work-breakdown.d.ts +5 -5
- package/core/audits/metrics/cumulative-layout-shift.d.ts +1 -1
- package/core/audits/metrics/first-contentful-paint.d.ts +1 -1
- package/core/audits/metrics/first-meaningful-paint.d.ts +1 -1
- package/core/audits/metrics/interaction-to-next-paint.d.ts +1 -1
- package/core/audits/metrics/interactive.d.ts +1 -1
- package/core/audits/metrics/largest-contentful-paint.d.ts +1 -1
- package/core/audits/metrics/max-potential-fid.d.ts +2 -4
- package/core/audits/metrics/speed-index.d.ts +1 -1
- package/core/audits/metrics/total-blocking-time.d.ts +1 -1
- package/core/audits/network-rtt.d.ts +2 -2
- package/core/audits/network-server-latency.d.ts +2 -2
- package/core/audits/non-composited-animations.d.ts +9 -9
- package/core/audits/oopif-iframe-test-audit.d.ts +5 -5
- package/core/audits/preload-fonts.d.ts +3 -3
- package/core/audits/prioritize-lcp-image.d.ts +7 -7
- package/core/audits/redirects-http.d.ts +3 -3
- package/core/audits/redirects.d.ts +2 -3
- package/core/audits/resource-summary.d.ts +1 -1
- package/core/audits/screenshot-thumbnails.d.ts +2 -3
- package/core/audits/script-treemap-data.d.ts +1 -1
- package/core/audits/seo/canonical.d.ts +8 -8
- package/core/audits/seo/crawlable-anchors.d.ts +4 -4
- package/core/audits/seo/font-size.d.ts +11 -11
- package/core/audits/seo/hreflang.d.ts +6 -6
- package/core/audits/seo/http-status-code.d.ts +3 -3
- package/core/audits/seo/is-crawlable.d.ts +9 -10
- package/core/audits/seo/link-text.d.ts +4 -4
- package/core/audits/seo/manual/structured-data.d.ts +2 -2
- package/core/audits/seo/meta-description.d.ts +4 -4
- package/core/audits/seo/robots-txt.d.ts +6 -6
- package/core/audits/server-response-time.d.ts +4 -4
- package/core/audits/third-party-cookies.d.ts +4 -4
- package/core/audits/third-party-facades.d.ts +11 -12
- package/core/audits/third-party-summary.d.ts +5 -6
- package/core/audits/third-party-summary.js +7 -4
- package/core/audits/unsized-images.d.ts +3 -3
- package/core/audits/user-timings.d.ts +6 -6
- package/core/audits/uses-rel-preconnect.d.ts +5 -5
- package/core/audits/uses-rel-preload.d.ts +7 -7
- package/core/audits/uses-rel-preload.js +8 -6
- package/core/audits/valid-source-maps.d.ts +6 -7
- package/core/audits/viewport.d.ts +4 -4
- package/core/audits/work-during-interaction.d.ts +11 -12
- package/core/computed/computed-artifact.d.ts +2 -2
- package/core/computed/critical-request-chains.d.ts +9 -11
- package/core/computed/critical-request-chains.js +6 -6
- package/core/computed/document-urls.d.ts +3 -8
- package/core/computed/document-urls.js +1 -1
- package/core/computed/entity-classification.d.ts +6 -8
- package/core/computed/image-records.d.ts +3 -5
- package/core/computed/js-bundles.d.ts +2 -4
- package/core/computed/lcp-image-record.d.ts +3 -5
- package/core/computed/load-simulator.d.ts +7 -11
- package/core/computed/load-simulator.js +1 -1
- package/core/computed/main-resource.d.ts +5 -7
- package/core/computed/main-resource.js +1 -1
- package/core/computed/main-thread-tasks.d.ts +1 -3
- package/core/computed/metrics/cumulative-layout-shift.d.ts +2 -14
- package/core/computed/metrics/first-contentful-paint-all-frames.d.ts +1 -3
- package/core/computed/metrics/first-contentful-paint.d.ts +1 -3
- package/core/computed/metrics/interactive.d.ts +1 -3
- package/core/computed/metrics/lantern-first-contentful-paint.d.ts +3 -7
- package/core/computed/metrics/lantern-first-contentful-paint.js +3 -5
- package/core/computed/metrics/lantern-interactive.d.ts +3 -7
- package/core/computed/metrics/lantern-interactive.js +3 -5
- package/core/computed/metrics/lantern-largest-contentful-paint.d.ts +3 -7
- package/core/computed/metrics/lantern-largest-contentful-paint.js +3 -5
- package/core/computed/metrics/lantern-max-potential-fid.d.ts +3 -7
- package/core/computed/metrics/lantern-max-potential-fid.js +3 -5
- package/core/computed/metrics/lantern-metric.d.ts +8 -8
- package/core/computed/metrics/lantern-metric.js +1 -1
- package/core/computed/metrics/lantern-speed-index.d.ts +3 -7
- package/core/computed/metrics/lantern-speed-index.js +3 -5
- package/core/computed/metrics/lantern-total-blocking-time.d.ts +3 -7
- package/core/computed/metrics/lantern-total-blocking-time.js +1 -3
- package/core/computed/metrics/largest-contentful-paint-all-frames.d.ts +1 -3
- package/core/computed/metrics/largest-contentful-paint.d.ts +1 -3
- package/core/computed/metrics/lcp-breakdown.d.ts +3 -9
- package/core/computed/metrics/max-potential-fid.d.ts +1 -3
- package/core/computed/metrics/responsiveness.d.ts +7 -10
- package/core/computed/metrics/speed-index.d.ts +1 -3
- package/core/computed/metrics/time-to-first-byte.d.ts +1 -3
- package/core/computed/metrics/timing-summary.d.ts +8 -13
- package/core/computed/metrics/total-blocking-time.d.ts +1 -3
- package/core/computed/metrics/total-blocking-time.js +1 -1
- package/core/computed/module-duplication.d.ts +2 -8
- package/core/computed/navigation-insights.d.ts +2 -4
- package/core/computed/network-analysis.d.ts +2 -4
- package/core/computed/network-analysis.js +1 -1
- package/core/computed/network-records.d.ts +1 -3
- package/core/computed/page-dependency-graph.d.ts +9 -14
- package/core/computed/page-dependency-graph.js +3 -4
- package/core/computed/processed-navigation.d.ts +2 -5
- package/core/computed/processed-trace.d.ts +1 -3
- package/core/computed/resource-summary.d.ts +6 -10
- package/core/computed/screenshots.d.ts +1 -6
- package/core/computed/speedline.d.ts +1 -3
- package/core/computed/tbt-impact-tasks.d.ts +4 -5
- package/core/computed/tbt-impact-tasks.js +31 -8
- package/core/computed/trace-engine-result.d.ts +1 -3
- package/core/computed/trace-engine-result.js +10 -1
- package/core/computed/unused-css.d.ts +7 -9
- package/core/computed/unused-javascript-summary.d.ts +3 -5
- package/core/computed/user-timings.d.ts +3 -5
- package/core/computed/viewport-meta.d.ts +7 -9
- package/core/config/config-helpers.d.ts +5 -5
- package/core/config/config.d.ts +3 -3
- package/core/config/constants.d.ts +6 -6
- package/core/config/filters.d.ts +8 -8
- package/core/config/validation.d.ts +1 -1
- package/core/gather/driver/environment.d.ts +5 -5
- package/core/gather/driver/environment.js +1 -1
- package/core/gather/driver/execution-context.d.ts +6 -6
- package/core/gather/driver/navigation.d.ts +3 -3
- package/core/gather/driver/network-monitor.d.ts +6 -6
- package/core/gather/driver/storage.d.ts +4 -4
- package/core/gather/driver/target-manager.d.ts +4 -5
- package/core/gather/driver/target-manager.js +1 -1
- package/core/gather/driver/wait-for-condition.d.ts +3 -3
- package/core/gather/driver/wait-for-condition.js +4 -4
- package/core/gather/driver.d.ts +1 -1
- package/core/gather/gatherers/accessibility.d.ts +1 -1
- package/core/gather/gatherers/anchor-elements.d.ts +1 -1
- package/core/gather/gatherers/bf-cache-failures.d.ts +3 -3
- package/core/gather/gatherers/cache-contents.d.ts +1 -1
- package/core/gather/gatherers/console-messages.d.ts +1 -1
- package/core/gather/gatherers/css-usage.d.ts +1 -1
- package/core/gather/gatherers/devtools-log-compat.d.ts +3 -3
- package/core/gather/gatherers/devtools-log.d.ts +3 -3
- package/core/gather/gatherers/dobetterweb/doctype.d.ts +1 -1
- package/core/gather/gatherers/dobetterweb/domstats.d.ts +1 -1
- package/core/gather/gatherers/dobetterweb/optimized-images.d.ts +6 -7
- package/core/gather/gatherers/dobetterweb/response-compression.d.ts +4 -5
- package/core/gather/gatherers/full-page-screenshot.d.ts +3 -3
- package/core/gather/gatherers/iframe-elements.d.ts +1 -1
- package/core/gather/gatherers/image-elements.d.ts +1 -1
- package/core/gather/gatherers/inputs.d.ts +1 -1
- package/core/gather/gatherers/inspector-issues.d.ts +2 -2
- package/core/gather/gatherers/js-usage.d.ts +1 -1
- package/core/gather/gatherers/link-elements.d.ts +6 -10
- package/core/gather/gatherers/link-elements.js +5 -12
- package/core/gather/gatherers/main-document-content.d.ts +2 -2
- package/core/gather/gatherers/meta-elements.d.ts +1 -1
- package/core/gather/gatherers/network-user-agent.d.ts +4 -4
- package/core/gather/gatherers/root-causes.d.ts +3 -4
- package/core/gather/gatherers/seo/font-size.d.ts +19 -19
- package/core/gather/gatherers/seo/robots-txt.d.ts +1 -1
- package/core/gather/gatherers/source-maps.d.ts +2 -2
- package/core/gather/gatherers/stacks.d.ts +2 -2
- package/core/gather/gatherers/stylesheets.d.ts +1 -9
- package/core/gather/gatherers/stylesheets.js +8 -39
- package/core/gather/gatherers/trace-compat.d.ts +3 -3
- package/core/gather/gatherers/trace-elements.d.ts +4 -6
- package/core/gather/navigation-runner.d.ts +3 -4
- package/core/gather/runner-helpers.d.ts +3 -3
- package/core/gather/session.d.ts +4 -4
- package/core/gather/session.js +1 -1
- package/core/gather/snapshot-runner.d.ts +2 -2
- package/core/gather/timespan-runner.d.ts +3 -3
- package/core/index.d.cts +1 -7
- package/core/index.d.ts +6 -6
- package/core/lib/arbitrary-equality-map.d.ts +2 -2
- package/core/lib/asset-saver.d.ts +3 -3
- package/core/lib/asset-saver.js +1 -1
- package/core/lib/bf-cache-strings.d.ts +117 -117
- package/core/lib/cdt/Platform.d.ts +1 -1
- package/core/lib/cdt/SDK.d.ts +1 -1
- package/core/lib/cdt/generated/ParsedURL.js +2 -2
- package/core/lib/cdt/generated/SourceMap.d.ts +11 -11
- package/core/lib/cdt/generated/SourceMap.js +3 -3
- package/core/lib/csp-evaluator.d.ts +20 -20
- package/core/lib/deprecation-description.d.ts +3 -3
- package/core/lib/deprecations-strings.d.ts +112 -112
- package/core/lib/i18n/i18n.d.ts +48 -48
- package/core/lib/icons.d.ts +3 -3
- package/core/lib/lantern/lantern.d.ts +2 -19
- package/core/lib/lantern/lantern.js +2 -45
- package/core/lib/lantern-trace-saver.d.ts +5 -7
- package/core/lib/lantern-trace-saver.js +2 -3
- package/core/lib/lh-error.d.ts +87 -87
- package/core/lib/lighthouse-compatibility.d.ts +1 -1
- package/core/lib/manifest-parser.d.ts +1 -1
- package/core/lib/minify-devtoolslog.d.ts +1 -1
- package/core/lib/navigation-error.d.ts +4 -6
- package/core/lib/navigation-error.js +2 -2
- package/core/lib/network-recorder.js +1 -1
- package/core/lib/network-request.d.ts +5 -5
- package/core/lib/network-request.js +2 -2
- package/core/lib/page-functions.d.ts +2 -2
- package/core/lib/script-helpers.d.ts +0 -1
- package/core/lib/sentry.d.ts +8 -8
- package/core/lib/stack-packs.d.ts +1 -1
- package/core/lib/trace-engine.d.ts +2 -2
- package/core/lib/tracehouse/cpu-profile-model.d.ts +8 -8
- package/core/lib/tracehouse/cpu-profile-model.js +2 -2
- package/core/lib/tracehouse/main-thread-tasks.d.ts +5 -5
- package/core/lib/tracehouse/task-groups.d.ts +6 -38
- package/core/lib/tracehouse/task-summary.d.ts +0 -1
- package/core/lib/tracehouse/trace-processor.d.ts +9 -9
- package/core/lib/traces/metric-trace-events.d.ts +1 -1
- package/core/lib/url-utils.d.ts +4 -4
- package/core/runner.d.ts +3 -4
- package/core/runner.js +0 -1
- package/core/scoring.d.ts +0 -1
- package/core/user-flow.d.ts +5 -5
- package/dist/report/bundle.esm.js +1 -1
- package/dist/report/flow.js +1 -1
- package/dist/report/standalone.js +1 -1
- package/eslint-local-rules.d.cts +4 -1
- package/flow-report/src/i18n/localized-strings.d.ts +1 -1
- package/flow-report/src/i18n/ui-strings.d.ts +43 -43
- package/package.json +7 -7
- package/readme.md +0 -2
- package/report/generator/file-namer.d.ts +2 -2
- package/report/generator/flow-report-assets.d.ts +1 -1
- package/report/generator/report-generator.d.ts +4 -4
- package/report/renderer/api.d.ts +2 -5
- package/report/renderer/category-renderer.d.ts +8 -8
- package/report/renderer/components.d.ts +2 -2
- package/report/renderer/crc-details-renderer.d.ts +2 -2
- package/report/renderer/details-renderer.d.ts +7 -7
- package/report/renderer/dom.d.ts +7 -7
- package/report/renderer/drop-down-menu.d.ts +1 -1
- package/report/renderer/drop-down-menu.js +15 -17
- package/report/renderer/element-screenshot-renderer.d.ts +3 -3
- package/report/renderer/explodey-gauge.d.ts +2 -2
- package/report/renderer/features-util.d.ts +1 -1
- package/report/renderer/performance-category-renderer.d.ts +1 -1
- package/report/renderer/report-globals.d.ts +1 -1
- package/report/renderer/report-renderer.d.ts +1 -1
- package/report/renderer/report-ui-features.d.ts +1 -1
- package/report/renderer/report-utils.d.ts +62 -62
- package/report/renderer/snippet-renderer.d.ts +9 -9
- package/report/renderer/swap-locale-feature.d.ts +2 -2
- package/report/renderer/topbar-features.d.ts +2 -2
- package/report/types/augment-dom.d.ts +0 -11
- package/shared/localization/format.d.ts +3 -3
- package/shared/localization/locales/en-US.json +1 -1
- package/shared/localization/locales/en-XL.json +1 -1
- package/shared/localization/locales.d.ts +1 -1
- package/shared/type-verifiers.d.ts +1 -1
- package/shared/util.d.ts +6 -6
- package/tsconfig.json +1 -11
- package/types/artifacts.d.ts +4 -4
- package/types/gatherer.d.ts +4 -5
- package/types/internal/node.d.ts +0 -6
- package/types/internal/query-selector.d.ts +2 -2
- package/core/lib/lantern/BaseNode.d.ts +0 -163
- package/core/lib/lantern/BaseNode.js +0 -369
- package/core/lib/lantern/BaseNode.test.js +0 -385
- package/core/lib/lantern/CpuNode.d.ts +0 -43
- package/core/lib/lantern/CpuNode.js +0 -99
- package/core/lib/lantern/LanternError.d.ts +0 -8
- package/core/lib/lantern/LanternError.js +0 -9
- package/core/lib/lantern/Metric.d.ts +0 -69
- package/core/lib/lantern/Metric.js +0 -137
- package/core/lib/lantern/NetworkNode.d.ts +0 -49
- package/core/lib/lantern/NetworkNode.js +0 -136
- package/core/lib/lantern/PageDependencyGraph.d.ts +0 -82
- package/core/lib/lantern/PageDependencyGraph.js +0 -610
- package/core/lib/lantern/PageDependencyGraph.test.js +0 -654
- package/core/lib/lantern/TBTUtils.d.ts +0 -44
- package/core/lib/lantern/TBTUtils.js +0 -76
- package/core/lib/lantern/TBTUtils.test.d.ts +0 -2
- package/core/lib/lantern/TBTUtils.test.js +0 -130
- package/core/lib/lantern/TraceEngineComputationData.d.ts +0 -25
- package/core/lib/lantern/TraceEngineComputationData.js +0 -466
- package/core/lib/lantern/metrics/FirstContentfulPaint.d.ts +0 -79
- package/core/lib/lantern/metrics/FirstContentfulPaint.js +0 -198
- package/core/lib/lantern/metrics/FirstContentfulPaint.test.js +0 -54
- package/core/lib/lantern/metrics/Interactive.d.ts +0 -20
- package/core/lib/lantern/metrics/Interactive.js +0 -109
- package/core/lib/lantern/metrics/Interactive.test.js +0 -56
- package/core/lib/lantern/metrics/LargestContentfulPaint.d.ts +0 -19
- package/core/lib/lantern/metrics/LargestContentfulPaint.js +0 -105
- package/core/lib/lantern/metrics/LargestContentfulPaint.test.js +0 -42
- package/core/lib/lantern/metrics/MaxPotentialFID.d.ts +0 -24
- package/core/lib/lantern/metrics/MaxPotentialFID.js +0 -91
- package/core/lib/lantern/metrics/MetricTestUtils.d.ts +0 -19
- package/core/lib/lantern/metrics/MetricTestUtils.js +0 -48
- package/core/lib/lantern/metrics/SpeedIndex.d.ts +0 -32
- package/core/lib/lantern/metrics/SpeedIndex.js +0 -142
- package/core/lib/lantern/metrics/SpeedIndex.test.js +0 -83
- package/core/lib/lantern/metrics/TotalBlockingTime.d.ts +0 -25
- package/core/lib/lantern/metrics/TotalBlockingTime.js +0 -125
- package/core/lib/lantern/metrics/__snapshots__/FirstContentfulPaint.test.js.snap +0 -11
- package/core/lib/lantern/metrics/__snapshots__/Interactive.test.js.snap +0 -17
- package/core/lib/lantern/metrics/metrics.d.ts +0 -9
- package/core/lib/lantern/metrics/metrics.js +0 -16
- package/core/lib/lantern/simulation/ConnectionPool.d.ts +0 -48
- package/core/lib/lantern/simulation/ConnectionPool.js +0 -152
- package/core/lib/lantern/simulation/ConnectionPool.test.js +0 -195
- package/core/lib/lantern/simulation/Constants.d.ts +0 -52
- package/core/lib/lantern/simulation/Constants.js +0 -48
- package/core/lib/lantern/simulation/DNSCache.d.ts +0 -42
- package/core/lib/lantern/simulation/DNSCache.js +0 -74
- package/core/lib/lantern/simulation/DNSCache.test.js +0 -72
- package/core/lib/lantern/simulation/NetworkAnalyzer.d.ts +0 -209
- package/core/lib/lantern/simulation/NetworkAnalyzer.js +0 -597
- package/core/lib/lantern/simulation/NetworkAnalyzer.test.js +0 -475
- package/core/lib/lantern/simulation/SimulationTimingMap.d.ts +0 -153
- package/core/lib/lantern/simulation/SimulationTimingMap.js +0 -219
- package/core/lib/lantern/simulation/Simulator.d.ts +0 -157
- package/core/lib/lantern/simulation/Simulator.js +0 -593
- package/core/lib/lantern/simulation/Simulator.test.js +0 -434
- package/core/lib/lantern/simulation/TCPConnection.test.d.ts +0 -2
- package/core/lib/lantern/simulation/TCPConnection.test.js +0 -374
- package/core/lib/lantern/simulation/TcpConnection.d.ts +0 -89
- package/core/lib/lantern/simulation/TcpConnection.js +0 -230
- package/core/lib/lantern/simulation/simulation.d.ts +0 -21
- package/core/lib/lantern/simulation/simulation.js +0 -28
- package/core/lib/lantern/types/lantern.d.ts +0 -256
- package/core/lib/lantern/types/lantern.js +0 -7
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
export { TBTImpactTasksComputed as TBTImpactTasks };
|
|
2
2
|
declare const TBTImpactTasksComputed: typeof TBTImpactTasks & {
|
|
3
|
-
request: (dependencies: import("../index.js").Artifacts.MetricComputationDataInput, context:
|
|
4
|
-
computedCache: Map<string, import("../lib/arbitrary-equality-map.js").ArbitraryEqualityMap>;
|
|
5
|
-
}>) => Promise<import("../index.js").Artifacts.TBTImpactTask[]>;
|
|
3
|
+
request: (dependencies: import("../index.js").Artifacts.MetricComputationDataInput, context: LH.Artifacts.ComputedContext) => ReturnType<typeof TBTImpactTasks.compute_>;
|
|
6
4
|
};
|
|
7
5
|
declare class TBTImpactTasks {
|
|
8
6
|
/**
|
|
@@ -22,8 +20,9 @@ declare class TBTImpactTasks {
|
|
|
22
20
|
/**
|
|
23
21
|
* @param {LH.Artifacts.TaskNode[]} tasks
|
|
24
22
|
* @param {Map<LH.Artifacts.TaskNode, number>} taskToImpact
|
|
23
|
+
* @param {Map<LH.Artifacts.TaskNode, number>} taskToBlockingTime
|
|
25
24
|
*/
|
|
26
|
-
static createImpactTasks(tasks: LH.Artifacts.TaskNode[], taskToImpact: Map<LH.Artifacts.TaskNode, number>): import("../index.js").Artifacts.TBTImpactTask[];
|
|
25
|
+
static createImpactTasks(tasks: LH.Artifacts.TaskNode[], taskToImpact: Map<LH.Artifacts.TaskNode, number>, taskToBlockingTime: Map<LH.Artifacts.TaskNode, number>): import("../index.js").Artifacts.TBTImpactTask[];
|
|
27
26
|
/**
|
|
28
27
|
* @param {LH.Artifacts.TaskNode[]} tasks
|
|
29
28
|
* @param {number} startTimeMs
|
|
@@ -38,7 +37,7 @@ declare class TBTImpactTasks {
|
|
|
38
37
|
* @param {number} endTimeMs
|
|
39
38
|
* @return {LH.Artifacts.TBTImpactTask[]}
|
|
40
39
|
*/
|
|
41
|
-
static computeImpactsFromLantern(tasks: LH.Artifacts.TaskNode[], tbtNodeTimings: LH.Gatherer.Simulation.Result[
|
|
40
|
+
static computeImpactsFromLantern(tasks: LH.Artifacts.TaskNode[], tbtNodeTimings: LH.Gatherer.Simulation.Result["nodeTimings"], startTimeMs: number, endTimeMs: number): LH.Artifacts.TBTImpactTask[];
|
|
42
41
|
/**
|
|
43
42
|
* @param {LH.Artifacts.MetricComputationDataInput} metricComputationData
|
|
44
43
|
* @param {LH.Artifacts.ComputedContext} context
|
|
@@ -12,7 +12,7 @@ import {Interactive} from './metrics/interactive.js';
|
|
|
12
12
|
import {TotalBlockingTime} from './metrics/total-blocking-time.js';
|
|
13
13
|
import {ProcessedTrace} from './processed-trace.js';
|
|
14
14
|
|
|
15
|
-
const {calculateTbtImpactForEvent} = Lantern.TBTUtils;
|
|
15
|
+
const {calculateTbtImpactForEvent} = Lantern.Metrics.TBTUtils;
|
|
16
16
|
|
|
17
17
|
class TBTImpactTasks {
|
|
18
18
|
/**
|
|
@@ -64,8 +64,9 @@ class TBTImpactTasks {
|
|
|
64
64
|
/**
|
|
65
65
|
* @param {LH.Artifacts.TaskNode[]} tasks
|
|
66
66
|
* @param {Map<LH.Artifacts.TaskNode, number>} taskToImpact
|
|
67
|
+
* @param {Map<LH.Artifacts.TaskNode, number>} taskToBlockingTime
|
|
67
68
|
*/
|
|
68
|
-
static createImpactTasks(tasks, taskToImpact) {
|
|
69
|
+
static createImpactTasks(tasks, taskToImpact, taskToBlockingTime) {
|
|
69
70
|
/** @type {LH.Artifacts.TBTImpactTask[]} */
|
|
70
71
|
const tbtImpactTasks = [];
|
|
71
72
|
|
|
@@ -73,15 +74,25 @@ class TBTImpactTasks {
|
|
|
73
74
|
const tbtImpact = taskToImpact.get(task) || 0;
|
|
74
75
|
let selfTbtImpact = tbtImpact;
|
|
75
76
|
|
|
77
|
+
const blockingTime = taskToBlockingTime.get(task) || 0;
|
|
78
|
+
let selfBlockingTime = blockingTime;
|
|
79
|
+
|
|
76
80
|
for (const child of task.children) {
|
|
77
81
|
const childTbtImpact = taskToImpact.get(child) || 0;
|
|
78
82
|
selfTbtImpact -= childTbtImpact;
|
|
83
|
+
|
|
84
|
+
const childBlockingTime = taskToBlockingTime.get(child) || 0;
|
|
85
|
+
selfBlockingTime -= childBlockingTime;
|
|
79
86
|
}
|
|
80
87
|
|
|
81
88
|
tbtImpactTasks.push({
|
|
82
89
|
...task,
|
|
83
|
-
|
|
84
|
-
|
|
90
|
+
// Floating point numbers are not perfectly precise, so the subtraction operations above
|
|
91
|
+
// can sometimes output negative numbers close to 0 here. To prevent potentially confusing
|
|
92
|
+
// output we should bump those values to 0.
|
|
93
|
+
tbtImpact: Math.max(tbtImpact, 0),
|
|
94
|
+
selfTbtImpact: Math.max(selfTbtImpact, 0),
|
|
95
|
+
selfBlockingTime: Math.max(selfBlockingTime, 0),
|
|
85
96
|
});
|
|
86
97
|
}
|
|
87
98
|
|
|
@@ -98,6 +109,9 @@ class TBTImpactTasks {
|
|
|
98
109
|
/** @type {Map<LH.Artifacts.TaskNode, number>} */
|
|
99
110
|
const taskToImpact = new Map();
|
|
100
111
|
|
|
112
|
+
/** @type {Map<LH.Artifacts.TaskNode, number>} */
|
|
113
|
+
const taskToBlockingTime = new Map();
|
|
114
|
+
|
|
101
115
|
for (const task of tasks) {
|
|
102
116
|
const event = {
|
|
103
117
|
start: task.startTime,
|
|
@@ -113,11 +127,13 @@ class TBTImpactTasks {
|
|
|
113
127
|
};
|
|
114
128
|
|
|
115
129
|
const tbtImpact = calculateTbtImpactForEvent(event, startTimeMs, endTimeMs, topLevelEvent);
|
|
130
|
+
const blockingTime = calculateTbtImpactForEvent(event, -Infinity, Infinity, topLevelEvent);
|
|
116
131
|
|
|
117
132
|
taskToImpact.set(task, tbtImpact);
|
|
133
|
+
taskToBlockingTime.set(task, blockingTime);
|
|
118
134
|
}
|
|
119
135
|
|
|
120
|
-
return this.createImpactTasks(tasks, taskToImpact);
|
|
136
|
+
return this.createImpactTasks(tasks, taskToImpact, taskToBlockingTime);
|
|
121
137
|
}
|
|
122
138
|
|
|
123
139
|
/**
|
|
@@ -131,10 +147,13 @@ class TBTImpactTasks {
|
|
|
131
147
|
/** @type {Map<LH.Artifacts.TaskNode, number>} */
|
|
132
148
|
const taskToImpact = new Map();
|
|
133
149
|
|
|
150
|
+
/** @type {Map<LH.Artifacts.TaskNode, number>} */
|
|
151
|
+
const taskToBlockingTime = new Map();
|
|
152
|
+
|
|
134
153
|
/** @type {Map<LH.Artifacts.TaskNode, {start: number, end: number, duration: number}>} */
|
|
135
154
|
const topLevelTaskToEvent = new Map();
|
|
136
155
|
|
|
137
|
-
/** @type {Map<Lantern.TraceEvent, LH.Artifacts.TaskNode>} */
|
|
156
|
+
/** @type {Map<Lantern.Types.TraceEvent, LH.Artifacts.TaskNode>} */
|
|
138
157
|
const traceEventToTask = new Map();
|
|
139
158
|
for (const task of tasks) {
|
|
140
159
|
traceEventToTask.set(task.event, task);
|
|
@@ -151,19 +170,21 @@ class TBTImpactTasks {
|
|
|
151
170
|
};
|
|
152
171
|
|
|
153
172
|
const tbtImpact = calculateTbtImpactForEvent(event, startTimeMs, endTimeMs);
|
|
173
|
+
const blockingTime = calculateTbtImpactForEvent(event, -Infinity, Infinity);
|
|
154
174
|
|
|
155
175
|
const task = traceEventToTask.get(node.event);
|
|
156
176
|
if (!task) continue;
|
|
157
177
|
|
|
158
178
|
topLevelTaskToEvent.set(task, event);
|
|
159
179
|
taskToImpact.set(task, tbtImpact);
|
|
180
|
+
taskToBlockingTime.set(task, blockingTime);
|
|
160
181
|
}
|
|
161
182
|
|
|
162
183
|
// Interpolate the TBT impact of remaining tasks using the top level ancestor tasks.
|
|
163
184
|
// We don't have any lantern estimates for tasks that are not top level, so we need to estimate
|
|
164
185
|
// the lantern timing based on the task's observed timing relative to it's top level task's observed timing.
|
|
165
186
|
for (const task of tasks) {
|
|
166
|
-
if (taskToImpact.has(task)) continue;
|
|
187
|
+
if (taskToImpact.has(task) || taskToBlockingTime.has(task)) continue;
|
|
167
188
|
|
|
168
189
|
const topLevelTask = this.getTopLevelTask(task);
|
|
169
190
|
|
|
@@ -183,11 +204,13 @@ class TBTImpactTasks {
|
|
|
183
204
|
};
|
|
184
205
|
|
|
185
206
|
const tbtImpact = calculateTbtImpactForEvent(event, startTimeMs, endTimeMs, topLevelEvent);
|
|
207
|
+
const blockingTime = calculateTbtImpactForEvent(event, -Infinity, Infinity, topLevelEvent);
|
|
186
208
|
|
|
187
209
|
taskToImpact.set(task, tbtImpact);
|
|
210
|
+
taskToBlockingTime.set(task, blockingTime);
|
|
188
211
|
}
|
|
189
212
|
|
|
190
|
-
return this.createImpactTasks(tasks, taskToImpact);
|
|
213
|
+
return this.createImpactTasks(tasks, taskToImpact, taskToBlockingTime);
|
|
191
214
|
}
|
|
192
215
|
|
|
193
216
|
/**
|
|
@@ -2,9 +2,7 @@ export { TraceEngineResultComputed as TraceEngineResult };
|
|
|
2
2
|
declare const TraceEngineResultComputed: typeof TraceEngineResult & {
|
|
3
3
|
request: (dependencies: {
|
|
4
4
|
trace: LH.Trace;
|
|
5
|
-
}, context: LH.
|
|
6
|
-
computedCache: Map<string, import("../lib/arbitrary-equality-map.js").ArbitraryEqualityMap>;
|
|
7
|
-
}>) => Promise<LH.Artifacts.TraceEngineResult>;
|
|
5
|
+
}, context: LH.Artifacts.ComputedContext) => ReturnType<typeof TraceEngineResult.compute_>;
|
|
8
6
|
};
|
|
9
7
|
/**
|
|
10
8
|
* @fileoverview Processes trace with the shared trace engine.
|
|
@@ -19,7 +19,16 @@ class TraceEngineResult {
|
|
|
19
19
|
* @return {Promise<LH.Artifacts.TraceEngineResult>}
|
|
20
20
|
*/
|
|
21
21
|
static async runTraceEngine(traceEvents) {
|
|
22
|
-
const
|
|
22
|
+
const traceHandlers = {...TraceEngine.TraceHandlers};
|
|
23
|
+
|
|
24
|
+
// @ts-expect-error Temporarily disable this handler
|
|
25
|
+
// It's not currently used anywhere in trace engine insights or Lighthouse.
|
|
26
|
+
// TODO: Re-enable this when its memory usage is improved in the trace engine
|
|
27
|
+
// https://github.com/GoogleChrome/lighthouse/issues/16111
|
|
28
|
+
delete traceHandlers.Invalidations;
|
|
29
|
+
|
|
30
|
+
const processor = new TraceEngine.TraceProcessor(traceHandlers);
|
|
31
|
+
|
|
23
32
|
// eslint-disable-next-line max-len
|
|
24
33
|
await processor.parse(/** @type {import('@paulirish/trace_engine').Types.TraceEvents.TraceEventData[]} */ (
|
|
25
34
|
traceEvents
|
|
@@ -5,12 +5,10 @@ export type StyleSheetInfo = LH.Artifacts.CSSStyleSheetInfo & {
|
|
|
5
5
|
};
|
|
6
6
|
declare const UnusedCSSComputed: typeof UnusedCSS & {
|
|
7
7
|
request: (dependencies: {
|
|
8
|
-
Stylesheets: LH.Artifacts[
|
|
9
|
-
CSSUsage: LH.Artifacts[
|
|
10
|
-
devtoolsLog:
|
|
11
|
-
}, context:
|
|
12
|
-
computedCache: Map<string, import("../lib/arbitrary-equality-map.js").ArbitraryEqualityMap>;
|
|
13
|
-
}>) => Promise<import("../../types/audit.js").default.ByteEfficiencyItem[]>;
|
|
8
|
+
Stylesheets: LH.Artifacts["Stylesheets"];
|
|
9
|
+
CSSUsage: LH.Artifacts["CSSUsage"];
|
|
10
|
+
devtoolsLog: LH.DevtoolsLog;
|
|
11
|
+
}, context: LH.Artifacts.ComputedContext) => ReturnType<typeof UnusedCSS.compute_>;
|
|
14
12
|
};
|
|
15
13
|
/** @typedef {LH.Artifacts.CSSStyleSheetInfo & {networkRecord: LH.Artifacts.NetworkRequest, usedRules: Array<LH.Crdp.CSS.RuleUsage>}} StyleSheetInfo */
|
|
16
14
|
declare class UnusedCSS {
|
|
@@ -56,9 +54,9 @@ declare class UnusedCSS {
|
|
|
56
54
|
* @return {Promise<LH.Audit.ByteEfficiencyItem[]>}
|
|
57
55
|
*/
|
|
58
56
|
static compute_(data: {
|
|
59
|
-
Stylesheets: LH.Artifacts[
|
|
60
|
-
CSSUsage: LH.Artifacts[
|
|
61
|
-
devtoolsLog:
|
|
57
|
+
Stylesheets: LH.Artifacts["Stylesheets"];
|
|
58
|
+
CSSUsage: LH.Artifacts["CSSUsage"];
|
|
59
|
+
devtoolsLog: LH.DevtoolsLog;
|
|
62
60
|
}, context: LH.Artifacts.ComputedContext): Promise<LH.Audit.ByteEfficiencyItem[]>;
|
|
63
61
|
}
|
|
64
62
|
//# sourceMappingURL=unused-css.d.ts.map
|
|
@@ -6,7 +6,7 @@ export type WasteData = {
|
|
|
6
6
|
};
|
|
7
7
|
export type ComputeInput = {
|
|
8
8
|
scriptId: string;
|
|
9
|
-
scriptCoverage: Omit<LH.Crdp.Profiler.ScriptCoverage,
|
|
9
|
+
scriptCoverage: Omit<LH.Crdp.Profiler.ScriptCoverage, "url">;
|
|
10
10
|
bundle?: LH.Artifacts.Bundle | undefined;
|
|
11
11
|
};
|
|
12
12
|
export type Summary = {
|
|
@@ -20,9 +20,7 @@ export type Summary = {
|
|
|
20
20
|
sourcesWastedBytes?: Record<string, number> | undefined;
|
|
21
21
|
};
|
|
22
22
|
declare const UnusedJavascriptSummaryComputed: typeof UnusedJavascriptSummary & {
|
|
23
|
-
request: (dependencies: ComputeInput, context:
|
|
24
|
-
computedCache: Map<string, import("../lib/arbitrary-equality-map.js").ArbitraryEqualityMap>;
|
|
25
|
-
}>) => Promise<Summary>;
|
|
23
|
+
request: (dependencies: ComputeInput, context: LH.Artifacts.ComputedContext) => ReturnType<typeof UnusedJavascriptSummary.compute_>;
|
|
26
24
|
};
|
|
27
25
|
/**
|
|
28
26
|
* @typedef WasteData
|
|
@@ -50,7 +48,7 @@ declare class UnusedJavascriptSummary {
|
|
|
50
48
|
* @param {Omit<LH.Crdp.Profiler.ScriptCoverage, 'url'>} scriptCoverage
|
|
51
49
|
* @return {WasteData}
|
|
52
50
|
*/
|
|
53
|
-
static computeWaste(scriptCoverage: Omit<LH.Crdp.Profiler.ScriptCoverage,
|
|
51
|
+
static computeWaste(scriptCoverage: Omit<LH.Crdp.Profiler.ScriptCoverage, "url">): WasteData;
|
|
54
52
|
/**
|
|
55
53
|
* @param {string} scriptId
|
|
56
54
|
* @param {WasteData} wasteData
|
|
@@ -2,21 +2,19 @@ export { UserTimingsComputed as UserTimings };
|
|
|
2
2
|
export type MarkEvent = {
|
|
3
3
|
name: string;
|
|
4
4
|
isMark: true;
|
|
5
|
-
args: LH.TraceEvent[
|
|
5
|
+
args: LH.TraceEvent["args"];
|
|
6
6
|
startTime: number;
|
|
7
7
|
};
|
|
8
8
|
export type MeasureEvent = {
|
|
9
9
|
name: string;
|
|
10
10
|
isMark: false;
|
|
11
|
-
args: LH.TraceEvent[
|
|
11
|
+
args: LH.TraceEvent["args"];
|
|
12
12
|
startTime: number;
|
|
13
13
|
endTime: number;
|
|
14
14
|
duration: number;
|
|
15
15
|
};
|
|
16
16
|
declare const UserTimingsComputed: typeof UserTimings & {
|
|
17
|
-
request: (dependencies: import("../index.js").Trace, context:
|
|
18
|
-
computedCache: Map<string, import("../lib/arbitrary-equality-map.js").ArbitraryEqualityMap>;
|
|
19
|
-
}>) => Promise<(MarkEvent | MeasureEvent)[]>;
|
|
17
|
+
request: (dependencies: import("../index.js").Trace, context: LH.Artifacts.ComputedContext) => ReturnType<typeof UserTimings.compute_>;
|
|
20
18
|
};
|
|
21
19
|
/** @typedef {{name: string, isMark: true, args: LH.TraceEvent['args'], startTime: number}} MarkEvent */
|
|
22
20
|
/** @typedef {{name: string, isMark: false, args: LH.TraceEvent['args'], startTime: number, endTime: number, duration: number}} MeasureEvent */
|
|
@@ -19,21 +19,19 @@ export type ViewportMetaResult = {
|
|
|
19
19
|
};
|
|
20
20
|
declare const ViewportMetaComputed: typeof ViewportMeta & {
|
|
21
21
|
request: (dependencies: {
|
|
22
|
-
name?: string
|
|
23
|
-
content?: string
|
|
24
|
-
property?: string
|
|
25
|
-
httpEquiv?: string
|
|
26
|
-
charset?: string
|
|
22
|
+
name?: string;
|
|
23
|
+
content?: string;
|
|
24
|
+
property?: string;
|
|
25
|
+
httpEquiv?: string;
|
|
26
|
+
charset?: string;
|
|
27
27
|
node: import("../index.js").Artifacts.NodeDetails;
|
|
28
|
-
}[], context:
|
|
29
|
-
computedCache: Map<string, import("../lib/arbitrary-equality-map.js").ArbitraryEqualityMap>;
|
|
30
|
-
}>) => Promise<ViewportMetaResult>;
|
|
28
|
+
}[], context: LH.Artifacts.ComputedContext) => ReturnType<typeof ViewportMeta.compute_>;
|
|
31
29
|
};
|
|
32
30
|
declare class ViewportMeta {
|
|
33
31
|
/**
|
|
34
32
|
* @param {LH.GathererArtifacts['MetaElements']} MetaElements
|
|
35
33
|
* @return {Promise<ViewportMetaResult>}
|
|
36
34
|
*/
|
|
37
|
-
static compute_(MetaElements: LH.GathererArtifacts[
|
|
35
|
+
static compute_(MetaElements: LH.GathererArtifacts["MetaElements"]): Promise<ViewportMetaResult>;
|
|
38
36
|
}
|
|
39
37
|
//# sourceMappingURL=viewport-meta.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export type GathererConstructor = typeof import(
|
|
2
|
-
export type Audit = typeof import(
|
|
1
|
+
export type GathererConstructor = typeof import("../gather/base-gatherer.js").default;
|
|
2
|
+
export type Audit = typeof import("../audits/audit.js")["Audit"];
|
|
3
3
|
export type Gatherer = InstanceType<GathererConstructor>;
|
|
4
4
|
/**
|
|
5
5
|
* // TODO(bckenny): could adopt "jsonified" type to ensure T will survive JSON
|
|
@@ -32,7 +32,7 @@ export const mergeConfigFragment: LH.Config.Merge;
|
|
|
32
32
|
* @param {(item: T) => string} keyFn
|
|
33
33
|
* @return {Array<T>}
|
|
34
34
|
*/
|
|
35
|
-
export function mergeConfigFragmentArrayByKey<T extends Record<string, any>>(baseArray: T
|
|
35
|
+
export function mergeConfigFragmentArrayByKey<T extends Record<string, any>>(baseArray: Array<T> | null | undefined, extensionArray: Array<T> | null | undefined, keyFn: (item: T) => string): Array<T>;
|
|
36
36
|
/**
|
|
37
37
|
* If any items with identical `path` properties are found in the input array,
|
|
38
38
|
* merge their `options` properties into the first instance and then discard any
|
|
@@ -42,7 +42,7 @@ export function mergeConfigFragmentArrayByKey<T extends Record<string, any>>(bas
|
|
|
42
42
|
* @return T[]
|
|
43
43
|
*/
|
|
44
44
|
export function mergeOptionsOfItems<T extends {
|
|
45
|
-
path?: string
|
|
45
|
+
path?: string;
|
|
46
46
|
options: Record<string, unknown>;
|
|
47
47
|
}>(items: T[]): T[];
|
|
48
48
|
/**
|
|
@@ -62,7 +62,7 @@ export function mergePlugins(config: LH.Config, configDir: string | undefined, f
|
|
|
62
62
|
* @param {string=} configDir
|
|
63
63
|
* @return {Promise<Array<LH.Config.AuditDefn>|null>}
|
|
64
64
|
*/
|
|
65
|
-
export function resolveAuditsToDefns(audits: LH.Config[
|
|
65
|
+
export function resolveAuditsToDefns(audits: LH.Config["audits"], configDir?: string | undefined): Promise<Array<LH.Config.AuditDefn> | null>;
|
|
66
66
|
/**
|
|
67
67
|
* Turns a GathererJson into a GathererDefn which involves a few main steps:
|
|
68
68
|
* - Expanding the JSON shorthand the full definition format.
|
package/core/config/config.d.ts
CHANGED
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
* @return {{configWorkingCopy: LH.Config, configDir?: string, configPath?: string}}
|
|
5
5
|
*/
|
|
6
6
|
export function resolveWorkingCopy(config: LH.Config | undefined, context: {
|
|
7
|
-
configPath?: string
|
|
7
|
+
configPath?: string;
|
|
8
8
|
}): {
|
|
9
9
|
configWorkingCopy: LH.Config;
|
|
10
|
-
configDir?: string
|
|
11
|
-
configPath?: string
|
|
10
|
+
configDir?: string;
|
|
11
|
+
configPath?: string;
|
|
12
12
|
};
|
|
13
13
|
/**
|
|
14
14
|
* @param {LH.Gatherer.GatherMode} gatherMode
|
|
@@ -37,20 +37,20 @@ export namespace userAgents {
|
|
|
37
37
|
/** @type {LH.Config.Settings} */
|
|
38
38
|
export const defaultSettings: LH.Config.Settings;
|
|
39
39
|
export namespace nonSimulatedSettingsOverrides {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
let pauseAfterFcpMs: number;
|
|
41
|
+
let pauseAfterLoadMs: number;
|
|
42
|
+
let networkQuietThresholdMs: number;
|
|
43
|
+
let cpuQuietThresholdMs: number;
|
|
44
44
|
}
|
|
45
45
|
/**
|
|
46
46
|
* @type {Required<LH.SharedFlagsSettings['screenEmulation']>}
|
|
47
47
|
*/
|
|
48
|
-
declare const MOTOGPOWER_EMULATION_METRICS: Required<LH.SharedFlagsSettings[
|
|
48
|
+
declare const MOTOGPOWER_EMULATION_METRICS: Required<LH.SharedFlagsSettings["screenEmulation"]>;
|
|
49
49
|
/**
|
|
50
50
|
* Desktop metrics adapted from emulated_devices/module.json
|
|
51
51
|
* @type {Required<LH.SharedFlagsSettings['screenEmulation']>}
|
|
52
52
|
*/
|
|
53
|
-
declare const DESKTOP_EMULATION_METRICS: Required<LH.SharedFlagsSettings[
|
|
53
|
+
declare const DESKTOP_EMULATION_METRICS: Required<LH.SharedFlagsSettings["screenEmulation"]>;
|
|
54
54
|
declare const MOTOG4_USERAGENT: "Mozilla/5.0 (Linux; Android 11; moto g power (2022)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Mobile Safari/537.36";
|
|
55
55
|
declare const DESKTOP_USERAGENT: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36";
|
|
56
56
|
export {};
|
package/core/config/filters.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export function filterConfigByGatherMode(resolvedConfig: LH.Config.ResolvedConfi
|
|
|
14
14
|
* @param {Pick<LH.Config.Settings, 'onlyAudits'|'onlyCategories'|'skipAudits'>} filters
|
|
15
15
|
* @return {LH.Config.ResolvedConfig}
|
|
16
16
|
*/
|
|
17
|
-
export function filterConfigByExplicitFilters(resolvedConfig: LH.Config.ResolvedConfig, filters: Pick<LH.Config.Settings,
|
|
17
|
+
export function filterConfigByExplicitFilters(resolvedConfig: LH.Config.ResolvedConfig, filters: Pick<LH.Config.Settings, "onlyAudits" | "onlyCategories" | "skipAudits">): LH.Config.ResolvedConfig;
|
|
18
18
|
/**
|
|
19
19
|
* Filters an array of artifacts down to the set that supports the specified gather mode.
|
|
20
20
|
*
|
|
@@ -22,7 +22,7 @@ export function filterConfigByExplicitFilters(resolvedConfig: LH.Config.Resolved
|
|
|
22
22
|
* @param {LH.Gatherer.GatherMode} mode
|
|
23
23
|
* @return {LH.Config.ResolvedConfig['artifacts']}
|
|
24
24
|
*/
|
|
25
|
-
export function filterArtifactsByGatherMode(artifacts: LH.Config.ResolvedConfig[
|
|
25
|
+
export function filterArtifactsByGatherMode(artifacts: LH.Config.ResolvedConfig["artifacts"], mode: LH.Gatherer.GatherMode): LH.Config.ResolvedConfig["artifacts"];
|
|
26
26
|
/**
|
|
27
27
|
* Filters an array of artifacts down to the set that's required by the specified audits.
|
|
28
28
|
*
|
|
@@ -30,7 +30,7 @@ export function filterArtifactsByGatherMode(artifacts: LH.Config.ResolvedConfig[
|
|
|
30
30
|
* @param {LH.Config.ResolvedConfig['audits']} audits
|
|
31
31
|
* @return {LH.Config.ResolvedConfig['artifacts']}
|
|
32
32
|
*/
|
|
33
|
-
export function filterArtifactsByAvailableAudits(artifacts: LH.Config.ResolvedConfig[
|
|
33
|
+
export function filterArtifactsByAvailableAudits(artifacts: LH.Config.ResolvedConfig["artifacts"], audits: LH.Config.ResolvedConfig["audits"]): LH.Config.ResolvedConfig["artifacts"];
|
|
34
34
|
/**
|
|
35
35
|
* Filters an array of audits down to the set that can be computed using only the specified artifacts.
|
|
36
36
|
*
|
|
@@ -38,7 +38,7 @@ export function filterArtifactsByAvailableAudits(artifacts: LH.Config.ResolvedCo
|
|
|
38
38
|
* @param {Array<LH.Config.AnyArtifactDefn>} availableArtifacts
|
|
39
39
|
* @return {LH.Config.ResolvedConfig['audits']}
|
|
40
40
|
*/
|
|
41
|
-
export function filterAuditsByAvailableArtifacts(audits: LH.Config.ResolvedConfig[
|
|
41
|
+
export function filterAuditsByAvailableArtifacts(audits: LH.Config.ResolvedConfig["audits"], availableArtifacts: Array<LH.Config.AnyArtifactDefn>): LH.Config.ResolvedConfig["audits"];
|
|
42
42
|
/**
|
|
43
43
|
* Optional `supportedModes` property can explicitly exclude an audit even if all required artifacts are available.
|
|
44
44
|
*
|
|
@@ -46,7 +46,7 @@ export function filterAuditsByAvailableArtifacts(audits: LH.Config.ResolvedConfi
|
|
|
46
46
|
* @param {LH.Gatherer.GatherMode} mode
|
|
47
47
|
* @return {LH.Config.ResolvedConfig['audits']}
|
|
48
48
|
*/
|
|
49
|
-
export function filterAuditsByGatherMode(audits: LH.Config.ResolvedConfig[
|
|
49
|
+
export function filterAuditsByGatherMode(audits: LH.Config.ResolvedConfig["audits"], mode: LH.Gatherer.GatherMode): LH.Config.ResolvedConfig["audits"];
|
|
50
50
|
/**
|
|
51
51
|
* Filters a categories object and their auditRefs down to the set that can be computed using
|
|
52
52
|
* only the specified audits.
|
|
@@ -55,7 +55,7 @@ export function filterAuditsByGatherMode(audits: LH.Config.ResolvedConfig['audit
|
|
|
55
55
|
* @param {Array<LH.Config.AuditDefn>} availableAudits
|
|
56
56
|
* @return {LH.Config.ResolvedConfig['categories']}
|
|
57
57
|
*/
|
|
58
|
-
export function filterCategoriesByAvailableAudits(categories: LH.Config.ResolvedConfig[
|
|
58
|
+
export function filterCategoriesByAvailableAudits(categories: LH.Config.ResolvedConfig["categories"], availableAudits: Array<LH.Config.AuditDefn>): LH.Config.ResolvedConfig["categories"];
|
|
59
59
|
/**
|
|
60
60
|
* Filters a categories object and their auditRefs down to the specified category ids.
|
|
61
61
|
*
|
|
@@ -63,7 +63,7 @@ export function filterCategoriesByAvailableAudits(categories: LH.Config.Resolved
|
|
|
63
63
|
* @param {string[] | null | undefined} onlyCategories
|
|
64
64
|
* @return {LH.Config.ResolvedConfig['categories']}
|
|
65
65
|
*/
|
|
66
|
-
export function filterCategoriesByExplicitFilters(categories: LH.Config.ResolvedConfig[
|
|
66
|
+
export function filterCategoriesByExplicitFilters(categories: LH.Config.ResolvedConfig["categories"], onlyCategories: string[] | null | undefined): LH.Config.ResolvedConfig["categories"];
|
|
67
67
|
/**
|
|
68
68
|
* Optional `supportedModes` property can explicitly exclude a category even if some audits are available.
|
|
69
69
|
*
|
|
@@ -71,5 +71,5 @@ export function filterCategoriesByExplicitFilters(categories: LH.Config.Resolved
|
|
|
71
71
|
* @param {LH.Gatherer.GatherMode} mode
|
|
72
72
|
* @return {LH.Config.ResolvedConfig['categories']}
|
|
73
73
|
*/
|
|
74
|
-
export function filterCategoriesByGatherMode(categories: LH.Config.ResolvedConfig[
|
|
74
|
+
export function filterCategoriesByGatherMode(categories: LH.Config.ResolvedConfig["categories"], mode: LH.Gatherer.GatherMode): LH.Config.ResolvedConfig["categories"];
|
|
75
75
|
//# sourceMappingURL=filters.d.ts.map
|
|
@@ -30,7 +30,7 @@ export function assertValidAudit(auditDefinition: LH.Config.AuditDefn): void;
|
|
|
30
30
|
* @param {LH.Config.ResolvedConfig['audits']} audits
|
|
31
31
|
* @param {LH.Config.ResolvedConfig['groups']} groups
|
|
32
32
|
*/
|
|
33
|
-
export function assertValidCategories(categories: LH.Config.ResolvedConfig[
|
|
33
|
+
export function assertValidCategories(categories: LH.Config.ResolvedConfig["categories"], audits: LH.Config.ResolvedConfig["audits"], groups: LH.Config.ResolvedConfig["groups"]): void;
|
|
34
34
|
/**
|
|
35
35
|
* Validate the settings after they've been built.
|
|
36
36
|
* @param {LH.Config.Settings} settings
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export namespace UIStrings {
|
|
2
|
-
|
|
2
|
+
let warningSlowHostCpu: string;
|
|
3
3
|
}
|
|
4
4
|
/**
|
|
5
5
|
* @param {LH.Gatherer.ProtocolSession} session
|
|
6
6
|
* @return {Promise<LH.Crdp.Browser.GetVersionResponse & {milestone: number}>}
|
|
7
7
|
*/
|
|
8
|
-
export function getBrowserVersion(session: LH.Gatherer.ProtocolSession): Promise<
|
|
8
|
+
export function getBrowserVersion(session: LH.Gatherer.ProtocolSession): Promise<LH.Crdp.Browser.GetVersionResponse & {
|
|
9
9
|
milestone: number;
|
|
10
10
|
}>;
|
|
11
11
|
/**
|
|
@@ -13,7 +13,7 @@ export function getBrowserVersion(session: LH.Gatherer.ProtocolSession): Promise
|
|
|
13
13
|
* @param {LH.Gatherer.Driver['executionContext']} executionContext
|
|
14
14
|
* @return {Promise<number>}
|
|
15
15
|
*/
|
|
16
|
-
export function getBenchmarkIndex(executionContext: LH.Gatherer.Driver[
|
|
16
|
+
export function getBenchmarkIndex(executionContext: LH.Gatherer.Driver["executionContext"]): Promise<number>;
|
|
17
17
|
/**
|
|
18
18
|
* Returns a warning if the host device appeared to be underpowered according to BenchmarkIndex.
|
|
19
19
|
*
|
|
@@ -22,7 +22,7 @@ export function getBenchmarkIndex(executionContext: LH.Gatherer.Driver['executio
|
|
|
22
22
|
*/
|
|
23
23
|
export function getSlowHostCpuWarning(context: {
|
|
24
24
|
settings: LH.Config.Settings;
|
|
25
|
-
baseArtifacts: Pick<LH.Artifacts,
|
|
25
|
+
baseArtifacts: Pick<LH.Artifacts, "BenchmarkIndex">;
|
|
26
26
|
}): LH.IcuMessage | undefined;
|
|
27
27
|
/**
|
|
28
28
|
* @param {{settings: LH.Config.Settings, baseArtifacts: Pick<LH.Artifacts, 'BenchmarkIndex'>}} context
|
|
@@ -30,6 +30,6 @@ export function getSlowHostCpuWarning(context: {
|
|
|
30
30
|
*/
|
|
31
31
|
export function getEnvironmentWarnings(context: {
|
|
32
32
|
settings: LH.Config.Settings;
|
|
33
|
-
baseArtifacts: Pick<LH.Artifacts,
|
|
33
|
+
baseArtifacts: Pick<LH.Artifacts, "BenchmarkIndex">;
|
|
34
34
|
}): Array<LH.IcuMessage>;
|
|
35
35
|
//# sourceMappingURL=environment.d.ts.map
|
|
@@ -82,10 +82,10 @@ export class ExecutionContext {
|
|
|
82
82
|
* defined for `mainFn` to work.
|
|
83
83
|
* @return {Promise<Awaited<R>>}
|
|
84
84
|
*/
|
|
85
|
-
evaluate<T extends unknown[], R>(mainFn: (...args: T) => R, options: {
|
|
85
|
+
evaluate<T extends unknown[], R>(mainFn: ((...args: T) => R), options: {
|
|
86
86
|
args: T;
|
|
87
|
-
useIsolation?: boolean
|
|
88
|
-
deps?:
|
|
87
|
+
useIsolation?: boolean;
|
|
88
|
+
deps?: Array<Function | string>;
|
|
89
89
|
}): Promise<Awaited<R>>;
|
|
90
90
|
/**
|
|
91
91
|
* Evaluate a function on every new frame from now on.
|
|
@@ -96,9 +96,9 @@ export class ExecutionContext {
|
|
|
96
96
|
* defined for `mainFn` to work.
|
|
97
97
|
* @return {Promise<void>}
|
|
98
98
|
*/
|
|
99
|
-
evaluateOnNewDocument<
|
|
100
|
-
args:
|
|
101
|
-
deps?:
|
|
99
|
+
evaluateOnNewDocument<T extends unknown[]>(mainFn: ((...args: T) => void), options: {
|
|
100
|
+
args: T;
|
|
101
|
+
deps?: Array<Function | string>;
|
|
102
102
|
}): Promise<void>;
|
|
103
103
|
/**
|
|
104
104
|
* Cache native functions/objects inside window so we are sure polyfills do not overwrite the
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export type NavigationOptions = {
|
|
2
|
-
waitUntil: Array<
|
|
2
|
+
waitUntil: Array<"fcp" | "load" | "navigated">;
|
|
3
3
|
} & Partial<LH.Config.Settings>;
|
|
4
4
|
/**
|
|
5
5
|
* Navigates to the given URL, assuming that the page is not already on this URL.
|
|
@@ -27,7 +27,7 @@ export function getNavigationWarnings(navigation: {
|
|
|
27
27
|
mainDocumentUrl: string;
|
|
28
28
|
}): Array<LH.IcuMessage>;
|
|
29
29
|
export namespace UIStrings {
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
let warningRedirected: string;
|
|
31
|
+
let warningTimeout: string;
|
|
32
32
|
}
|
|
33
33
|
//# sourceMappingURL=navigation.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export type NetworkRecorderEventMap = import(
|
|
2
|
-
export type NetworkMonitorEvent_ =
|
|
1
|
+
export type NetworkRecorderEventMap = import("../../lib/network-recorder.js").NetworkRecorderEventMap;
|
|
2
|
+
export type NetworkMonitorEvent_ = "network-2-idle" | "network-critical-idle" | "networkidle" | "networkbusy" | "network-critical-busy" | "network-2-busy";
|
|
3
3
|
export type NetworkMonitorEventMap = Record<NetworkMonitorEvent_, []> & NetworkRecorderEventMap;
|
|
4
4
|
export type NetworkMonitorEvent = keyof NetworkMonitorEventMap;
|
|
5
5
|
export type NetworkMonitorEmitter = LH.Protocol.StrictEventEmitterClass<NetworkMonitorEventMap>;
|
|
@@ -19,13 +19,13 @@ export class NetworkMonitor extends NetworkMonitor_base {
|
|
|
19
19
|
end: number;
|
|
20
20
|
}>;
|
|
21
21
|
/** @param {LH.Gatherer.Driver['targetManager']} targetManager */
|
|
22
|
-
constructor(targetManager: LH.Gatherer.Driver[
|
|
22
|
+
constructor(targetManager: LH.Gatherer.Driver["targetManager"]);
|
|
23
23
|
/** @type {NetworkRecorder|undefined} */
|
|
24
24
|
_networkRecorder: NetworkRecorder | undefined;
|
|
25
25
|
/** @type {Array<LH.Crdp.Page.Frame>} */
|
|
26
26
|
_frameNavigations: Array<LH.Crdp.Page.Frame>;
|
|
27
27
|
/** @type {LH.Gatherer.Driver['targetManager']} */
|
|
28
|
-
_targetManager: LH.Gatherer.Driver[
|
|
28
|
+
_targetManager: LH.Gatherer.Driver["targetManager"];
|
|
29
29
|
/** @type {LH.Gatherer.ProtocolSession} */
|
|
30
30
|
_session: LH.Gatherer.ProtocolSession;
|
|
31
31
|
/** @param {LH.Crdp.Page.FrameNavigatedEvent} event */
|
|
@@ -42,8 +42,8 @@ export class NetworkMonitor extends NetworkMonitor_base {
|
|
|
42
42
|
disable(): Promise<void>;
|
|
43
43
|
/** @return {Promise<{requestedUrl?: string, mainDocumentUrl?: string}>} */
|
|
44
44
|
getNavigationUrls(): Promise<{
|
|
45
|
-
requestedUrl?: string
|
|
46
|
-
mainDocumentUrl?: string
|
|
45
|
+
requestedUrl?: string;
|
|
46
|
+
mainDocumentUrl?: string;
|
|
47
47
|
}>;
|
|
48
48
|
/**
|
|
49
49
|
* @return {Array<NetworkRequest>}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @param {LH.Config.Settings['clearStorageTypes']} clearStorageTypes
|
|
5
5
|
* @return {Promise<LH.IcuMessage[]>}
|
|
6
6
|
*/
|
|
7
|
-
export function clearDataForOrigin(session: LH.Gatherer.ProtocolSession, url: string, clearStorageTypes: LH.Config.Settings[
|
|
7
|
+
export function clearDataForOrigin(session: LH.Gatherer.ProtocolSession, url: string, clearStorageTypes: LH.Config.Settings["clearStorageTypes"]): Promise<LH.IcuMessage[]>;
|
|
8
8
|
/**
|
|
9
9
|
* Clear the network cache on disk and in memory.
|
|
10
10
|
* @param {LH.Gatherer.ProtocolSession} session
|
|
@@ -18,8 +18,8 @@ export function clearBrowserCaches(session: LH.Gatherer.ProtocolSession): Promis
|
|
|
18
18
|
*/
|
|
19
19
|
export function getImportantStorageWarning(session: LH.Gatherer.ProtocolSession, url: string): Promise<LH.IcuMessage | undefined>;
|
|
20
20
|
export namespace UIStrings {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
let warningData: string;
|
|
22
|
+
let warningCacheTimeout: string;
|
|
23
|
+
let warningOriginDataTimeout: string;
|
|
24
24
|
}
|
|
25
25
|
//# sourceMappingURL=storage.d.ts.map
|