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,92 @@
|
|
|
1
|
+
export type NavigationContext = {
|
|
2
|
+
driver: Driver;
|
|
3
|
+
page: LH.Puppeteer.Page;
|
|
4
|
+
resolvedConfig: LH.Config.ResolvedConfig;
|
|
5
|
+
navigation: LH.Config.NavigationDefn;
|
|
6
|
+
requestor: LH.NavigationRequestor;
|
|
7
|
+
baseArtifacts: LH.FRBaseArtifacts;
|
|
8
|
+
computedCache: Map<string, LH.ArbitraryEqualityMap>;
|
|
9
|
+
};
|
|
10
|
+
export type PhaseState = Omit<Parameters<typeof collectPhaseArtifacts>[0], 'phase'>;
|
|
11
|
+
/**
|
|
12
|
+
* @param {LH.Puppeteer.Page|undefined} page
|
|
13
|
+
* @param {LH.NavigationRequestor|undefined} requestor
|
|
14
|
+
* @param {{config?: LH.Config, flags?: LH.Flags}} [options]
|
|
15
|
+
* @return {Promise<LH.Gatherer.FRGatherResult>}
|
|
16
|
+
*/
|
|
17
|
+
export function navigationGather(page: LH.Puppeteer.Page | undefined, requestor: LH.NavigationRequestor | undefined, options?: {
|
|
18
|
+
config?: import("../../types/config.js").default | undefined;
|
|
19
|
+
flags?: import("../index.js").Flags | undefined;
|
|
20
|
+
} | undefined): Promise<LH.Gatherer.FRGatherResult>;
|
|
21
|
+
/**
|
|
22
|
+
* @param {{driver: Driver, resolvedConfig: LH.Config.ResolvedConfig, requestor: LH.NavigationRequestor}} args
|
|
23
|
+
* @return {Promise<{baseArtifacts: LH.FRBaseArtifacts}>}
|
|
24
|
+
*/
|
|
25
|
+
export function _setup({ driver, resolvedConfig, requestor }: {
|
|
26
|
+
driver: Driver;
|
|
27
|
+
resolvedConfig: LH.Config.ResolvedConfig;
|
|
28
|
+
requestor: LH.NavigationRequestor;
|
|
29
|
+
}): Promise<{
|
|
30
|
+
baseArtifacts: LH.FRBaseArtifacts;
|
|
31
|
+
}>;
|
|
32
|
+
/**
|
|
33
|
+
* @param {NavigationContext} navigationContext
|
|
34
|
+
* @return {Promise<{warnings: Array<LH.IcuMessage>}>}
|
|
35
|
+
*/
|
|
36
|
+
export function _setupNavigation({ requestor, driver, navigation, resolvedConfig }: NavigationContext): Promise<{
|
|
37
|
+
warnings: Array<LH.IcuMessage>;
|
|
38
|
+
}>;
|
|
39
|
+
/**
|
|
40
|
+
* @param {NavigationContext} navigationContext
|
|
41
|
+
* @return {Promise<{requestedUrl: string, mainDocumentUrl: string, navigationError: LH.LighthouseError | undefined, warnings: Array<LH.IcuMessage>}>}
|
|
42
|
+
*/
|
|
43
|
+
export function _navigate(navigationContext: NavigationContext): Promise<{
|
|
44
|
+
requestedUrl: string;
|
|
45
|
+
mainDocumentUrl: string;
|
|
46
|
+
navigationError: LH.LighthouseError | undefined;
|
|
47
|
+
warnings: Array<LH.IcuMessage>;
|
|
48
|
+
}>;
|
|
49
|
+
/**
|
|
50
|
+
* @param {NavigationContext} navigationContext
|
|
51
|
+
* @return {ReturnType<typeof _computeNavigationResult>}
|
|
52
|
+
*/
|
|
53
|
+
export function _navigation(navigationContext: NavigationContext): ReturnType<typeof _computeNavigationResult>;
|
|
54
|
+
/**
|
|
55
|
+
* @param {{driver: Driver, page: LH.Puppeteer.Page, resolvedConfig: LH.Config.ResolvedConfig, requestor: LH.NavigationRequestor; baseArtifacts: LH.FRBaseArtifacts, computedCache: NavigationContext['computedCache']}} args
|
|
56
|
+
* @return {Promise<{artifacts: Partial<LH.FRArtifacts & LH.FRBaseArtifacts>}>}
|
|
57
|
+
*/
|
|
58
|
+
export function _navigations(args: {
|
|
59
|
+
driver: Driver;
|
|
60
|
+
page: LH.Puppeteer.Page;
|
|
61
|
+
resolvedConfig: LH.Config.ResolvedConfig;
|
|
62
|
+
requestor: LH.NavigationRequestor;
|
|
63
|
+
baseArtifacts: LH.FRBaseArtifacts;
|
|
64
|
+
computedCache: NavigationContext['computedCache'];
|
|
65
|
+
}): Promise<{
|
|
66
|
+
artifacts: Partial<LH.FRArtifacts & LH.FRBaseArtifacts>;
|
|
67
|
+
}>;
|
|
68
|
+
/**
|
|
69
|
+
* @param {{requestedUrl?: string, driver: Driver, resolvedConfig: LH.Config.ResolvedConfig}} args
|
|
70
|
+
*/
|
|
71
|
+
export function _cleanup({ requestedUrl, driver, resolvedConfig }: {
|
|
72
|
+
requestedUrl?: string;
|
|
73
|
+
driver: Driver;
|
|
74
|
+
resolvedConfig: LH.Config.ResolvedConfig;
|
|
75
|
+
}): Promise<void>;
|
|
76
|
+
import { Driver } from "./driver.js";
|
|
77
|
+
import { collectPhaseArtifacts } from "./runner-helpers.js";
|
|
78
|
+
import { LighthouseError } from "../lib/lh-error.js";
|
|
79
|
+
/**
|
|
80
|
+
* @param {NavigationContext} navigationContext
|
|
81
|
+
* @param {PhaseState} phaseState
|
|
82
|
+
* @param {Awaited<ReturnType<typeof _setupNavigation>>} setupResult
|
|
83
|
+
* @param {Awaited<ReturnType<typeof _navigate>>} navigateResult
|
|
84
|
+
* @return {Promise<{artifacts: Partial<LH.GathererArtifacts>, warnings: Array<LH.IcuMessage>, pageLoadError: LH.LighthouseError | undefined}>}
|
|
85
|
+
*/
|
|
86
|
+
declare function _computeNavigationResult(navigationContext: NavigationContext, phaseState: PhaseState, setupResult: Awaited<ReturnType<typeof _setupNavigation>>, navigateResult: Awaited<ReturnType<typeof _navigate>>): Promise<{
|
|
87
|
+
artifacts: Partial<LH.GathererArtifacts>;
|
|
88
|
+
warnings: Array<LH.IcuMessage>;
|
|
89
|
+
pageLoadError: LH.LighthouseError | undefined;
|
|
90
|
+
}>;
|
|
91
|
+
export {};
|
|
92
|
+
//# sourceMappingURL=navigation-runner.d.ts.map
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export type CollectPhaseArtifactOptions = {
|
|
2
|
+
driver: import('./driver.js').Driver;
|
|
3
|
+
page: LH.Puppeteer.Page;
|
|
4
|
+
artifactDefinitions: Array<LH.Config.AnyArtifactDefn>;
|
|
5
|
+
artifactState: ArtifactState;
|
|
6
|
+
baseArtifacts: LH.FRBaseArtifacts;
|
|
7
|
+
phase: LH.Gatherer.FRGatherPhase;
|
|
8
|
+
gatherMode: LH.Gatherer.GatherMode;
|
|
9
|
+
computedCache: Map<string, LH.ArbitraryEqualityMap>;
|
|
10
|
+
settings: LH.Config.Settings;
|
|
11
|
+
};
|
|
12
|
+
export type IntermediateArtifacts = Record<string, Promise<any>>;
|
|
13
|
+
export type ArtifactState = Record<CollectPhaseArtifactOptions['phase'], IntermediateArtifacts>;
|
|
14
|
+
export type Dependencies = LH.Gatherer.FRTransitionalContext<LH.Gatherer.DependencyKey>['dependencies'];
|
|
15
|
+
/** @return {ArtifactState} */
|
|
16
|
+
export function getEmptyArtifactState(): ArtifactState;
|
|
17
|
+
/**
|
|
18
|
+
* Awaits the result of artifact, catching errors to set the artifact to an error instead.
|
|
19
|
+
*
|
|
20
|
+
* @param {ArtifactState} artifactState
|
|
21
|
+
* @return {Promise<Partial<LH.GathererArtifacts>>}
|
|
22
|
+
*/
|
|
23
|
+
export function awaitArtifacts(artifactState: ArtifactState): Promise<Partial<LH.GathererArtifacts>>;
|
|
24
|
+
/**
|
|
25
|
+
* Runs the gatherer methods for a particular navigation phase (startInstrumentation/getArtifact/etc).
|
|
26
|
+
* All gatherer method return values are stored on the artifact state object, organized by phase.
|
|
27
|
+
* This method collects required dependencies, runs the applicable gatherer methods, and saves the
|
|
28
|
+
* result on the artifact state object that was passed as part of `options`.
|
|
29
|
+
*
|
|
30
|
+
* @param {CollectPhaseArtifactOptions} options
|
|
31
|
+
*/
|
|
32
|
+
export function collectPhaseArtifacts(options: CollectPhaseArtifactOptions): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* @param {LH.Config.AnyArtifactDefn} artifact
|
|
35
|
+
* @param {Record<string, LH.Gatherer.PhaseResult>} artifactsById
|
|
36
|
+
* @return {Promise<Dependencies>}
|
|
37
|
+
*/
|
|
38
|
+
export function collectArtifactDependencies(artifact: LH.Config.AnyArtifactDefn, artifactsById: Record<string, LH.Gatherer.PhaseResult>): Promise<Dependencies>;
|
|
39
|
+
//# sourceMappingURL=runner-helpers.d.ts.map
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export type CrdpEventMessageEmitter = LH.Protocol.StrictEventEmitterClass<LH.CrdpEvents>;
|
|
2
|
+
declare const ProtocolSession_base: CrdpEventMessageEmitter;
|
|
3
|
+
/** @implements {LH.Gatherer.FRProtocolSession} */
|
|
4
|
+
export class ProtocolSession extends ProtocolSession_base implements LH.Gatherer.FRProtocolSession {
|
|
5
|
+
/**
|
|
6
|
+
* @param {LH.Puppeteer.CDPSession} cdpSession
|
|
7
|
+
*/
|
|
8
|
+
constructor(cdpSession: LH.Puppeteer.CDPSession);
|
|
9
|
+
_cdpSession: import("../../types/puppeteer.js").default.CDPSession;
|
|
10
|
+
/** @type {LH.Crdp.Target.TargetInfo|undefined} */
|
|
11
|
+
_targetInfo: LH.Crdp.Target.TargetInfo | undefined;
|
|
12
|
+
/** @type {number|undefined} */
|
|
13
|
+
_nextProtocolTimeout: number | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* Re-emit protocol events from the underlying CDPSession.
|
|
16
|
+
* @template {keyof LH.CrdpEvents} E
|
|
17
|
+
* @param {E} method
|
|
18
|
+
* @param {LH.CrdpEvents[E]} params
|
|
19
|
+
*/
|
|
20
|
+
_handleProtocolEvent<E extends keyof import("puppeteer-core").ProtocolMapping.Events>(method: E, ...params: import("puppeteer-core").ProtocolMapping.Events[E]): void;
|
|
21
|
+
id(): string;
|
|
22
|
+
/** @param {LH.Crdp.Target.TargetInfo} targetInfo */
|
|
23
|
+
setTargetInfo(targetInfo: LH.Crdp.Target.TargetInfo): void;
|
|
24
|
+
/**
|
|
25
|
+
* @return {boolean}
|
|
26
|
+
*/
|
|
27
|
+
hasNextProtocolTimeout(): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* @return {number}
|
|
30
|
+
*/
|
|
31
|
+
getNextProtocolTimeout(): number;
|
|
32
|
+
/**
|
|
33
|
+
* @param {number} ms
|
|
34
|
+
*/
|
|
35
|
+
setNextProtocolTimeout(ms: number): void;
|
|
36
|
+
/**
|
|
37
|
+
* @template {keyof LH.CrdpCommands} C
|
|
38
|
+
* @param {C} method
|
|
39
|
+
* @param {LH.CrdpCommands[C]['paramsType']} params
|
|
40
|
+
* @return {Promise<LH.CrdpCommands[C]['returnType']>}
|
|
41
|
+
*/
|
|
42
|
+
sendCommand<C extends keyof import("puppeteer-core").ProtocolMapping.Commands>(method: C, ...params: import("puppeteer-core").ProtocolMapping.Commands[C]["paramsType"]): Promise<import("puppeteer-core").ProtocolMapping.Commands[C]["returnType"]>;
|
|
43
|
+
/**
|
|
44
|
+
* Disposes of a session so that it can no longer talk to Chrome.
|
|
45
|
+
* @return {Promise<void>}
|
|
46
|
+
*/
|
|
47
|
+
dispose(): Promise<void>;
|
|
48
|
+
}
|
|
49
|
+
export {};
|
|
50
|
+
//# sourceMappingURL=session.d.ts.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @param {LH.Puppeteer.Page} page
|
|
3
|
+
* @param {{config?: LH.Config, flags?: LH.Flags}} [options]
|
|
4
|
+
* @return {Promise<LH.Gatherer.FRGatherResult>}
|
|
5
|
+
*/
|
|
6
|
+
export function snapshotGather(page: LH.Puppeteer.Page, options?: {
|
|
7
|
+
config?: import("../../types/config.js").default | undefined;
|
|
8
|
+
flags?: import("../index.js").Flags | undefined;
|
|
9
|
+
} | undefined): Promise<LH.Gatherer.FRGatherResult>;
|
|
10
|
+
//# sourceMappingURL=snapshot-runner.d.ts.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @param {LH.Puppeteer.Page} page
|
|
3
|
+
* @param {{config?: LH.Config, flags?: LH.Flags}} [options]
|
|
4
|
+
* @return {Promise<{endTimespanGather(): Promise<LH.Gatherer.FRGatherResult>}>}
|
|
5
|
+
*/
|
|
6
|
+
export function startTimespanGather(page: LH.Puppeteer.Page, options?: {
|
|
7
|
+
config?: import("../../types/config.js").default | undefined;
|
|
8
|
+
flags?: import("../index.js").Flags | undefined;
|
|
9
|
+
} | undefined): Promise<{
|
|
10
|
+
endTimespanGather(): Promise<LH.Gatherer.FRGatherResult>;
|
|
11
|
+
}>;
|
|
12
|
+
//# sourceMappingURL=timespan-runner.d.ts.map
|
package/core/index.d.cts
ADDED
package/core/index.d.ts
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
export default lighthouse;
|
|
2
|
+
export { Audit } from "./audits/audit.js";
|
|
3
|
+
export { default as Gatherer } from "./gather/base-gatherer.js";
|
|
4
|
+
export { NetworkRecords } from "./computed/network-records.js";
|
|
5
|
+
export { default as defaultConfig } from "./config/default-config.js";
|
|
6
|
+
export { default as desktopConfig } from "./config/desktop-config.js";
|
|
7
|
+
export * from "../types/lh.js";
|
|
8
|
+
export type Connection = import('./legacy/gather/connections/connection.js').Connection;
|
|
9
|
+
/** @typedef {import('./legacy/gather/connections/connection.js').Connection} Connection */
|
|
10
|
+
/**
|
|
11
|
+
* Run Lighthouse.
|
|
12
|
+
* @param {string=} url The URL to test. Optional if running in auditMode.
|
|
13
|
+
* @param {LH.Flags=} flags Optional settings for the Lighthouse run. If present,
|
|
14
|
+
* they will override any settings in the config.
|
|
15
|
+
* @param {LH.Config=} config Configuration for the Lighthouse run. If
|
|
16
|
+
* not present, the default config is used.
|
|
17
|
+
* @param {LH.Puppeteer.Page=} page
|
|
18
|
+
* @return {Promise<LH.RunnerResult|undefined>}
|
|
19
|
+
*/
|
|
20
|
+
declare function lighthouse(url?: string | undefined, flags?: LH.Flags | undefined, config?: LH.Config | undefined, page?: LH.Puppeteer.Page | undefined): Promise<LH.RunnerResult | undefined>;
|
|
21
|
+
/**
|
|
22
|
+
* Run Lighthouse using the legacy navigation runner.
|
|
23
|
+
* This is left in place for any clients that don't support FR navigations yet (e.g. Lightrider)
|
|
24
|
+
* @deprecated
|
|
25
|
+
* @param {string=} url The URL to test. Optional if running in auditMode.
|
|
26
|
+
* @param {LH.Flags=} flags Optional settings for the Lighthouse run. If present,
|
|
27
|
+
* they will override any settings in the config.
|
|
28
|
+
* @param {LH.Config=} config Configuration for the Lighthouse run. If
|
|
29
|
+
* not present, the default config is used.
|
|
30
|
+
* @param {Connection=} userConnection
|
|
31
|
+
* @return {Promise<LH.RunnerResult|undefined>}
|
|
32
|
+
*/
|
|
33
|
+
export function legacyNavigation(url?: string | undefined, flags?: LH.Flags | undefined, config?: LH.Config | undefined, userConnection?: Connection | undefined): Promise<LH.RunnerResult | undefined>;
|
|
34
|
+
/**
|
|
35
|
+
* @param {LH.Puppeteer.Page} page
|
|
36
|
+
* @param {LH.UserFlow.Options} [options]
|
|
37
|
+
*/
|
|
38
|
+
export function startFlow(page: LH.Puppeteer.Page, options?: LH.UserFlow.Options | undefined): Promise<UserFlow>;
|
|
39
|
+
/**
|
|
40
|
+
* @param {LH.Puppeteer.Page|undefined} page
|
|
41
|
+
* @param {LH.NavigationRequestor|undefined} requestor
|
|
42
|
+
* @param {{config?: LH.Config, flags?: LH.Flags}} [options]
|
|
43
|
+
* @return {Promise<LH.RunnerResult|undefined>}
|
|
44
|
+
*/
|
|
45
|
+
export function navigation(page: LH.Puppeteer.Page | undefined, requestor: LH.NavigationRequestor | undefined, options?: {
|
|
46
|
+
config?: LH.Config | undefined;
|
|
47
|
+
flags?: LH.Flags | undefined;
|
|
48
|
+
} | undefined): Promise<LH.RunnerResult | undefined>;
|
|
49
|
+
/**
|
|
50
|
+
* @param {LH.Puppeteer.Page} page
|
|
51
|
+
* @param {{config?: LH.Config, flags?: LH.Flags}} [options]
|
|
52
|
+
* @return {Promise<{endTimespan: () => Promise<LH.RunnerResult|undefined>}>}
|
|
53
|
+
*/
|
|
54
|
+
export function startTimespan(page: LH.Puppeteer.Page, options?: {
|
|
55
|
+
config?: LH.Config | undefined;
|
|
56
|
+
flags?: LH.Flags | undefined;
|
|
57
|
+
} | undefined): Promise<{
|
|
58
|
+
endTimespan: () => Promise<LH.RunnerResult | undefined>;
|
|
59
|
+
}>;
|
|
60
|
+
/**
|
|
61
|
+
* @param {LH.Puppeteer.Page} page
|
|
62
|
+
* @param {{config?: LH.Config, flags?: LH.Flags}} [options]
|
|
63
|
+
* @return {Promise<LH.RunnerResult|undefined>}
|
|
64
|
+
*/
|
|
65
|
+
export function snapshot(page: LH.Puppeteer.Page, options?: {
|
|
66
|
+
config?: LH.Config | undefined;
|
|
67
|
+
flags?: LH.Flags | undefined;
|
|
68
|
+
} | undefined): Promise<LH.RunnerResult | undefined>;
|
|
69
|
+
/**
|
|
70
|
+
* @template {LH.Result|LH.FlowResult} R
|
|
71
|
+
* @param {R} result
|
|
72
|
+
* @param {[R] extends [LH.Result] ? LH.OutputMode : Exclude<LH.OutputMode, 'csv'>} [format]
|
|
73
|
+
* @return {string}
|
|
74
|
+
*/
|
|
75
|
+
export function generateReport<R extends LH.Result | LH.FlowResult>(result: R, format?: ([R] extends [LH.Result] ? LH.OutputMode : "json" | "html") | undefined): string;
|
|
76
|
+
/**
|
|
77
|
+
* @param {LH.UserFlow.FlowArtifacts} flowArtifacts
|
|
78
|
+
* @param {LH.Config} [config]
|
|
79
|
+
*/
|
|
80
|
+
export function auditFlowArtifacts(flowArtifacts: LH.UserFlow.FlowArtifacts, config?: LH.Config | undefined): Promise<{
|
|
81
|
+
steps: LH.FlowResult.Step[];
|
|
82
|
+
name: string;
|
|
83
|
+
}>;
|
|
84
|
+
export function getAuditList(): string[];
|
|
85
|
+
export const traceCategories: string[];
|
|
86
|
+
import * as LH from "../types/lh.js";
|
|
87
|
+
import { UserFlow } from "./user-flow.js";
|
|
88
|
+
//# sourceMappingURL=index.d.ts.map
|
package/core/index.js
CHANGED
|
@@ -16,6 +16,7 @@ import {ReportGenerator} from '../report/generator/report-generator.js';
|
|
|
16
16
|
import {startTimespanGather} from './gather/timespan-runner.js';
|
|
17
17
|
import {snapshotGather} from './gather/snapshot-runner.js';
|
|
18
18
|
import {navigationGather} from './gather/navigation-runner.js';
|
|
19
|
+
import * as LH from '../types/lh.js';
|
|
19
20
|
|
|
20
21
|
/** @typedef {import('./legacy/gather/connections/connection.js').Connection} Connection */
|
|
21
22
|
|
|
@@ -157,6 +158,7 @@ export {default as Gatherer} from './gather/base-gatherer.js';
|
|
|
157
158
|
export {NetworkRecords} from './computed/network-records.js';
|
|
158
159
|
export {default as defaultConfig} from './config/default-config.js';
|
|
159
160
|
export {default as desktopConfig} from './config/desktop-config.js';
|
|
161
|
+
export * from '../types/lh.js';
|
|
160
162
|
export {
|
|
161
163
|
legacyNavigation,
|
|
162
164
|
startFlow,
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
export type GathererConstructor = typeof import('../../gather/gatherers/gatherer.js').Gatherer;
|
|
2
|
+
export type Gatherer = InstanceType<GathererConstructor>;
|
|
3
|
+
/**
|
|
4
|
+
* @implements {LH.Config.LegacyResolvedConfig}
|
|
5
|
+
*/
|
|
6
|
+
export class LegacyResolvedConfig implements LH.Config.LegacyResolvedConfig {
|
|
7
|
+
/**
|
|
8
|
+
* Resolves the provided config (inherits from extended config, if set), resolves
|
|
9
|
+
* all referenced modules, and validates.
|
|
10
|
+
* @param {LH.Config=} config If not provided, uses the default config.
|
|
11
|
+
* @param {LH.Flags=} flags
|
|
12
|
+
* @return {Promise<LegacyResolvedConfig>}
|
|
13
|
+
*/
|
|
14
|
+
static fromJson(config?: LH.Config | undefined, flags?: LH.Flags | undefined): Promise<LegacyResolvedConfig>;
|
|
15
|
+
/**
|
|
16
|
+
* @param {LH.Config} baseJSON The JSON of the configuration to extend
|
|
17
|
+
* @param {LH.Config} extendJSON The JSON of the extensions
|
|
18
|
+
* @return {LH.Config}
|
|
19
|
+
*/
|
|
20
|
+
static extendConfigJSON(baseJSON: LH.Config, extendJSON: LH.Config): LH.Config;
|
|
21
|
+
/**
|
|
22
|
+
* @param {LH.Config['passes']} passes
|
|
23
|
+
* @return {?Array<Required<LH.Config.PassJson>>}
|
|
24
|
+
*/
|
|
25
|
+
static augmentPassesWithDefaults(passes: LH.Config['passes']): Array<Required<LH.Config.PassJson>> | null;
|
|
26
|
+
/**
|
|
27
|
+
* Observed throttling methods (devtools/provided) require at least 5s of quiet for the metrics to
|
|
28
|
+
* be computed. This method adjusts the quiet thresholds to the required minimums if necessary.
|
|
29
|
+
* @param {LH.Config.Settings} settings
|
|
30
|
+
* @param {?Array<Required<LH.Config.PassJson>>} passes
|
|
31
|
+
*/
|
|
32
|
+
static adjustDefaultPassForThrottling(settings: LH.Config.Settings, passes: Array<Required<LH.Config.PassJson>> | null): void;
|
|
33
|
+
/**
|
|
34
|
+
* Filter out any unrequested items from the config, based on requested categories or audits.
|
|
35
|
+
* @param {LegacyResolvedConfig} config
|
|
36
|
+
*/
|
|
37
|
+
static filterConfigIfNeeded(config: LegacyResolvedConfig): void;
|
|
38
|
+
/**
|
|
39
|
+
* Filter out any unrequested categories or audits from the categories object.
|
|
40
|
+
* @param {LegacyResolvedConfig['categories']} oldCategories
|
|
41
|
+
* @param {LH.Config.Settings} settings
|
|
42
|
+
* @return {{categories: LegacyResolvedConfig['categories'], requestedAuditNames: Set<string>}}
|
|
43
|
+
*/
|
|
44
|
+
static filterCategoriesAndAudits(oldCategories: LegacyResolvedConfig['categories'], settings: LH.Config.Settings): {
|
|
45
|
+
categories: LegacyResolvedConfig['categories'];
|
|
46
|
+
requestedAuditNames: Set<string>;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* From some requested audits, return names of all required and optional artifacts
|
|
50
|
+
* @param {LegacyResolvedConfig['audits']} audits
|
|
51
|
+
* @return {Set<string>}
|
|
52
|
+
*/
|
|
53
|
+
static getGatherersRequestedByAudits(audits: LegacyResolvedConfig['audits']): Set<string>;
|
|
54
|
+
/**
|
|
55
|
+
* Filters to only requested passes and gatherers, returning a new passes array.
|
|
56
|
+
* @param {LegacyResolvedConfig['passes']} passes
|
|
57
|
+
* @param {Set<string>} requestedGatherers
|
|
58
|
+
* @return {LegacyResolvedConfig['passes']}
|
|
59
|
+
*/
|
|
60
|
+
static generatePassesNeededByGatherers(passes: LegacyResolvedConfig['passes'], requestedGatherers: Set<string>): LegacyResolvedConfig['passes'];
|
|
61
|
+
/**
|
|
62
|
+
* Take an array of audits and audit paths and require any paths (possibly
|
|
63
|
+
* relative to the optional `configDir`) using `resolveModulePath`,
|
|
64
|
+
* leaving only an array of AuditDefns.
|
|
65
|
+
* @param {LH.Config['audits']} audits
|
|
66
|
+
* @param {string=} configDir
|
|
67
|
+
* @return {Promise<LegacyResolvedConfig['audits']>}
|
|
68
|
+
*/
|
|
69
|
+
static requireAudits(audits: LH.Config['audits'], configDir?: string | undefined): Promise<LegacyResolvedConfig['audits']>;
|
|
70
|
+
/**
|
|
71
|
+
* Takes an array of passes with every property now initialized except the
|
|
72
|
+
* gatherers and requires them, (relative to the optional `configDir` if
|
|
73
|
+
* provided) using `resolveModulePath`, returning an array of full Passes.
|
|
74
|
+
* @param {?Array<Required<LH.Config.PassJson>>} passes
|
|
75
|
+
* @param {string=} configDir
|
|
76
|
+
* @return {Promise<LegacyResolvedConfig['passes']>}
|
|
77
|
+
*/
|
|
78
|
+
static requireGatherers(passes: Array<Required<LH.Config.PassJson>> | null, configDir?: string | undefined): Promise<LegacyResolvedConfig['passes']>;
|
|
79
|
+
/**
|
|
80
|
+
* @deprecated `Config.fromJson` should be used instead.
|
|
81
|
+
* @constructor
|
|
82
|
+
* @param {LH.Config} config
|
|
83
|
+
* @param {{settings: LH.Config.Settings, passes: ?LH.Config.Pass[], audits: ?LH.Config.AuditDefn[]}} opts
|
|
84
|
+
*/
|
|
85
|
+
constructor(config: LH.Config, opts: {
|
|
86
|
+
settings: LH.Config.Settings;
|
|
87
|
+
passes: LH.Config.Pass[] | null;
|
|
88
|
+
audits: LH.Config.AuditDefn[] | null;
|
|
89
|
+
});
|
|
90
|
+
/** @type {LH.Config.Settings} */
|
|
91
|
+
settings: LH.Config.Settings;
|
|
92
|
+
/** @type {?Array<LH.Config.Pass>} */
|
|
93
|
+
passes: Array<LH.Config.Pass> | null;
|
|
94
|
+
/** @type {?Array<LH.Config.AuditDefn>} */
|
|
95
|
+
audits: Array<LH.Config.AuditDefn> | null;
|
|
96
|
+
/** @type {?Record<string, LH.Config.Category>} */
|
|
97
|
+
categories: Record<string, LH.Config.Category> | null;
|
|
98
|
+
/** @type {?Record<string, LH.Config.Group>} */
|
|
99
|
+
groups: Record<string, LH.Config.Group> | null;
|
|
100
|
+
/**
|
|
101
|
+
* Provides a cleaned-up, stringified version of this config. Gatherer and
|
|
102
|
+
* Audit `implementation` and `instance` do not survive this process.
|
|
103
|
+
* @return {string}
|
|
104
|
+
*/
|
|
105
|
+
getPrintString(): string;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
export type ProtocolEventRecord = {
|
|
2
|
+
'protocolevent': [LH.Protocol.RawEventMessage];
|
|
3
|
+
};
|
|
4
|
+
export type CrdpEventMessageEmitter = LH.Protocol.StrictEventEmitter<ProtocolEventRecord>;
|
|
5
|
+
export type CommandInfo = LH.CrdpCommands[keyof LH.CrdpCommands];
|
|
6
|
+
export type CommandCallback = {
|
|
7
|
+
resolve: (arg0: Promise<CommandInfo['returnType']>) => void;
|
|
8
|
+
method: keyof LH.CrdpCommands;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* @typedef {{'protocolevent': [LH.Protocol.RawEventMessage]}} ProtocolEventRecord
|
|
12
|
+
* @typedef {LH.Protocol.StrictEventEmitter<ProtocolEventRecord>} CrdpEventMessageEmitter
|
|
13
|
+
* @typedef {LH.CrdpCommands[keyof LH.CrdpCommands]} CommandInfo
|
|
14
|
+
* @typedef {{resolve: function(Promise<CommandInfo['returnType']>): void, method: keyof LH.CrdpCommands}} CommandCallback
|
|
15
|
+
*/
|
|
16
|
+
export class Connection {
|
|
17
|
+
_lastCommandId: number;
|
|
18
|
+
/** @type {Map<number, CommandCallback>} */
|
|
19
|
+
_callbacks: Map<number, CommandCallback>;
|
|
20
|
+
_eventEmitter: CrdpEventMessageEmitter | null;
|
|
21
|
+
/**
|
|
22
|
+
* @return {Promise<void>}
|
|
23
|
+
*/
|
|
24
|
+
connect(): Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* @return {Promise<void>}
|
|
27
|
+
*/
|
|
28
|
+
disconnect(): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* @return {Promise<string>}
|
|
31
|
+
*/
|
|
32
|
+
wsEndpoint(): Promise<string>;
|
|
33
|
+
/**
|
|
34
|
+
* Call protocol methods
|
|
35
|
+
* @template {keyof LH.CrdpCommands} C
|
|
36
|
+
* @param {C} method
|
|
37
|
+
* @param {string|undefined} sessionId
|
|
38
|
+
* @param {LH.CrdpCommands[C]['paramsType']} paramArgs,
|
|
39
|
+
* @return {Promise<LH.CrdpCommands[C]['returnType']>}
|
|
40
|
+
*/
|
|
41
|
+
sendCommand<C extends keyof LH.CrdpCommands>(method: C, sessionId: string | undefined, ...paramArgs: LH.CrdpCommands[C]["paramsType"]): Promise<LH.CrdpCommands[C]["returnType"]>;
|
|
42
|
+
/**
|
|
43
|
+
* Bind listeners for connection events.
|
|
44
|
+
* @param {'protocolevent'} eventName
|
|
45
|
+
* @param {function(LH.Protocol.RawEventMessage): void} cb
|
|
46
|
+
*/
|
|
47
|
+
on(eventName: 'protocolevent', cb: (arg0: LH.Protocol.RawEventMessage) => void): void;
|
|
48
|
+
/**
|
|
49
|
+
* Unbind listeners for connection events.
|
|
50
|
+
* @param {'protocolevent'} eventName
|
|
51
|
+
* @param {function(LH.Protocol.RawEventMessage): void} cb
|
|
52
|
+
*/
|
|
53
|
+
off(eventName: 'protocolevent', cb: (arg0: LH.Protocol.RawEventMessage) => void): void;
|
|
54
|
+
/**
|
|
55
|
+
* @param {string} message
|
|
56
|
+
* @protected
|
|
57
|
+
*/
|
|
58
|
+
protected sendRawMessage(message: string): void;
|
|
59
|
+
/**
|
|
60
|
+
* @param {string} message
|
|
61
|
+
* @return {void}
|
|
62
|
+
* @protected
|
|
63
|
+
*/
|
|
64
|
+
protected handleRawMessage(message: string): void;
|
|
65
|
+
/**
|
|
66
|
+
* @param {LH.Protocol.RawEventMessage} eventMessage
|
|
67
|
+
*/
|
|
68
|
+
emitProtocolEvent(eventMessage: LH.Protocol.RawEventMessage): void;
|
|
69
|
+
/**
|
|
70
|
+
* @protected
|
|
71
|
+
*/
|
|
72
|
+
protected dispose(): void;
|
|
73
|
+
}
|
|
74
|
+
import * as LH from "../../../../types/lh.js";
|
|
75
|
+
//# sourceMappingURL=connection.d.ts.map
|
|
@@ -8,6 +8,7 @@ import {EventEmitter} from 'events';
|
|
|
8
8
|
|
|
9
9
|
import log from 'lighthouse-logger';
|
|
10
10
|
|
|
11
|
+
import * as LH from '../../../../types/lh.js';
|
|
11
12
|
import {LighthouseError} from '../../../lib/lh-error.js';
|
|
12
13
|
|
|
13
14
|
// TODO(bckenny): CommandCallback properties should be tied by command type after
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export class CriConnection extends Connection {
|
|
2
|
+
/**
|
|
3
|
+
* @param {number=} port Optional port number. Defaults to 9222;
|
|
4
|
+
* @param {string=} hostname Optional hostname. Defaults to localhost.
|
|
5
|
+
* @constructor
|
|
6
|
+
*/
|
|
7
|
+
constructor(port?: number | undefined, hostname?: string | undefined);
|
|
8
|
+
port: number;
|
|
9
|
+
hostname: string;
|
|
10
|
+
_ws: WebSocket | null;
|
|
11
|
+
_pageId: string | null;
|
|
12
|
+
/**
|
|
13
|
+
* @param {LH.DevToolsJsonTarget} response
|
|
14
|
+
* @return {Promise<void>}
|
|
15
|
+
* @private
|
|
16
|
+
*/
|
|
17
|
+
private _connectToSocket;
|
|
18
|
+
/**
|
|
19
|
+
* @param {string} command
|
|
20
|
+
* @return {Promise<LH.DevToolsJsonTarget | Array<LH.DevToolsJsonTarget> | {message: string}>}
|
|
21
|
+
* @private
|
|
22
|
+
*/
|
|
23
|
+
private _runJsonCommand;
|
|
24
|
+
}
|
|
25
|
+
import { Connection } from "./connection.js";
|
|
26
|
+
import WebSocket from "ws";
|
|
27
|
+
//# sourceMappingURL=cri.d.ts.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export type Port = {
|
|
2
|
+
on: (eventName: 'message' | 'close', cb: ((arg: string) => void) | (() => void)) => void;
|
|
3
|
+
send: (message: string) => void;
|
|
4
|
+
close: () => void;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* @typedef {object} Port
|
|
8
|
+
* @property {(eventName: 'message'|'close', cb: ((arg: string) => void) | (() => void)) => void} on
|
|
9
|
+
* @property {(message: string) => void} send
|
|
10
|
+
* @property {() => void} close
|
|
11
|
+
*/
|
|
12
|
+
export class RawConnection extends Connection {
|
|
13
|
+
/**
|
|
14
|
+
* @param {Port} port
|
|
15
|
+
*/
|
|
16
|
+
constructor(port: Port);
|
|
17
|
+
_port: Port;
|
|
18
|
+
}
|
|
19
|
+
import { Connection } from "./connection.js";
|
|
20
|
+
//# sourceMappingURL=raw.d.ts.map
|