lighthouse 9.5.0-dev.20230118 → 9.5.0-dev.20230119
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/bin.d.ts +5 -0
- package/cli/cli-flags.d.ts +258 -0
- package/cli/commands/commands.d.ts +4 -0
- package/cli/commands/list-audits.d.ts +2 -0
- package/cli/commands/list-locales.d.ts +2 -0
- package/cli/commands/list-trace-categories.d.ts +2 -0
- package/cli/index.d.ts +3 -0
- package/cli/printer.d.ts +28 -0
- package/cli/run.d.ts +24 -0
- package/cli/sentry-prompt.d.ts +5 -0
- package/cli/test/smokehouse/config/exclusions.d.ts +12 -0
- package/cli/test/smokehouse/core-tests.d.ts +4 -0
- package/cli/test/smokehouse/frontends/back-compat-util.d.ts +16 -0
- package/cli/test/smokehouse/frontends/lib.d.ts +8 -0
- package/cli/test/smokehouse/frontends/node.d.ts +2 -0
- package/cli/test/smokehouse/frontends/smokehouse-bin.d.ts +3 -0
- package/cli/test/smokehouse/lib/child-process-error.d.ts +21 -0
- package/cli/test/smokehouse/lib/concurrent-mapper.d.ts +78 -0
- package/cli/test/smokehouse/lib/local-console.d.ts +33 -0
- package/cli/test/smokehouse/lighthouse-runners/bundle.d.ts +16 -0
- package/cli/test/smokehouse/lighthouse-runners/cli.d.ts +18 -0
- package/cli/test/smokehouse/lighthouse-runners/devtools.d.ts +23 -0
- package/cli/test/smokehouse/report-assert-test.d.ts +2 -0
- package/cli/test/smokehouse/report-assert.d.ts +50 -0
- package/cli/test/smokehouse/smokehouse.d.ts +35 -0
- package/cli/test/smokehouse/version-check-test.d.ts +2 -0
- package/cli/test/smokehouse/version-check.d.ts +15 -0
- package/core/audits/accessibility/accesskeys.d.ts +10 -0
- package/core/audits/accessibility/aria-allowed-attr.d.ts +10 -0
- package/core/audits/accessibility/aria-command-name.d.ts +10 -0
- package/core/audits/accessibility/aria-hidden-body.d.ts +10 -0
- package/core/audits/accessibility/aria-hidden-focus.d.ts +10 -0
- package/core/audits/accessibility/aria-input-field-name.d.ts +10 -0
- package/core/audits/accessibility/aria-meter-name.d.ts +10 -0
- package/core/audits/accessibility/aria-progressbar-name.d.ts +10 -0
- package/core/audits/accessibility/aria-required-attr.d.ts +10 -0
- package/core/audits/accessibility/aria-required-children.d.ts +10 -0
- package/core/audits/accessibility/aria-required-parent.d.ts +10 -0
- package/core/audits/accessibility/aria-roles.d.ts +10 -0
- package/core/audits/accessibility/aria-toggle-field-name.d.ts +10 -0
- package/core/audits/accessibility/aria-tooltip-name.d.ts +10 -0
- package/core/audits/accessibility/aria-treeitem-name.d.ts +10 -0
- package/core/audits/accessibility/aria-valid-attr-value.d.ts +10 -0
- package/core/audits/accessibility/aria-valid-attr.d.ts +10 -0
- package/core/audits/accessibility/axe-audit.d.ts +17 -0
- package/core/audits/accessibility/button-name.d.ts +10 -0
- package/core/audits/accessibility/bypass.d.ts +10 -0
- package/core/audits/accessibility/color-contrast.d.ts +10 -0
- package/core/audits/accessibility/definition-list.d.ts +10 -0
- package/core/audits/accessibility/dlitem.d.ts +10 -0
- package/core/audits/accessibility/document-title.d.ts +10 -0
- package/core/audits/accessibility/duplicate-id-active.d.ts +10 -0
- package/core/audits/accessibility/duplicate-id-aria.d.ts +10 -0
- package/core/audits/accessibility/form-field-multiple-labels.d.ts +10 -0
- package/core/audits/accessibility/frame-title.d.ts +10 -0
- package/core/audits/accessibility/heading-order.d.ts +10 -0
- package/core/audits/accessibility/html-has-lang.d.ts +10 -0
- package/core/audits/accessibility/html-lang-valid.d.ts +10 -0
- package/core/audits/accessibility/image-alt.d.ts +10 -0
- package/core/audits/accessibility/input-image-alt.d.ts +10 -0
- package/core/audits/accessibility/label.d.ts +10 -0
- package/core/audits/accessibility/link-name.d.ts +10 -0
- package/core/audits/accessibility/list.d.ts +10 -0
- package/core/audits/accessibility/listitem.d.ts +10 -0
- package/core/audits/accessibility/manual/custom-controls-labels.d.ts +8 -0
- package/core/audits/accessibility/manual/custom-controls-roles.d.ts +8 -0
- package/core/audits/accessibility/manual/focus-traps.d.ts +8 -0
- package/core/audits/accessibility/manual/focusable-controls.d.ts +8 -0
- package/core/audits/accessibility/manual/interactive-element-affordance.d.ts +8 -0
- package/core/audits/accessibility/manual/logical-tab-order.d.ts +8 -0
- package/core/audits/accessibility/manual/managed-focus.d.ts +8 -0
- package/core/audits/accessibility/manual/offscreen-content-hidden.d.ts +9 -0
- package/core/audits/accessibility/manual/use-landmarks.d.ts +8 -0
- package/core/audits/accessibility/manual/visual-order-follows-dom.d.ts +8 -0
- package/core/audits/accessibility/meta-refresh.d.ts +10 -0
- package/core/audits/accessibility/meta-viewport.d.ts +10 -0
- package/core/audits/accessibility/object-alt.d.ts +10 -0
- package/core/audits/accessibility/tabindex.d.ts +10 -0
- package/core/audits/accessibility/td-headers-attr.d.ts +10 -0
- package/core/audits/accessibility/th-has-data-cells.d.ts +10 -0
- package/core/audits/accessibility/valid-lang.d.ts +10 -0
- package/core/audits/accessibility/video-caption.d.ts +10 -0
- package/core/audits/audit.d.ts +150 -0
- package/core/audits/audit.js +1 -0
- package/core/audits/autocomplete.d.ts +36 -0
- package/core/audits/bf-cache.d.ts +21 -0
- package/core/audits/bootup-time.d.ts +26 -0
- package/core/audits/byte-efficiency/byte-efficiency-audit.d.ts +82 -0
- package/core/audits/byte-efficiency/duplicated-javascript.d.ts +52 -0
- package/core/audits/byte-efficiency/efficient-animated-content.d.ts +23 -0
- package/core/audits/byte-efficiency/legacy-javascript.d.ts +99 -0
- package/core/audits/byte-efficiency/modern-image-formats.d.ts +38 -0
- package/core/audits/byte-efficiency/offscreen-images.d.ts +75 -0
- package/core/audits/byte-efficiency/render-blocking-resources.d.ts +55 -0
- package/core/audits/byte-efficiency/total-byte-weight.d.ts +21 -0
- package/core/audits/byte-efficiency/unminified-css.d.ts +36 -0
- package/core/audits/byte-efficiency/unminified-javascript.d.ts +37 -0
- package/core/audits/byte-efficiency/unused-css-rules.d.ts +16 -0
- package/core/audits/byte-efficiency/unused-javascript.d.ts +27 -0
- package/core/audits/byte-efficiency/uses-long-cache-ttl.d.ts +61 -0
- package/core/audits/byte-efficiency/uses-optimized-images.d.ts +33 -0
- package/core/audits/byte-efficiency/uses-responsive-images-snapshot.d.ts +16 -0
- package/core/audits/byte-efficiency/uses-responsive-images.d.ts +45 -0
- package/core/audits/byte-efficiency/uses-text-compression.d.ts +14 -0
- package/core/audits/content-width.d.ts +17 -0
- package/core/audits/critical-request-chains.d.ts +44 -0
- package/core/audits/csp-xss.d.ts +51 -0
- package/core/audits/deprecations.d.ts +19 -0
- package/core/audits/diagnostics.d.ts +11 -0
- package/core/audits/dobetterweb/charset.d.ts +19 -0
- package/core/audits/dobetterweb/doctype.d.ts +21 -0
- package/core/audits/dobetterweb/dom-size.d.ts +26 -0
- package/core/audits/dobetterweb/geolocation-on-start.d.ts +16 -0
- package/core/audits/dobetterweb/inspector-issues.d.ts +45 -0
- package/core/audits/dobetterweb/js-libraries.d.ts +15 -0
- package/core/audits/dobetterweb/no-document-write.d.ts +16 -0
- package/core/audits/dobetterweb/notification-on-start.d.ts +16 -0
- package/core/audits/dobetterweb/password-inputs-can-be-pasted-into.d.ts +15 -0
- package/core/audits/dobetterweb/uses-http2.d.ts +69 -0
- package/core/audits/dobetterweb/uses-passive-event-listeners.d.ts +16 -0
- package/core/audits/errors-in-console.d.ts +31 -0
- package/core/audits/final-screenshot.d.ts +11 -0
- package/core/audits/font-display.d.ts +32 -0
- package/core/audits/image-aspect-ratio.d.ts +30 -0
- package/core/audits/image-size-responsive.d.ts +28 -0
- package/core/audits/installable-manifest.d.ts +118 -0
- package/core/audits/is-on-https.d.ts +23 -0
- package/core/audits/largest-contentful-paint-element.d.ts +14 -0
- package/core/audits/layout-shift-elements.d.ts +15 -0
- package/core/audits/lcp-lazy-loaded.d.ts +21 -0
- package/core/audits/long-tasks.d.ts +16 -0
- package/core/audits/main-thread-tasks.d.ts +11 -0
- package/core/audits/mainthread-work-breakdown.d.ts +28 -0
- package/core/audits/manual/manual-audit.d.ts +13 -0
- package/core/audits/manual/pwa-cross-browser.d.ts +12 -0
- package/core/audits/manual/pwa-each-page-has-url.d.ts +12 -0
- package/core/audits/manual/pwa-page-transitions.d.ts +12 -0
- package/core/audits/maskable-icon.d.ts +25 -0
- package/core/audits/metrics/cumulative-layout-shift.d.ts +21 -0
- package/core/audits/metrics/experimental-interaction-to-next-paint.d.ts +21 -0
- package/core/audits/metrics/first-contentful-paint-3g.d.ts +15 -0
- package/core/audits/metrics/first-contentful-paint.d.ts +25 -0
- package/core/audits/metrics/first-meaningful-paint.d.ts +28 -0
- package/core/audits/metrics/interactive.d.ts +31 -0
- package/core/audits/metrics/largest-contentful-paint.d.ts +25 -0
- package/core/audits/metrics/max-potential-fid.d.ts +23 -0
- package/core/audits/metrics/speed-index.d.ts +27 -0
- package/core/audits/metrics/total-blocking-time.d.ts +32 -0
- package/core/audits/metrics.d.ts +11 -0
- package/core/audits/multi-check-audit.d.ts +28 -0
- package/core/audits/network-requests.d.ts +11 -0
- package/core/audits/network-rtt.d.ts +15 -0
- package/core/audits/network-server-latency.d.ts +15 -0
- package/core/audits/no-unload-listeners.d.ts +16 -0
- package/core/audits/non-composited-animations.d.ts +21 -0
- package/core/audits/oopif-iframe-test-audit.d.ts +14 -0
- package/core/audits/performance-budget.d.ts +39 -0
- package/core/audits/predictive-perf.d.ts +11 -0
- package/core/audits/preload-fonts.d.ts +29 -0
- package/core/audits/preload-lcp-image.d.ts +67 -0
- package/core/audits/redirects.d.ts +33 -0
- package/core/audits/resource-summary.d.ts +16 -0
- package/core/audits/screenshot-thumbnails.d.ts +32 -0
- package/core/audits/script-elements-test-audit.d.ts +14 -0
- package/core/audits/script-treemap-data.d.ts +42 -0
- package/core/audits/seo/canonical.d.ts +51 -0
- package/core/audits/seo/crawlable-anchors.d.ts +16 -0
- package/core/audits/seo/font-size.d.ts +24 -0
- package/core/audits/seo/hreflang.d.ts +28 -0
- package/core/audits/seo/http-status-code.d.ts +16 -0
- package/core/audits/seo/is-crawlable.d.ts +38 -0
- package/core/audits/seo/link-text.d.ts +16 -0
- package/core/audits/seo/manual/structured-data.d.ts +12 -0
- package/core/audits/seo/meta-description.d.ts +16 -0
- package/core/audits/seo/plugins.d.ts +15 -0
- package/core/audits/seo/robots-txt.d.ts +18 -0
- package/core/audits/seo/tap-targets.d.ts +50 -0
- package/core/audits/server-response-time.d.ts +21 -0
- package/core/audits/service-worker.d.ts +46 -0
- package/core/audits/splash-screen.d.ts +37 -0
- package/core/audits/themed-omnibox.d.ts +42 -0
- package/core/audits/third-party-facades.d.ts +41 -0
- package/core/audits/third-party-summary.d.ts +58 -0
- package/core/audits/timing-budget.d.ts +43 -0
- package/core/audits/unsized-images.d.ts +39 -0
- package/core/audits/user-timings.d.ts +43 -0
- package/core/audits/uses-rel-preconnect.d.ts +37 -0
- package/core/audits/uses-rel-preload.d.ts +61 -0
- package/core/audits/valid-source-maps.d.ts +27 -0
- package/core/audits/viewport.d.ts +17 -0
- package/core/audits/violation-audit.d.ts +14 -0
- package/core/audits/work-during-interaction.d.ts +82 -0
- package/core/computed/computed-artifact.d.ts +15 -0
- package/core/computed/critical-request-chains.d.ts +40 -0
- package/core/computed/image-records.d.ts +24 -0
- package/core/computed/js-bundles.d.ts +13 -0
- package/core/computed/load-simulator.d.ts +28 -0
- package/core/computed/main-resource.d.ts +25 -0
- package/core/computed/main-thread-tasks.d.ts +15 -0
- package/core/computed/manifest-values.d.ts +24 -0
- package/core/computed/metrics/cumulative-layout-shift.d.ts +53 -0
- package/core/computed/metrics/first-contentful-paint-all-frames.d.ts +19 -0
- package/core/computed/metrics/first-contentful-paint.d.ts +15 -0
- package/core/computed/metrics/first-meaningful-paint.d.ts +15 -0
- package/core/computed/metrics/interactive.d.ts +61 -0
- package/core/computed/metrics/lantern-first-contentful-paint.d.ts +48 -0
- package/core/computed/metrics/lantern-first-meaningful-paint.d.ts +12 -0
- package/core/computed/metrics/lantern-interactive.d.ts +31 -0
- package/core/computed/metrics/lantern-largest-contentful-paint.d.ts +25 -0
- package/core/computed/metrics/lantern-max-potential-fid.d.ts +30 -0
- package/core/computed/metrics/lantern-metric.d.ts +78 -0
- package/core/computed/metrics/lantern-speed-index.d.ts +38 -0
- package/core/computed/metrics/lantern-total-blocking-time.d.ts +31 -0
- package/core/computed/metrics/largest-contentful-paint-all-frames.d.ts +20 -0
- package/core/computed/metrics/largest-contentful-paint.d.ts +15 -0
- package/core/computed/metrics/max-potential-fid.d.ts +15 -0
- package/core/computed/metrics/metric.d.ts +38 -0
- package/core/computed/metrics/navigation-metric.d.ts +16 -0
- package/core/computed/metrics/responsiveness.d.ts +87 -0
- package/core/computed/metrics/speed-index.d.ts +10 -0
- package/core/computed/metrics/tbt-utils.d.ts +18 -0
- package/core/computed/metrics/timing-summary.d.ts +46 -0
- package/core/computed/metrics/total-blocking-time.d.ts +23 -0
- package/core/computed/module-duplication.d.ts +37 -0
- package/core/computed/network-analysis.d.ts +20 -0
- package/core/computed/network-records.d.ts +15 -0
- package/core/computed/network-records.js +1 -0
- package/core/computed/page-dependency-graph.d.ts +88 -0
- package/core/computed/processed-navigation.d.ts +15 -0
- package/core/computed/processed-trace.d.ts +14 -0
- package/core/computed/resource-summary.d.ts +44 -0
- package/core/computed/screenshots.d.ts +20 -0
- package/core/computed/speedline.d.ts +15 -0
- package/core/computed/unused-css.d.ts +62 -0
- package/core/computed/unused-javascript-summary.d.ts +71 -0
- package/core/computed/user-timings.d.ts +31 -0
- package/core/computed/viewport-meta.d.ts +35 -0
- package/core/config/budget.d.ts +74 -0
- package/core/config/config-helpers.d.ts +94 -0
- package/core/config/config-plugin.d.ts +46 -0
- package/core/config/config.d.ts +28 -0
- package/core/config/constants.d.ts +86 -0
- package/core/config/default-config.d.ts +5 -0
- package/core/config/default-config.js +1 -0
- package/core/config/desktop-config.d.ts +5 -0
- package/core/config/desktop-config.js +1 -0
- package/core/config/experimental-config.d.ts +13 -0
- package/core/config/filters.d.ts +83 -0
- package/core/config/full-config.d.ts +9 -0
- package/core/config/lr-desktop-config.d.ts +4 -0
- package/core/config/lr-mobile-config.d.ts +9 -0
- package/core/config/metrics-to-audits.d.ts +19 -0
- package/core/config/perf-config.d.ts +9 -0
- package/core/config/validation.d.ts +77 -0
- package/core/gather/base-artifacts.d.ts +16 -0
- package/core/gather/base-gatherer.d.ts +72 -0
- package/core/gather/base-gatherer.js +2 -0
- package/core/gather/driver/dom.d.ts +20 -0
- package/core/gather/driver/environment.d.ts +35 -0
- package/core/gather/driver/execution-context.d.ts +101 -0
- package/core/gather/driver/execution-context.js +1 -7
- package/core/gather/driver/navigation.d.ts +33 -0
- package/core/gather/driver/network-monitor.d.ts +82 -0
- package/core/gather/driver/network.d.ts +10 -0
- package/core/gather/driver/prepare.d.ts +46 -0
- package/core/gather/driver/service-workers.d.ts +16 -0
- package/core/gather/driver/storage.d.ts +24 -0
- package/core/gather/driver/target-manager.d.ts +61 -0
- package/core/gather/driver/wait-for-condition.d.ts +116 -0
- package/core/gather/driver/wait-for-condition.js +3 -2
- package/core/gather/driver.d.ts +30 -0
- package/core/gather/fetcher.d.ts +63 -0
- package/core/gather/fetcher.js +2 -0
- package/core/gather/gatherers/accessibility.d.ts +23 -0
- package/core/gather/gatherers/anchor-elements.d.ts +10 -0
- package/core/gather/gatherers/bf-cache-failures.d.ts +43 -0
- package/core/gather/gatherers/cache-contents.d.ts +11 -0
- package/core/gather/gatherers/console-messages.d.ts +39 -0
- package/core/gather/gatherers/css-usage.d.ts +39 -0
- package/core/gather/gatherers/devtools-log-compat.d.ts +13 -0
- package/core/gather/gatherers/devtools-log.d.ts +48 -0
- package/core/gather/gatherers/dobetterweb/doctype.d.ts +10 -0
- package/core/gather/gatherers/dobetterweb/domstats.d.ts +10 -0
- package/core/gather/gatherers/dobetterweb/optimized-images.d.ts +61 -0
- package/core/gather/gatherers/dobetterweb/password-inputs-with-prevented-paste.d.ts +10 -0
- package/core/gather/gatherers/dobetterweb/response-compression.d.ts +30 -0
- package/core/gather/gatherers/dobetterweb/tags-blocking-first-paint.d.ts +53 -0
- package/core/gather/gatherers/full-page-screenshot.d.ts +35 -0
- package/core/gather/gatherers/gatherer.d.ts +46 -0
- package/core/gather/gatherers/global-listeners.d.ts +27 -0
- package/core/gather/gatherers/iframe-elements.d.ts +11 -0
- package/core/gather/gatherers/image-elements.d.ts +35 -0
- package/core/gather/gatherers/inputs.d.ts +10 -0
- package/core/gather/gatherers/inspector-issues.d.ts +38 -0
- package/core/gather/gatherers/installability-errors.d.ts +17 -0
- package/core/gather/gatherers/js-usage.d.ts +22 -0
- package/core/gather/gatherers/link-elements.d.ts +39 -0
- package/core/gather/gatherers/main-document-content.d.ts +27 -0
- package/core/gather/gatherers/meta-elements.d.ts +10 -0
- package/core/gather/gatherers/network-user-agent.d.ts +18 -0
- package/core/gather/gatherers/script-elements.d.ts +26 -0
- package/core/gather/gatherers/scripts.d.ts +27 -0
- package/core/gather/gatherers/seo/embedded-content.d.ts +10 -0
- package/core/gather/gatherers/seo/font-size.d.ts +131 -0
- package/core/gather/gatherers/seo/robots-txt.d.ts +10 -0
- package/core/gather/gatherers/seo/tap-targets.d.ts +21 -0
- package/core/gather/gatherers/service-worker.d.ts +16 -0
- package/core/gather/gatherers/source-maps.d.ts +50 -0
- package/core/gather/gatherers/stacks.d.ts +38 -0
- package/core/gather/gatherers/trace-compat.d.ts +13 -0
- package/core/gather/gatherers/trace-elements.d.ts +83 -0
- package/core/gather/gatherers/trace.d.ts +23 -0
- package/core/gather/gatherers/viewport-dimensions.d.ts +10 -0
- package/core/gather/gatherers/web-app-manifest.d.ts +32 -0
- package/core/gather/navigation-runner.d.ts +92 -0
- package/core/gather/runner-helpers.d.ts +39 -0
- package/core/gather/session.d.ts +50 -0
- package/core/gather/snapshot-runner.d.ts +10 -0
- package/core/gather/timespan-runner.d.ts +12 -0
- package/core/index.d.cts +4 -0
- package/core/index.d.ts +88 -0
- package/core/index.js +2 -0
- package/core/legacy/config/config.d.ts +107 -0
- package/core/legacy/config/legacy-default-config.d.ts +4 -0
- package/core/legacy/gather/connections/connection.d.ts +75 -0
- package/core/legacy/gather/connections/connection.js +1 -0
- package/core/legacy/gather/connections/cri.d.ts +27 -0
- package/core/legacy/gather/connections/raw.d.ts +20 -0
- package/core/legacy/gather/driver.d.ts +214 -0
- package/core/legacy/gather/driver.js +1 -0
- package/core/legacy/gather/gather-runner.d.ts +166 -0
- package/core/lib/arbitrary-equality-map.d.ts +47 -0
- package/core/lib/asset-saver.d.ts +101 -0
- package/core/lib/axe.d.ts +2 -0
- package/core/lib/bf-cache-strings.d.ts +121 -0
- package/core/lib/cdt/Common.d.ts +3 -0
- package/core/lib/cdt/Platform.d.ts +26 -0
- package/core/lib/cdt/SDK.d.ts +2 -0
- package/core/lib/cdt/generated/ParsedURL.d.ts +28 -0
- package/core/lib/cdt/generated/SourceMap.d.ts +100 -0
- package/core/lib/csp-evaluator.d.ts +41 -0
- package/core/lib/dependency-graph/base-node.d.ts +161 -0
- package/core/lib/dependency-graph/cpu-node.d.ts +34 -0
- package/core/lib/dependency-graph/cpu-node.js +1 -0
- package/core/lib/dependency-graph/network-node.d.ts +43 -0
- package/core/lib/dependency-graph/network-node.js +1 -0
- package/core/lib/dependency-graph/simulator/connection-pool.d.ts +58 -0
- package/core/lib/dependency-graph/simulator/connection-pool.js +1 -0
- package/core/lib/dependency-graph/simulator/dns-cache.d.ts +42 -0
- package/core/lib/dependency-graph/simulator/dns-cache.js +2 -0
- package/core/lib/dependency-graph/simulator/network-analyzer.d.ts +166 -0
- package/core/lib/dependency-graph/simulator/simulator-timing-map.d.ts +153 -0
- package/core/lib/dependency-graph/simulator/simulator-timing-map.js +2 -2
- package/core/lib/dependency-graph/simulator/simulator.d.ts +154 -0
- package/core/lib/dependency-graph/simulator/simulator.js +3 -2
- package/core/lib/dependency-graph/simulator/tcp-connection.d.ts +89 -0
- package/core/lib/deprecations-strings.d.ts +66 -0
- package/core/lib/emulation.d.ts +43 -0
- package/core/lib/i18n/i18n.d.ts +81 -0
- package/core/lib/icons.d.ts +22 -0
- package/core/lib/lantern-trace-saver.d.ts +20 -0
- package/core/lib/lh-env.d.ts +2 -0
- package/core/lib/lh-error.d.ts +328 -0
- package/core/lib/lh-trace-processor.d.ts +5 -0
- package/core/lib/manifest-parser.d.ts +186 -0
- package/core/lib/median-run.d.ts +17 -0
- package/core/lib/minification-estimator.d.ts +9 -0
- package/core/lib/minify-devtoolslog.d.ts +6 -0
- package/core/lib/minify-trace.d.ts +6 -0
- package/core/lib/navigation-error.d.ts +39 -0
- package/core/lib/network-recorder.d.ts +115 -0
- package/core/lib/network-request.d.ts +245 -0
- package/core/lib/network-request.js +1 -0
- package/core/lib/page-functions.d.ts +149 -0
- package/core/lib/proto-preprocessor.d.ts +13 -0
- package/core/lib/rect-helpers.d.ts +100 -0
- package/core/lib/script-helpers.d.ts +17 -0
- package/core/lib/sentry.d.ts +32 -0
- package/core/lib/stack-packs.d.ts +16 -0
- package/core/lib/statistics.d.ts +28 -0
- package/core/lib/tappable-rects.d.ts +8 -0
- package/core/lib/third-party-web.d.ts +32 -0
- package/core/lib/timing-trace-saver.d.ts +21 -0
- package/core/lib/tracehouse/cpu-profile-model.d.ts +228 -0
- package/core/lib/tracehouse/main-thread-tasks.d.ts +162 -0
- package/core/lib/tracehouse/main-thread-tasks.js +1 -0
- package/core/lib/tracehouse/task-groups.d.ts +66 -0
- package/core/lib/tracehouse/task-summary.d.ts +18 -0
- package/core/lib/tracehouse/trace-processor.d.ts +275 -0
- package/core/lib/traces/metric-trace-events.d.ts +65 -0
- package/core/lib/url-utils.d.ts +100 -0
- package/core/runner.d.ts +109 -0
- package/core/scoring.d.ts +26 -0
- package/core/user-flow.d.ts +106 -0
- package/core/user-flow.js +1 -0
- package/core/util.d.cts +230 -0
- package/eslint-local-rules.d.cts +6 -0
- package/esm-utils.d.ts +14 -0
- package/flow-report/api.d.ts +7 -0
- package/flow-report/clients/standalone.d.ts +7 -0
- package/flow-report/src/app.d.ts +11 -0
- package/flow-report/src/common.d.ts +20 -0
- package/flow-report/src/header.d.ts +10 -0
- package/flow-report/src/help-dialog.d.ts +10 -0
- package/flow-report/src/i18n/i18n.d.ts +209 -0
- package/flow-report/src/i18n/localized-strings.d.ts +9 -0
- package/flow-report/src/i18n/ui-strings.d.ts +48 -0
- package/flow-report/src/icons.d.ts +18 -0
- package/flow-report/src/sidebar/flow.d.ts +8 -0
- package/flow-report/src/sidebar/sidebar.d.ts +17 -0
- package/flow-report/src/summary/category.d.ts +19 -0
- package/flow-report/src/summary/summary.d.ts +18 -0
- package/flow-report/src/topbar.d.ts +15 -0
- package/flow-report/src/util.d.ts +30 -0
- package/flow-report/src/wrappers/category-score.d.ts +12 -0
- package/flow-report/src/wrappers/markdown.d.ts +10 -0
- package/flow-report/src/wrappers/report.d.ts +10 -0
- package/flow-report/src/wrappers/styles.d.ts +8 -0
- package/flow-report/test/app-test.d.ts +7 -0
- package/flow-report/test/common-test.d.ts +7 -0
- package/flow-report/test/flow-report-pptr-test.d.ts +7 -0
- package/flow-report/test/header-test.d.ts +7 -0
- package/flow-report/test/sample-flow.d.ts +7 -0
- package/flow-report/test/setup/env-setup.d.ts +11 -0
- package/flow-report/test/sidebar/flow-test.d.ts +7 -0
- package/flow-report/test/sidebar/sidebar-test.d.ts +7 -0
- package/flow-report/test/summary/category-test.d.ts +7 -0
- package/flow-report/test/summary/summary-test.d.ts +7 -0
- package/flow-report/test/topbar-test.d.ts +7 -0
- package/flow-report/test/util-test.d.ts +7 -0
- package/flow-report/test/wrappers/category-score-test.d.ts +7 -0
- package/flow-report/test/wrappers/markdown-test.d.ts +7 -0
- package/flow-report/tsconfig.json +1 -1
- package/package.json +5 -2
- package/report/clients/bundle.d.ts +6 -0
- package/report/clients/standalone.d.ts +2 -0
- package/report/generator/file-namer.d.ts +35 -0
- package/report/generator/flow-report-assets.d.ts +9 -0
- package/report/generator/report-assets.d.ts +8 -0
- package/report/generator/report-generator.d.ts +59 -0
- package/report/renderer/api.d.ts +31 -0
- package/report/renderer/category-renderer.d.ts +176 -0
- package/report/renderer/components.d.ts +10 -0
- package/report/renderer/crc-details-renderer.d.ts +73 -0
- package/report/renderer/details-renderer.d.ts +141 -0
- package/report/renderer/dom.d.ts +125 -0
- package/report/renderer/drop-down-menu.d.ts +70 -0
- package/report/renderer/element-screenshot-renderer.d.ts +79 -0
- package/report/renderer/features-util.d.ts +13 -0
- package/report/renderer/i18n.d.ts +106 -0
- package/report/renderer/logger.d.ts +47 -0
- package/report/renderer/open-tab.d.ts +19 -0
- package/report/renderer/performance-category-renderer.d.ts +56 -0
- package/report/renderer/pwa-category-renderer.d.ts +55 -0
- package/report/renderer/report-renderer.d.ts +57 -0
- package/report/renderer/report-ui-features.d.ts +71 -0
- package/report/renderer/snippet-renderer.d.ts +85 -0
- package/report/renderer/swap-locale-feature.d.ts +31 -0
- package/report/renderer/text-encoding.d.ts +26 -0
- package/report/renderer/topbar-features.d.ts +82 -0
- package/report/renderer/util.d.ts +230 -0
- package/report/test-assets/faux-psi.d.ts +34 -0
- package/report/types/augment-dom.d.ts +1 -1
- package/root.d.ts +3 -0
- package/shared/localization/format.d.ts +106 -0
- package/shared/localization/i18n-module.d.ts +4 -0
- package/shared/localization/locales.d.ts +7 -0
- package/shared/localization/swap-flow-locale.d.ts +6 -0
- package/shared/localization/swap-locale.d.ts +39 -0
- package/shared/type-verifiers.d.ts +23 -0
- package/third-party/axe/valid-langs.d.ts +9 -0
- package/types/artifacts.d.ts +40 -38
- package/types/audit.d.ts +6 -6
- package/types/config.d.ts +3 -3
- package/types/externs.d.ts +7 -3
- package/types/gatherer.d.ts +27 -21
- package/types/{cssstyle/index.d.ts → internal/cssstyle.d.ts} +0 -0
- package/types/{enquirer.d.ts → internal/enquirer.d.ts} +0 -0
- package/types/{es-main.d.ts → internal/es-main.d.ts} +0 -0
- package/types/internal/global.d.ts +15 -0
- package/types/{http-link-header/index.d.ts → internal/http-link-header.d.ts} +0 -0
- package/types/{jsonlint-mod.d.ts → internal/jsonlint-mod.d.ts} +0 -0
- package/types/{lighthouse-logger/index.d.ts → internal/lighthouse-logger.d.ts} +0 -0
- package/types/{lookup-closest-locale/index.d.ts → internal/lookup-closest-locale.d.ts} +3 -1
- package/types/{metaviewport-parser/index.d.ts → internal/metaviewport-parser.d.ts} +0 -0
- package/types/{node-fetch.d.ts → internal/node-fetch.d.ts} +0 -0
- package/types/{node.d.ts → internal/node.d.ts} +0 -0
- package/types/{parse-cache-control/index.d.ts → internal/parse-cache-control.d.ts} +0 -0
- package/types/{pretty-json-stringify/index.d.ts → internal/pretty-json-stringify.d.ts} +0 -0
- package/types/{query-selector.d.ts → internal/query-selector.d.ts} +1 -1
- package/types/{rollup-plugin-postprocess.d.ts → internal/rollup-plugin-postprocess.d.ts} +0 -0
- package/types/{smokehouse.d.ts → internal/smokehouse.d.ts} +3 -3
- package/types/{test.d.ts → internal/test.d.ts} +0 -0
- package/types/lh.d.ts +81 -0
- package/types/lh.js +13 -0
- package/types/lhr/audit-details.d.ts +2 -2
- package/types/lhr/audit-result.d.ts +2 -2
- package/types/lhr/flow-result.d.ts +1 -1
- package/types/lhr/lhr.d.ts +2 -2
- package/types/lhr/settings.d.ts +1 -1
- package/types/lhr/treemap.d.ts +2 -2
- package/types/protocol.d.ts +8 -3
- package/types/puppeteer.d.ts +11 -6
- package/types/user-flow.d.ts +14 -5
- package/types/global-lh.d.ts +0 -85
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
export type TaskGroupIds = 'parseHTML' | 'styleLayout' | 'paintCompositeRender' | 'scriptParseCompile' | 'scriptEvaluation' | 'garbageCollection' | 'other';
|
|
2
|
+
export type TaskGroup = {
|
|
3
|
+
id: TaskGroupIds;
|
|
4
|
+
label: string;
|
|
5
|
+
traceEventNames: string[];
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* @license Copyright 2017 The Lighthouse Authors. All Rights Reserved.
|
|
9
|
+
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
* 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.
|
|
11
|
+
*/
|
|
12
|
+
/** @typedef {'parseHTML'|'styleLayout'|'paintCompositeRender'|'scriptParseCompile'|'scriptEvaluation'|'garbageCollection'|'other'} TaskGroupIds */
|
|
13
|
+
/**
|
|
14
|
+
* @typedef TaskGroup
|
|
15
|
+
* @property {TaskGroupIds} id
|
|
16
|
+
* @property {string} label
|
|
17
|
+
* @property {string[]} traceEventNames
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Make sure the traceEventNames keep up with the ones in DevTools
|
|
21
|
+
* @see https://cs.chromium.org/chromium/src/third_party/blink/renderer/devtools/front_end/timeline_model/TimelineModel.js?type=cs&q=TimelineModel.TimelineModel.RecordType+%3D&g=0&l=1156
|
|
22
|
+
* @see https://cs.chromium.org/chromium/src/third_party/blink/renderer/devtools/front_end/timeline/TimelineUIUtils.js?type=cs&q=_initEventStyles+-f:out+f:devtools&sq=package:chromium&g=0&l=39
|
|
23
|
+
* @type {{[P in TaskGroupIds]: {id: P, label: string, traceEventNames: Array<string>}}}
|
|
24
|
+
*/
|
|
25
|
+
export const taskGroups: {
|
|
26
|
+
other: {
|
|
27
|
+
id: "other";
|
|
28
|
+
label: string;
|
|
29
|
+
traceEventNames: Array<string>;
|
|
30
|
+
};
|
|
31
|
+
parseHTML: {
|
|
32
|
+
id: "parseHTML";
|
|
33
|
+
label: string;
|
|
34
|
+
traceEventNames: Array<string>;
|
|
35
|
+
};
|
|
36
|
+
styleLayout: {
|
|
37
|
+
id: "styleLayout";
|
|
38
|
+
label: string;
|
|
39
|
+
traceEventNames: Array<string>;
|
|
40
|
+
};
|
|
41
|
+
paintCompositeRender: {
|
|
42
|
+
id: "paintCompositeRender";
|
|
43
|
+
label: string;
|
|
44
|
+
traceEventNames: Array<string>;
|
|
45
|
+
};
|
|
46
|
+
scriptParseCompile: {
|
|
47
|
+
id: "scriptParseCompile";
|
|
48
|
+
label: string;
|
|
49
|
+
traceEventNames: Array<string>;
|
|
50
|
+
};
|
|
51
|
+
scriptEvaluation: {
|
|
52
|
+
id: "scriptEvaluation";
|
|
53
|
+
label: string;
|
|
54
|
+
traceEventNames: Array<string>;
|
|
55
|
+
};
|
|
56
|
+
garbageCollection: {
|
|
57
|
+
id: "garbageCollection";
|
|
58
|
+
label: string;
|
|
59
|
+
traceEventNames: Array<string>;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
/** @type {Object<string, TaskGroup>} */
|
|
63
|
+
export const taskNameToGroup: {
|
|
64
|
+
[x: string]: TaskGroup;
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=task-groups.d.ts.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @param {LH.Artifacts.NetworkRequest[]} records
|
|
3
|
+
*/
|
|
4
|
+
export function getJavaScriptURLs(records: LH.Artifacts.NetworkRequest[]): Set<string>;
|
|
5
|
+
/**
|
|
6
|
+
* @param {LH.Artifacts.TaskNode} task
|
|
7
|
+
* @param {Set<string>} jsURLs
|
|
8
|
+
* @return {string}
|
|
9
|
+
*/
|
|
10
|
+
export function getAttributableURLForTask(task: LH.Artifacts.TaskNode, jsURLs: Set<string>): string;
|
|
11
|
+
/**
|
|
12
|
+
* @param {LH.Artifacts.TaskNode[]} tasks
|
|
13
|
+
* @param {Array<LH.Artifacts.NetworkRequest>} networkRecords
|
|
14
|
+
* @return {Map<string, Record<string, number>>}
|
|
15
|
+
*/
|
|
16
|
+
export function getExecutionTimingsByURL(tasks: LH.Artifacts.TaskNode[], networkRecords: Array<LH.Artifacts.NetworkRequest>): Map<string, Record<string, number>>;
|
|
17
|
+
import { NetworkRequest } from "../network-request.js";
|
|
18
|
+
//# sourceMappingURL=task-summary.d.ts.map
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
export type TraceNavigationTimesForFrame = Omit<LH.Artifacts.NavigationTraceTimes, 'firstContentfulPaintAllFrames' | 'traceEnd'>;
|
|
2
|
+
export type TimeOriginDeterminationMethod = 'lastNavigationStart' | 'firstResourceSendRequest' | 'lighthouseMarker' | 'auto';
|
|
3
|
+
export type FrameCommittedEvent = Omit<LH.TraceEvent, 'name' | 'args'> & {
|
|
4
|
+
name: 'FrameCommittedInBrowser';
|
|
5
|
+
args: {
|
|
6
|
+
data: {
|
|
7
|
+
frame: string;
|
|
8
|
+
url: string;
|
|
9
|
+
parent?: string;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
export type LCPEvent = Omit<LH.TraceEvent, 'name' | 'args'> & {
|
|
14
|
+
name: 'largestContentfulPaint::Invalidate' | 'largestContentfulPaint::Candidate';
|
|
15
|
+
args: {
|
|
16
|
+
data?: {
|
|
17
|
+
size?: number;
|
|
18
|
+
};
|
|
19
|
+
frame: string;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
export type LCPCandidateEvent = Omit<LH.TraceEvent, 'name' | 'args'> & {
|
|
23
|
+
name: 'largestContentfulPaint::Candidate';
|
|
24
|
+
args: {
|
|
25
|
+
data: {
|
|
26
|
+
size: number;
|
|
27
|
+
};
|
|
28
|
+
frame: string;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
export type ToplevelEvent = {
|
|
32
|
+
start: number;
|
|
33
|
+
end: number;
|
|
34
|
+
duration: number;
|
|
35
|
+
};
|
|
36
|
+
export class TraceProcessor {
|
|
37
|
+
static get TIMESPAN_MARKER_ID(): string;
|
|
38
|
+
/**
|
|
39
|
+
* @return {Error}
|
|
40
|
+
*/
|
|
41
|
+
static createNoNavstartError(): Error;
|
|
42
|
+
/**
|
|
43
|
+
* @return {Error}
|
|
44
|
+
*/
|
|
45
|
+
static createNoResourceSendRequestError(): Error;
|
|
46
|
+
/**
|
|
47
|
+
* @return {Error}
|
|
48
|
+
*/
|
|
49
|
+
static createNoTracingStartedError(): Error;
|
|
50
|
+
/**
|
|
51
|
+
* @return {Error}
|
|
52
|
+
*/
|
|
53
|
+
static createNoFirstContentfulPaintError(): Error;
|
|
54
|
+
/**
|
|
55
|
+
* @return {Error}
|
|
56
|
+
*/
|
|
57
|
+
static createNoLighthouseMarkerError(): Error;
|
|
58
|
+
/**
|
|
59
|
+
* Returns true if the event is a navigation start event of a document whose URL seems valid.
|
|
60
|
+
*
|
|
61
|
+
* @param {LH.TraceEvent} event
|
|
62
|
+
* @return {boolean}
|
|
63
|
+
*/
|
|
64
|
+
static _isNavigationStartOfInterest(event: LH.TraceEvent): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* This method sorts a group of trace events that have the same timestamp. We want to...
|
|
67
|
+
*
|
|
68
|
+
* 1. Put E events first, we finish off our existing events before we start new ones.
|
|
69
|
+
* 2. Order B/X events by their duration, we want parents to start before child events.
|
|
70
|
+
* 3. If we don't have any of this to go on, just use the position in the original array (stable sort).
|
|
71
|
+
*
|
|
72
|
+
* Note that the typical group size with the same timestamp will be quite small (<10 or so events),
|
|
73
|
+
* and the number of groups typically ~1% of total trace, so the same ultra-performance-sensitive consideration
|
|
74
|
+
* given to functions that run on entire traces does not necessarily apply here.
|
|
75
|
+
*
|
|
76
|
+
* @param {number[]} tsGroupIndices
|
|
77
|
+
* @param {number[]} timestampSortedIndices
|
|
78
|
+
* @param {number} indexOfTsGroupIndicesStart
|
|
79
|
+
* @param {LH.TraceEvent[]} traceEvents
|
|
80
|
+
* @return {number[]}
|
|
81
|
+
*/
|
|
82
|
+
static _sortTimestampEventGroup(tsGroupIndices: number[], timestampSortedIndices: number[], indexOfTsGroupIndicesStart: number, traceEvents: LH.TraceEvent[]): number[];
|
|
83
|
+
/**
|
|
84
|
+
* Sorts and filters trace events by timestamp and respecting the nesting structure inherent to
|
|
85
|
+
* parent/child event relationships.
|
|
86
|
+
*
|
|
87
|
+
* @param {LH.TraceEvent[]} traceEvents
|
|
88
|
+
* @param {(e: LH.TraceEvent) => boolean} filter
|
|
89
|
+
*/
|
|
90
|
+
static filteredTraceSort(traceEvents: LH.TraceEvent[], filter: (e: LH.TraceEvent) => boolean): import("../..").TraceEvent[];
|
|
91
|
+
/**
|
|
92
|
+
* There should *always* be at least one top level event, having 0 typically means something is
|
|
93
|
+
* drastically wrong with the trace and we should just give up early and loudly.
|
|
94
|
+
*
|
|
95
|
+
* @param {LH.TraceEvent[]} events
|
|
96
|
+
*/
|
|
97
|
+
static assertHasToplevelEvents(events: LH.TraceEvent[]): void;
|
|
98
|
+
/**
|
|
99
|
+
* Calculate duration at specified percentiles for given population of
|
|
100
|
+
* durations.
|
|
101
|
+
* If one of the durations overlaps the end of the window, the full
|
|
102
|
+
* duration should be in the duration array, but the length not included
|
|
103
|
+
* within the window should be given as `clippedLength`. For instance, if a
|
|
104
|
+
* 50ms duration occurs 10ms before the end of the window, `50` should be in
|
|
105
|
+
* the `durations` array, and `clippedLength` should be set to 40.
|
|
106
|
+
* @see https://docs.google.com/document/d/1b9slyaB9yho91YTOkAQfpCdULFkZM9LqsipcX3t7He8/preview
|
|
107
|
+
* @param {!Array<number>} durations Array of durations, sorted in ascending order.
|
|
108
|
+
* @param {number} totalTime Total time (in ms) of interval containing durations.
|
|
109
|
+
* @param {!Array<number>} percentiles Array of percentiles of interest, in ascending order.
|
|
110
|
+
* @param {number=} clippedLength Optional length clipped from a duration overlapping end of window. Default of 0.
|
|
111
|
+
* @return {!Array<{percentile: number, time: number}>}
|
|
112
|
+
* @private
|
|
113
|
+
*/
|
|
114
|
+
private static _riskPercentiles;
|
|
115
|
+
/**
|
|
116
|
+
* Calculates the maximum queueing time (in ms) of high priority tasks for
|
|
117
|
+
* selected percentiles within a window of the main thread.
|
|
118
|
+
* @see https://docs.google.com/document/d/1b9slyaB9yho91YTOkAQfpCdULFkZM9LqsipcX3t7He8/preview
|
|
119
|
+
* @param {Array<ToplevelEvent>} events
|
|
120
|
+
* @param {number} startTime Start time (in ms relative to timeOrigin) of range of interest.
|
|
121
|
+
* @param {number} endTime End time (in ms relative to timeOrigin) of range of interest.
|
|
122
|
+
* @param {!Array<number>=} percentiles Optional array of percentiles to compute. Defaults to [0.5, 0.75, 0.9, 0.99, 1].
|
|
123
|
+
* @return {!Array<{percentile: number, time: number}>}
|
|
124
|
+
*/
|
|
125
|
+
static getRiskToResponsiveness(events: Array<ToplevelEvent>, startTime: number, endTime: number, percentiles?: Array<number> | undefined): Array<{
|
|
126
|
+
percentile: number;
|
|
127
|
+
time: number;
|
|
128
|
+
}>;
|
|
129
|
+
/**
|
|
130
|
+
* Provides durations in ms of all main thread top-level events
|
|
131
|
+
* @param {Array<ToplevelEvent>} topLevelEvents
|
|
132
|
+
* @param {number} startTime Optional start time (in ms relative to timeOrigin) of range of interest. Defaults to 0.
|
|
133
|
+
* @param {number} endTime Optional end time (in ms relative to timeOrigin) of range of interest. Defaults to trace end.
|
|
134
|
+
* @return {{durations: Array<number>, clippedLength: number}}
|
|
135
|
+
*/
|
|
136
|
+
static getMainThreadTopLevelEventDurations(topLevelEvents: Array<ToplevelEvent>, startTime?: number, endTime?: number): {
|
|
137
|
+
durations: Array<number>;
|
|
138
|
+
clippedLength: number;
|
|
139
|
+
};
|
|
140
|
+
/**
|
|
141
|
+
* Provides the top level events on the main thread with timestamps in ms relative to timeOrigin.
|
|
142
|
+
* start.
|
|
143
|
+
* @param {LH.Artifacts.ProcessedTrace} trace
|
|
144
|
+
* @param {number=} startTime Optional start time (in ms relative to timeOrigin) of range of interest. Defaults to 0.
|
|
145
|
+
* @param {number=} endTime Optional end time (in ms relative to timeOrigin) of range of interest. Defaults to trace end.
|
|
146
|
+
* @return {Array<ToplevelEvent>}
|
|
147
|
+
*/
|
|
148
|
+
static getMainThreadTopLevelEvents(trace: LH.Artifacts.ProcessedTrace, startTime?: number | undefined, endTime?: number | undefined): Array<ToplevelEvent>;
|
|
149
|
+
/**
|
|
150
|
+
* @param {LH.TraceEvent[]} events
|
|
151
|
+
* @return {{pid: number, tid: number, frameId: string}}
|
|
152
|
+
*/
|
|
153
|
+
static findMainFrameIds(events: LH.TraceEvent[]): {
|
|
154
|
+
pid: number;
|
|
155
|
+
tid: number;
|
|
156
|
+
frameId: string;
|
|
157
|
+
};
|
|
158
|
+
/**
|
|
159
|
+
* @param {LH.TraceEvent} evt
|
|
160
|
+
* @return {boolean}
|
|
161
|
+
*/
|
|
162
|
+
static isScheduleableTask(evt: LH.TraceEvent): boolean;
|
|
163
|
+
/**
|
|
164
|
+
* @param {LH.TraceEvent} evt
|
|
165
|
+
* @return {evt is LCPEvent}
|
|
166
|
+
*/
|
|
167
|
+
static isLCPEvent(evt: LH.TraceEvent): evt is LCPEvent;
|
|
168
|
+
/**
|
|
169
|
+
* @param {LH.TraceEvent} evt
|
|
170
|
+
* @return {evt is LCPCandidateEvent}
|
|
171
|
+
*/
|
|
172
|
+
static isLCPCandidateEvent(evt: LH.TraceEvent): evt is LCPCandidateEvent;
|
|
173
|
+
/**
|
|
174
|
+
* Returns the maximum LCP event across all frames in `events`.
|
|
175
|
+
* Sets `invalidated` flag if LCP of every frame is invalidated.
|
|
176
|
+
*
|
|
177
|
+
* LCP's trace event was first introduced in m78. We can't surface an LCP for older Chrome versions.
|
|
178
|
+
* LCP comes from a frame's latest `largestContentfulPaint::Candidate`, but it can be invalidated by a `largestContentfulPaint::Invalidate` event.
|
|
179
|
+
*
|
|
180
|
+
* @param {LH.TraceEvent[]} events
|
|
181
|
+
* @param {LH.TraceEvent} timeOriginEvent
|
|
182
|
+
* @return {{lcp: LCPEvent | undefined, invalidated: boolean}}
|
|
183
|
+
*/
|
|
184
|
+
static computeValidLCPAllFrames(events: LH.TraceEvent[], timeOriginEvent: LH.TraceEvent): {
|
|
185
|
+
lcp: LCPEvent | undefined;
|
|
186
|
+
invalidated: boolean;
|
|
187
|
+
};
|
|
188
|
+
/**
|
|
189
|
+
* @param {Array<{id: string, url: string, parent?: string}>} frames
|
|
190
|
+
* @return {Map<string, string>}
|
|
191
|
+
*/
|
|
192
|
+
static resolveRootFrames(frames: Array<{
|
|
193
|
+
id: string;
|
|
194
|
+
url: string;
|
|
195
|
+
parent?: string;
|
|
196
|
+
}>): Map<string, string>;
|
|
197
|
+
/**
|
|
198
|
+
* Finds key trace events, identifies main process/thread, and returns timings of trace events
|
|
199
|
+
* in milliseconds since the time origin in addition to the standard microsecond monotonic timestamps.
|
|
200
|
+
* @param {LH.Trace} trace
|
|
201
|
+
* @param {{timeOriginDeterminationMethod?: TimeOriginDeterminationMethod}} [options]
|
|
202
|
+
* @return {LH.Artifacts.ProcessedTrace}
|
|
203
|
+
*/
|
|
204
|
+
static processTrace(trace: LH.Trace, options?: {
|
|
205
|
+
timeOriginDeterminationMethod?: TimeOriginDeterminationMethod | undefined;
|
|
206
|
+
} | undefined): LH.Artifacts.ProcessedTrace;
|
|
207
|
+
/**
|
|
208
|
+
* Finds key navigation trace events and computes timings of events in milliseconds since the time
|
|
209
|
+
* origin in addition to the standard microsecond monotonic timestamps.
|
|
210
|
+
* @param {LH.Artifacts.ProcessedTrace} processedTrace
|
|
211
|
+
* @return {LH.Artifacts.ProcessedNavigation}
|
|
212
|
+
*/
|
|
213
|
+
static processNavigation(processedTrace: LH.Artifacts.ProcessedTrace): LH.Artifacts.ProcessedNavigation;
|
|
214
|
+
/**
|
|
215
|
+
* Computes the last observable timestamp in a set of trace events.
|
|
216
|
+
*
|
|
217
|
+
* @param {Array<LH.TraceEvent>} events
|
|
218
|
+
* @param {LH.TraceEvent} timeOriginEvt
|
|
219
|
+
* @return {{timing: number, timestamp: number}}
|
|
220
|
+
*/
|
|
221
|
+
static computeTraceEnd(events: Array<LH.TraceEvent>, timeOriginEvt: LH.TraceEvent): {
|
|
222
|
+
timing: number;
|
|
223
|
+
timestamp: number;
|
|
224
|
+
};
|
|
225
|
+
/**
|
|
226
|
+
* Computes the time origin using the specified method.
|
|
227
|
+
*
|
|
228
|
+
* - firstResourceSendRequest
|
|
229
|
+
* Uses the time that the very first network request is sent in the main frame.
|
|
230
|
+
* Eventually should be used in place of lastNavigationStart as the default for navigations.
|
|
231
|
+
* This method includes the cost of all redirects when evaluating a navigation (which matches lantern behavior).
|
|
232
|
+
* The only difference between firstResourceSendRequest and the first `navigationStart` is
|
|
233
|
+
* the unload time of `about:blank` (which is a Lighthouse implementation detail and shouldn't be included).
|
|
234
|
+
*
|
|
235
|
+
* - lastNavigationStart
|
|
236
|
+
* Uses the time of the last `navigationStart` event in the main frame.
|
|
237
|
+
* The historical time origin of Lighthouse from 2016-Present.
|
|
238
|
+
* This method excludes the cost of client-side redirects when evaluating a navigation.
|
|
239
|
+
* Can also be skewed by several hundred milliseconds or even seconds when the browser takes a long
|
|
240
|
+
* time to unload `about:blank`.
|
|
241
|
+
*
|
|
242
|
+
* @param {{keyEvents: Array<LH.TraceEvent>, frameEvents: Array<LH.TraceEvent>, mainFrameIds: {frameId: string}}} traceEventSubsets
|
|
243
|
+
* @param {TimeOriginDeterminationMethod} method
|
|
244
|
+
* @return {LH.TraceEvent}
|
|
245
|
+
*/
|
|
246
|
+
static computeTimeOrigin(traceEventSubsets: {
|
|
247
|
+
keyEvents: Array<LH.TraceEvent>;
|
|
248
|
+
frameEvents: Array<LH.TraceEvent>;
|
|
249
|
+
mainFrameIds: {
|
|
250
|
+
frameId: string;
|
|
251
|
+
};
|
|
252
|
+
}, method: TimeOriginDeterminationMethod): LH.TraceEvent;
|
|
253
|
+
/**
|
|
254
|
+
* Computes timings of trace events of key trace events in milliseconds since the time origin
|
|
255
|
+
* in addition to the standard microsecond monotonic timestamps.
|
|
256
|
+
* @param {Array<LH.TraceEvent>} frameEvents
|
|
257
|
+
* @param {{timeOriginEvt: LH.TraceEvent}} options
|
|
258
|
+
*/
|
|
259
|
+
static computeNavigationTimingsForFrame(frameEvents: Array<LH.TraceEvent>, options: {
|
|
260
|
+
timeOriginEvt: LH.TraceEvent;
|
|
261
|
+
}): {
|
|
262
|
+
timings: TraceNavigationTimesForFrame;
|
|
263
|
+
timestamps: TraceNavigationTimesForFrame;
|
|
264
|
+
timeOriginEvt: import("../..").TraceEvent;
|
|
265
|
+
firstPaintEvt: import("../..").TraceEvent | undefined;
|
|
266
|
+
firstContentfulPaintEvt: import("../..").TraceEvent;
|
|
267
|
+
firstMeaningfulPaintEvt: import("../..").TraceEvent | undefined;
|
|
268
|
+
largestContentfulPaintEvt: LCPEvent | undefined;
|
|
269
|
+
loadEvt: import("../..").TraceEvent | undefined;
|
|
270
|
+
domContentLoadedEvt: import("../..").TraceEvent | undefined;
|
|
271
|
+
fmpFellBack: boolean;
|
|
272
|
+
lcpInvalidated: boolean;
|
|
273
|
+
};
|
|
274
|
+
}
|
|
275
|
+
//# sourceMappingURL=trace-processor.d.ts.map
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
export class MetricTraceEvents {
|
|
2
|
+
/**
|
|
3
|
+
* Returns simplified representation of all metrics
|
|
4
|
+
* @return {Array<{id: string, name: string, tsKey: keyof LH.Artifacts.TimingSummary}>} metrics to consider
|
|
5
|
+
*/
|
|
6
|
+
static get metricsDefinitions(): {
|
|
7
|
+
id: string;
|
|
8
|
+
name: string;
|
|
9
|
+
tsKey: keyof LH.Artifacts.TimingSummary;
|
|
10
|
+
}[];
|
|
11
|
+
/**
|
|
12
|
+
* @param {Array<LH.TraceEvent>} traceEvents
|
|
13
|
+
* @param {LH.Result['audits']} auditResults
|
|
14
|
+
*/
|
|
15
|
+
constructor(traceEvents: Array<LH.TraceEvent>, auditResults: LH.Result['audits']);
|
|
16
|
+
_traceEvents: import("../../index.js").TraceEvent[];
|
|
17
|
+
_auditResults: Record<string, import("../../../types/lhr/audit-result.js").Result>;
|
|
18
|
+
/**
|
|
19
|
+
* Returns simplified representation of all metrics' timestamps from monotonic clock
|
|
20
|
+
* @return {Array<{ts: number, id: string, name: string}>} metrics to consider
|
|
21
|
+
*/
|
|
22
|
+
gatherMetrics(): Array<{
|
|
23
|
+
ts: number;
|
|
24
|
+
id: string;
|
|
25
|
+
name: string;
|
|
26
|
+
}>;
|
|
27
|
+
/**
|
|
28
|
+
* Get the trace event data for our timeOrigin
|
|
29
|
+
* @param {Array<{ts: number, id: string, name: string}>} metrics
|
|
30
|
+
* @return {{pid: number, tid: number, ts: number} | {errorMessage: string}}
|
|
31
|
+
*/
|
|
32
|
+
getTimeOriginEvt(metrics: Array<{
|
|
33
|
+
ts: number;
|
|
34
|
+
id: string;
|
|
35
|
+
name: string;
|
|
36
|
+
}>): {
|
|
37
|
+
pid: number;
|
|
38
|
+
tid: number;
|
|
39
|
+
ts: number;
|
|
40
|
+
} | {
|
|
41
|
+
errorMessage: string;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Constructs performance.measure trace events, which have start/end events as follows:
|
|
45
|
+
* { "pid": 89922,"tid":1295,"ts":77176783452,"ph":"b","cat":"blink.user_timing","name":"innermeasure","args":{},"tts":1257886,"id":"0xe66c67"}
|
|
46
|
+
* { "pid": 89922,"tid":1295,"ts":77176882592,"ph":"e","cat":"blink.user_timing","name":"innermeasure","args":{},"tts":1257898,"id":"0xe66c67"}
|
|
47
|
+
* @param {{ts: number, id: string, name: string}} metric
|
|
48
|
+
* @param {{pid: number, tid: number, ts: number}} timeOriginEvt
|
|
49
|
+
* @return {Array<LH.TraceEvent>} Pair of trace events (start/end)
|
|
50
|
+
*/
|
|
51
|
+
synthesizeEventPair(metric: {
|
|
52
|
+
ts: number;
|
|
53
|
+
id: string;
|
|
54
|
+
name: string;
|
|
55
|
+
}, timeOriginEvt: {
|
|
56
|
+
pid: number;
|
|
57
|
+
tid: number;
|
|
58
|
+
ts: number;
|
|
59
|
+
}): Array<LH.TraceEvent>;
|
|
60
|
+
/**
|
|
61
|
+
* @return {Array<LH.TraceEvent>} User timing raw trace event pairs
|
|
62
|
+
*/
|
|
63
|
+
generateFakeEvents(): Array<LH.TraceEvent>;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=metric-trace-events.d.ts.map
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
export default UrlUtils;
|
|
2
|
+
export type NetworkRequest = import('./network-request.js').NetworkRequest;
|
|
3
|
+
declare class UrlUtils {
|
|
4
|
+
/**
|
|
5
|
+
* @param {string} url
|
|
6
|
+
* @return {boolean}
|
|
7
|
+
*/
|
|
8
|
+
static isValid(url: string): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* @param {string} urlA
|
|
11
|
+
* @param {string} urlB
|
|
12
|
+
* @return {boolean}
|
|
13
|
+
*/
|
|
14
|
+
static hostsMatch(urlA: string, urlB: string): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* @param {string} urlA
|
|
17
|
+
* @param {string} urlB
|
|
18
|
+
* @return {boolean}
|
|
19
|
+
*/
|
|
20
|
+
static originsMatch(urlA: string, urlB: string): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* @param {string} url
|
|
23
|
+
* @return {?string}
|
|
24
|
+
*/
|
|
25
|
+
static getOrigin(url: string): string | null;
|
|
26
|
+
/**
|
|
27
|
+
* Check if rootDomains matches
|
|
28
|
+
*
|
|
29
|
+
* @param {string|URL} urlA
|
|
30
|
+
* @param {string|URL} urlB
|
|
31
|
+
*/
|
|
32
|
+
static rootDomainsMatch(urlA: string | URL, urlB: string | URL): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* @param {string} url
|
|
35
|
+
* @param {{numPathParts: number, preserveQuery: boolean, preserveHost: boolean}=} options
|
|
36
|
+
* @return {string}
|
|
37
|
+
*/
|
|
38
|
+
static getURLDisplayName(url: string, options?: {
|
|
39
|
+
numPathParts: number;
|
|
40
|
+
preserveQuery: boolean;
|
|
41
|
+
preserveHost: boolean;
|
|
42
|
+
} | undefined): string;
|
|
43
|
+
/**
|
|
44
|
+
* Limits data URIs to 100 characters, returns all other strings untouched.
|
|
45
|
+
* @param {string} url
|
|
46
|
+
* @return {string}
|
|
47
|
+
*/
|
|
48
|
+
static elideDataURI(url: string): string;
|
|
49
|
+
/**
|
|
50
|
+
* Determine if url1 equals url2, ignoring URL fragments.
|
|
51
|
+
* @param {string} url1
|
|
52
|
+
* @param {string} url2
|
|
53
|
+
* @return {boolean}
|
|
54
|
+
*/
|
|
55
|
+
static equalWithExcludedFragments(url1: string, url2: string): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Determine if the url has a protocol that we're able to test
|
|
58
|
+
* @param {string} url
|
|
59
|
+
* @return {boolean}
|
|
60
|
+
*/
|
|
61
|
+
static isProtocolAllowed(url: string): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Is the host localhost-enough to satisfy the "secure context" definition
|
|
64
|
+
* https://github.com/GoogleChrome/lighthouse/pull/11766#discussion_r582340683
|
|
65
|
+
* @param {string} hostname Either a `new URL(url).hostname` or a `networkRequest.parsedUrl.host`
|
|
66
|
+
* @return {boolean}
|
|
67
|
+
*/
|
|
68
|
+
static isLikeLocalhost(hostname: string): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* @param {NetworkRequest['parsedURL']['scheme']} scheme
|
|
71
|
+
* @return {boolean}
|
|
72
|
+
*/
|
|
73
|
+
static isSecureScheme(scheme: NetworkRequest['parsedURL']['scheme']): boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Use `NetworkRequest.isNonNetworkRequest(req)` if working with a request.
|
|
76
|
+
* Note: the `protocol` field from CDP can be 'h2', 'http', (not 'https'!) or it'll be url's scheme.
|
|
77
|
+
* https://source.chromium.org/chromium/chromium/src/+/main:content/browser/devtools/protocol/network_handler.cc;l=598-611;drc=56d4a9a9deb30be73adcee8737c73bcb2a5ab64f
|
|
78
|
+
* However, a `new URL(href).protocol` has a colon suffix.
|
|
79
|
+
* https://url.spec.whatwg.org/#dom-url-protocol
|
|
80
|
+
* A URL's `scheme` is specced as the `protocol` sans-colon, but isn't exposed on a URL object.
|
|
81
|
+
* This method can take all 3 of these string types as a parameter.
|
|
82
|
+
* @param {NetworkRequest['protocol'] | URL['protocol']} protocol Either a networkRequest's `protocol` per CDP or a `new URL(href).protocol`
|
|
83
|
+
* @return {boolean}
|
|
84
|
+
*/
|
|
85
|
+
static isNonNetworkProtocol(protocol: NetworkRequest['protocol'] | URL['protocol']): boolean;
|
|
86
|
+
/**
|
|
87
|
+
* @param {string} src
|
|
88
|
+
* @return {string|undefined}
|
|
89
|
+
*/
|
|
90
|
+
static guessMimeType(src: string): string | undefined;
|
|
91
|
+
/**
|
|
92
|
+
* @param {string|undefined} url
|
|
93
|
+
* @return {string}
|
|
94
|
+
*/
|
|
95
|
+
static normalizeUrl(url: string | undefined): string;
|
|
96
|
+
}
|
|
97
|
+
declare namespace UrlUtils {
|
|
98
|
+
const INVALID_URL_DEBUG_STRING: string;
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=url-utils.d.ts.map
|
package/core/runner.d.ts
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
export type Connection = import('./legacy/gather/connections/connection.js').Connection;
|
|
2
|
+
export type ArbitraryEqualityMap = import('./lib/arbitrary-equality-map.js').ArbitraryEqualityMap;
|
|
3
|
+
export type Config = LH.Config.LegacyResolvedConfig;
|
|
4
|
+
/** @typedef {import('./legacy/gather/connections/connection.js').Connection} Connection */
|
|
5
|
+
/** @typedef {import('./lib/arbitrary-equality-map.js').ArbitraryEqualityMap} ArbitraryEqualityMap */
|
|
6
|
+
/** @typedef {LH.Config.LegacyResolvedConfig} Config */
|
|
7
|
+
export class Runner {
|
|
8
|
+
/**
|
|
9
|
+
* @template {LH.Config.LegacyResolvedConfig | LH.Config.ResolvedConfig} TConfig
|
|
10
|
+
* @param {LH.Artifacts} artifacts
|
|
11
|
+
* @param {{resolvedConfig: TConfig, driverMock?: Driver, computedCache: Map<string, ArbitraryEqualityMap>}} options
|
|
12
|
+
* @return {Promise<LH.RunnerResult|undefined>}
|
|
13
|
+
*/
|
|
14
|
+
static audit<TConfig extends import("../types/config.js").default.ResolvedConfig | import("../types/config.js").default.LegacyResolvedConfig>(artifacts: LH.Artifacts, options: {
|
|
15
|
+
resolvedConfig: TConfig;
|
|
16
|
+
driverMock?: Driver | undefined;
|
|
17
|
+
computedCache: Map<string, ArbitraryEqualityMap>;
|
|
18
|
+
}): Promise<LH.RunnerResult | undefined>;
|
|
19
|
+
/**
|
|
20
|
+
* User can run -G solo, -A solo, or -GA together
|
|
21
|
+
* -G and -A will run partial lighthouse pipelines,
|
|
22
|
+
* and -GA will run everything plus save artifacts and lhr to disk.
|
|
23
|
+
*
|
|
24
|
+
* @template {LH.Config.LegacyResolvedConfig | LH.Config.ResolvedConfig} TConfig
|
|
25
|
+
* @param {(runnerData: {resolvedConfig: TConfig, driverMock?: Driver}) => Promise<LH.Artifacts>} gatherFn
|
|
26
|
+
* @param {{resolvedConfig: TConfig, driverMock?: Driver, computedCache: Map<string, ArbitraryEqualityMap>}} options
|
|
27
|
+
* @return {Promise<LH.Artifacts>}
|
|
28
|
+
*/
|
|
29
|
+
static gather<TConfig_1 extends import("../types/config.js").default.ResolvedConfig | import("../types/config.js").default.LegacyResolvedConfig>(gatherFn: (runnerData: {
|
|
30
|
+
resolvedConfig: TConfig_1;
|
|
31
|
+
driverMock?: Driver | undefined;
|
|
32
|
+
}) => Promise<LH.Artifacts>, options: {
|
|
33
|
+
resolvedConfig: TConfig_1;
|
|
34
|
+
driverMock?: Driver | undefined;
|
|
35
|
+
computedCache: Map<string, ArbitraryEqualityMap>;
|
|
36
|
+
}): Promise<LH.Artifacts>;
|
|
37
|
+
/**
|
|
38
|
+
* @param {any} err
|
|
39
|
+
* @param {LH.Config.Settings} settings
|
|
40
|
+
*/
|
|
41
|
+
static createRunnerError(err: any, settings: LH.Config.Settings): any;
|
|
42
|
+
/**
|
|
43
|
+
* This handles both the auditMode case where gatherer entries need to be merged in and
|
|
44
|
+
* the gather/audit case where timingEntriesFromRunner contains all entries from this run,
|
|
45
|
+
* including those also in timingEntriesFromArtifacts.
|
|
46
|
+
* @param {LH.Artifacts} artifacts
|
|
47
|
+
* @return {LH.Result.Timing}
|
|
48
|
+
*/
|
|
49
|
+
static _getTiming(artifacts: LH.Artifacts): LH.Result.Timing;
|
|
50
|
+
/**
|
|
51
|
+
* Establish connection, load page and collect all required artifacts
|
|
52
|
+
* @param {string} requestedUrl
|
|
53
|
+
* @param {{resolvedConfig: Config, computedCache: Map<string, ArbitraryEqualityMap>, driverMock?: Driver}} runnerOpts
|
|
54
|
+
* @param {Connection} connection
|
|
55
|
+
* @return {Promise<LH.Artifacts>}
|
|
56
|
+
*/
|
|
57
|
+
static _gatherArtifactsFromBrowser(requestedUrl: string, runnerOpts: {
|
|
58
|
+
resolvedConfig: Config;
|
|
59
|
+
computedCache: Map<string, ArbitraryEqualityMap>;
|
|
60
|
+
driverMock?: Driver;
|
|
61
|
+
}, connection: Connection): Promise<LH.Artifacts>;
|
|
62
|
+
/**
|
|
63
|
+
* Run all audits with specified settings and artifacts.
|
|
64
|
+
* @param {LH.Config.Settings} settings
|
|
65
|
+
* @param {Array<LH.Config.AuditDefn>} audits
|
|
66
|
+
* @param {LH.Artifacts} artifacts
|
|
67
|
+
* @param {Array<string | LH.IcuMessage>} runWarnings
|
|
68
|
+
* @param {Map<string, ArbitraryEqualityMap>} computedCache
|
|
69
|
+
* @return {Promise<Record<string, LH.RawIcu<LH.Audit.Result>>>}
|
|
70
|
+
*/
|
|
71
|
+
static _runAudits(settings: LH.Config.Settings, audits: Array<LH.Config.AuditDefn>, artifacts: LH.Artifacts, runWarnings: Array<string | LH.IcuMessage>, computedCache: Map<string, ArbitraryEqualityMap>): Promise<Record<string, LH.RawIcu<LH.Audit.Result>>>;
|
|
72
|
+
/**
|
|
73
|
+
* Checks that the audit's required artifacts exist and runs the audit if so.
|
|
74
|
+
* Otherwise returns error audit result.
|
|
75
|
+
* @param {LH.Config.AuditDefn} auditDefn
|
|
76
|
+
* @param {LH.Artifacts} artifacts
|
|
77
|
+
* @param {Pick<LH.Audit.Context, 'settings'|'computedCache'>} sharedAuditContext
|
|
78
|
+
* @param {Array<string | LH.IcuMessage>} runWarnings
|
|
79
|
+
* @return {Promise<LH.RawIcu<LH.Audit.Result>>}
|
|
80
|
+
* @private
|
|
81
|
+
*/
|
|
82
|
+
private static _runAudit;
|
|
83
|
+
/**
|
|
84
|
+
* Searches a pass's artifacts for any `lhrRuntimeError` error artifacts.
|
|
85
|
+
* Returns the first one found or `null` if none found.
|
|
86
|
+
* @param {LH.Artifacts} artifacts
|
|
87
|
+
* @return {LH.RawIcu<LH.Result['runtimeError']>|undefined}
|
|
88
|
+
*/
|
|
89
|
+
static getArtifactRuntimeError(artifacts: LH.Artifacts): LH.RawIcu<LH.Result['runtimeError']> | undefined;
|
|
90
|
+
/**
|
|
91
|
+
* Returns list of audit names for external querying.
|
|
92
|
+
* @return {Array<string>}
|
|
93
|
+
*/
|
|
94
|
+
static getAuditList(): Array<string>;
|
|
95
|
+
/**
|
|
96
|
+
* Returns list of gatherer names for external querying.
|
|
97
|
+
* @return {Array<string>}
|
|
98
|
+
*/
|
|
99
|
+
static getGathererList(): Array<string>;
|
|
100
|
+
/**
|
|
101
|
+
* Get path to use for -G and -A modes. Defaults to $CWD/latest-run
|
|
102
|
+
* @param {LH.Config.Settings} settings
|
|
103
|
+
* @return {string}
|
|
104
|
+
*/
|
|
105
|
+
static _getDataSavePath(settings: LH.Config.Settings): string;
|
|
106
|
+
}
|
|
107
|
+
import { Driver } from "./legacy/gather/driver.js";
|
|
108
|
+
import { Audit } from "./audits/audit.js";
|
|
109
|
+
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export class ReportScoring {
|
|
2
|
+
/**
|
|
3
|
+
* Computes the weighted-average of the score of the list of items.
|
|
4
|
+
* @param {Array<{score: number|null, weight: number}>} items
|
|
5
|
+
* @return {number|null}
|
|
6
|
+
*/
|
|
7
|
+
static arithmeticMean(items: Array<{
|
|
8
|
+
score: number | null;
|
|
9
|
+
weight: number;
|
|
10
|
+
}>): number | null;
|
|
11
|
+
/**
|
|
12
|
+
* Returns the report JSON object with computed scores.
|
|
13
|
+
* @param {Object<string, LH.Config.Category>} configCategories
|
|
14
|
+
* @param {Object<string, LH.RawIcu<LH.Audit.Result>>} resultsByAuditId
|
|
15
|
+
* @return {Object<string, LH.RawIcu<LH.Result.Category>>}
|
|
16
|
+
*/
|
|
17
|
+
static scoreAllCategories(configCategories: {
|
|
18
|
+
[x: string]: LH.Config.Category;
|
|
19
|
+
}, resultsByAuditId: {
|
|
20
|
+
[x: string]: LH.RawIcu<LH.Audit.Result>;
|
|
21
|
+
}): {
|
|
22
|
+
[x: string]: LH.RawIcu<LH.Result.Category>;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
import { Audit } from "./audits/audit.js";
|
|
26
|
+
//# sourceMappingURL=scoring.d.ts.map
|