lighthouse 10.1.1 → 10.2.0-dev.20230504
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli/cli-flags.d.ts +1 -1
- package/cli/test/smokehouse/lighthouse-runners/cli.d.ts +1 -1
- package/cli/test/smokehouse/report-assert.d.ts +1 -1
- package/core/audits/accessibility/accesskeys.d.ts +1 -1
- package/core/audits/accessibility/accesskeys.js +1 -1
- package/core/audits/accessibility/aria-allowed-attr.d.ts +1 -1
- package/core/audits/accessibility/aria-allowed-attr.js +1 -1
- package/core/audits/accessibility/aria-command-name.d.ts +1 -1
- package/core/audits/accessibility/aria-command-name.js +1 -1
- package/core/audits/accessibility/aria-hidden-body.d.ts +1 -1
- package/core/audits/accessibility/aria-hidden-body.js +1 -1
- package/core/audits/accessibility/aria-hidden-focus.d.ts +1 -1
- package/core/audits/accessibility/aria-hidden-focus.js +1 -1
- package/core/audits/accessibility/aria-input-field-name.d.ts +1 -1
- package/core/audits/accessibility/aria-input-field-name.js +1 -1
- package/core/audits/accessibility/aria-meter-name.d.ts +1 -1
- package/core/audits/accessibility/aria-meter-name.js +1 -1
- package/core/audits/accessibility/aria-progressbar-name.d.ts +1 -1
- package/core/audits/accessibility/aria-progressbar-name.js +1 -1
- package/core/audits/accessibility/aria-required-attr.d.ts +1 -1
- package/core/audits/accessibility/aria-required-attr.js +1 -1
- package/core/audits/accessibility/aria-required-children.d.ts +1 -1
- package/core/audits/accessibility/aria-required-children.js +1 -1
- package/core/audits/accessibility/aria-required-parent.d.ts +1 -1
- package/core/audits/accessibility/aria-required-parent.js +1 -1
- package/core/audits/accessibility/aria-roles.d.ts +1 -1
- package/core/audits/accessibility/aria-roles.js +1 -1
- package/core/audits/accessibility/aria-toggle-field-name.d.ts +1 -1
- package/core/audits/accessibility/aria-toggle-field-name.js +1 -1
- package/core/audits/accessibility/aria-tooltip-name.d.ts +1 -1
- package/core/audits/accessibility/aria-tooltip-name.js +1 -1
- package/core/audits/accessibility/aria-treeitem-name.d.ts +1 -1
- package/core/audits/accessibility/aria-treeitem-name.js +1 -1
- package/core/audits/accessibility/aria-valid-attr-value.d.ts +1 -1
- package/core/audits/accessibility/aria-valid-attr-value.js +1 -1
- package/core/audits/accessibility/aria-valid-attr.d.ts +1 -1
- package/core/audits/accessibility/aria-valid-attr.js +1 -1
- package/core/audits/accessibility/axe-audit.d.ts +1 -1
- package/core/audits/accessibility/button-name.d.ts +1 -1
- package/core/audits/accessibility/button-name.js +1 -1
- package/core/audits/accessibility/bypass.d.ts +1 -1
- package/core/audits/accessibility/bypass.js +1 -1
- package/core/audits/accessibility/color-contrast.d.ts +1 -1
- package/core/audits/accessibility/color-contrast.js +1 -1
- package/core/audits/accessibility/definition-list.d.ts +1 -1
- package/core/audits/accessibility/definition-list.js +1 -1
- package/core/audits/accessibility/dlitem.d.ts +1 -1
- package/core/audits/accessibility/dlitem.js +1 -1
- package/core/audits/accessibility/document-title.d.ts +1 -1
- package/core/audits/accessibility/document-title.js +1 -1
- package/core/audits/accessibility/duplicate-id-active.d.ts +1 -1
- package/core/audits/accessibility/duplicate-id-active.js +1 -1
- package/core/audits/accessibility/duplicate-id-aria.d.ts +1 -1
- package/core/audits/accessibility/duplicate-id-aria.js +1 -1
- package/core/audits/accessibility/form-field-multiple-labels.d.ts +1 -1
- package/core/audits/accessibility/form-field-multiple-labels.js +1 -1
- package/core/audits/accessibility/frame-title.d.ts +1 -1
- package/core/audits/accessibility/frame-title.js +1 -1
- package/core/audits/accessibility/heading-order.d.ts +1 -1
- package/core/audits/accessibility/heading-order.js +1 -1
- package/core/audits/accessibility/html-has-lang.d.ts +1 -1
- package/core/audits/accessibility/html-has-lang.js +1 -1
- package/core/audits/accessibility/html-lang-valid.d.ts +1 -1
- package/core/audits/accessibility/html-lang-valid.js +1 -1
- package/core/audits/accessibility/image-alt.d.ts +1 -1
- package/core/audits/accessibility/image-alt.js +1 -1
- package/core/audits/accessibility/input-image-alt.d.ts +1 -1
- package/core/audits/accessibility/input-image-alt.js +1 -1
- package/core/audits/accessibility/label.d.ts +1 -1
- package/core/audits/accessibility/label.js +1 -1
- package/core/audits/accessibility/link-name.d.ts +1 -1
- package/core/audits/accessibility/link-name.js +1 -1
- package/core/audits/accessibility/list.d.ts +1 -1
- package/core/audits/accessibility/list.js +1 -1
- package/core/audits/accessibility/listitem.d.ts +1 -1
- package/core/audits/accessibility/listitem.js +1 -1
- package/core/audits/accessibility/manual/custom-controls-labels.d.ts +1 -1
- package/core/audits/accessibility/manual/custom-controls-roles.d.ts +1 -1
- package/core/audits/accessibility/manual/focus-traps.d.ts +1 -1
- package/core/audits/accessibility/manual/focusable-controls.d.ts +1 -1
- package/core/audits/accessibility/manual/interactive-element-affordance.d.ts +1 -1
- package/core/audits/accessibility/manual/logical-tab-order.d.ts +1 -1
- package/core/audits/accessibility/manual/managed-focus.d.ts +1 -1
- package/core/audits/accessibility/manual/offscreen-content-hidden.d.ts +1 -1
- package/core/audits/accessibility/manual/use-landmarks.d.ts +1 -1
- package/core/audits/accessibility/manual/visual-order-follows-dom.d.ts +1 -1
- package/core/audits/accessibility/meta-refresh.d.ts +1 -1
- package/core/audits/accessibility/meta-refresh.js +1 -1
- package/core/audits/accessibility/meta-viewport.d.ts +1 -1
- package/core/audits/accessibility/meta-viewport.js +1 -1
- package/core/audits/accessibility/object-alt.d.ts +1 -1
- package/core/audits/accessibility/object-alt.js +1 -1
- package/core/audits/accessibility/tabindex.d.ts +1 -1
- package/core/audits/accessibility/tabindex.js +1 -1
- package/core/audits/accessibility/td-headers-attr.d.ts +1 -1
- package/core/audits/accessibility/td-headers-attr.js +1 -1
- package/core/audits/accessibility/th-has-data-cells.d.ts +1 -1
- package/core/audits/accessibility/th-has-data-cells.js +1 -1
- package/core/audits/accessibility/valid-lang.d.ts +1 -1
- package/core/audits/accessibility/valid-lang.js +1 -1
- package/core/audits/accessibility/video-caption.d.ts +1 -1
- package/core/audits/accessibility/video-caption.js +1 -1
- package/core/audits/audit.d.ts +1 -1
- package/core/audits/autocomplete.d.ts +1 -1
- package/core/audits/bf-cache.d.ts +1 -1
- package/core/audits/bootup-time.d.ts +1 -1
- package/core/audits/byte-efficiency/byte-efficiency-audit.d.ts +1 -1
- package/core/audits/byte-efficiency/duplicated-javascript.d.ts +1 -1
- package/core/audits/byte-efficiency/efficient-animated-content.d.ts +2 -2
- package/core/audits/byte-efficiency/legacy-javascript.d.ts +2 -2
- package/core/audits/byte-efficiency/modern-image-formats.d.ts +1 -1
- package/core/audits/byte-efficiency/offscreen-images.d.ts +2 -2
- package/core/audits/byte-efficiency/render-blocking-resources.d.ts +1 -1
- package/core/audits/byte-efficiency/total-byte-weight.d.ts +1 -1
- package/core/audits/byte-efficiency/unminified-css.d.ts +1 -1
- package/core/audits/byte-efficiency/unminified-javascript.d.ts +1 -1
- package/core/audits/byte-efficiency/unused-css-rules.d.ts +1 -1
- package/core/audits/byte-efficiency/unused-javascript.d.ts +1 -1
- package/core/audits/byte-efficiency/uses-long-cache-ttl.d.ts +3 -3
- package/core/audits/byte-efficiency/uses-optimized-images.d.ts +1 -1
- package/core/audits/byte-efficiency/uses-responsive-images-snapshot.d.ts +1 -1
- package/core/audits/byte-efficiency/uses-responsive-images.d.ts +2 -2
- package/core/audits/byte-efficiency/uses-text-compression.d.ts +1 -1
- package/core/audits/content-width.d.ts +1 -1
- package/core/audits/critical-request-chains.d.ts +1 -1
- package/core/audits/csp-xss.d.ts +1 -1
- package/core/audits/deprecations.d.ts +1 -1
- package/core/audits/diagnostics.d.ts +1 -1
- package/core/audits/dobetterweb/charset.d.ts +1 -1
- package/core/audits/dobetterweb/doctype.d.ts +1 -1
- package/core/audits/dobetterweb/dom-size.d.ts +1 -1
- package/core/audits/dobetterweb/geolocation-on-start.d.ts +1 -1
- package/core/audits/dobetterweb/inspector-issues.d.ts +1 -1
- package/core/audits/dobetterweb/js-libraries.d.ts +1 -1
- package/core/audits/dobetterweb/no-document-write.d.ts +1 -1
- package/core/audits/dobetterweb/notification-on-start.d.ts +1 -1
- package/core/audits/dobetterweb/paste-preventing-inputs.d.ts +1 -1
- package/core/audits/dobetterweb/uses-http2.d.ts +3 -3
- package/core/audits/dobetterweb/uses-passive-event-listeners.d.ts +1 -1
- package/core/audits/errors-in-console.d.ts +1 -1
- package/core/audits/final-screenshot.d.ts +1 -1
- package/core/audits/font-display.d.ts +1 -1
- package/core/audits/image-aspect-ratio.d.ts +1 -1
- package/core/audits/image-size-responsive.d.ts +1 -1
- package/core/audits/installable-manifest.d.ts +1 -1
- package/core/audits/is-on-https.d.ts +1 -1
- package/core/audits/largest-contentful-paint-element.d.ts +17 -3
- package/core/audits/largest-contentful-paint-element.js +77 -4
- package/core/audits/layout-shift-elements.d.ts +1 -1
- package/core/audits/lcp-lazy-loaded.d.ts +1 -1
- package/core/audits/long-tasks.d.ts +1 -1
- package/core/audits/main-thread-tasks.d.ts +1 -1
- package/core/audits/mainthread-work-breakdown.d.ts +1 -1
- package/core/audits/manual/manual-audit.d.ts +1 -1
- package/core/audits/manual/pwa-cross-browser.d.ts +1 -1
- package/core/audits/manual/pwa-each-page-has-url.d.ts +1 -1
- package/core/audits/manual/pwa-page-transitions.d.ts +1 -1
- package/core/audits/maskable-icon.d.ts +1 -1
- package/core/audits/metrics/cumulative-layout-shift.d.ts +1 -1
- package/core/audits/metrics/experimental-interaction-to-next-paint.d.ts +1 -1
- package/core/audits/metrics/first-contentful-paint-3g.d.ts +1 -1
- package/core/audits/metrics/first-contentful-paint.d.ts +1 -1
- package/core/audits/metrics/first-meaningful-paint.d.ts +1 -1
- package/core/audits/metrics/interactive.d.ts +1 -1
- package/core/audits/metrics/largest-contentful-paint.d.ts +1 -1
- package/core/audits/metrics/max-potential-fid.d.ts +1 -1
- package/core/audits/metrics/speed-index.d.ts +1 -1
- package/core/audits/metrics/total-blocking-time.d.ts +1 -1
- package/core/audits/metrics.d.ts +1 -1
- package/core/audits/multi-check-audit.d.ts +1 -1
- package/core/audits/network-requests.d.ts +1 -1
- package/core/audits/network-requests.js +1 -0
- package/core/audits/network-rtt.d.ts +1 -1
- package/core/audits/network-server-latency.d.ts +1 -1
- package/core/audits/no-unload-listeners.d.ts +1 -1
- package/core/audits/non-composited-animations.d.ts +1 -1
- package/core/audits/performance-budget.d.ts +2 -2
- package/core/audits/predictive-perf.d.ts +1 -1
- package/core/audits/predictive-perf.js +10 -3
- package/core/audits/preload-fonts.d.ts +1 -1
- package/core/audits/prioritize-lcp-image.d.ts +2 -13
- package/core/audits/prioritize-lcp-image.js +3 -55
- package/core/audits/redirects.d.ts +2 -2
- package/core/audits/resource-summary.d.ts +1 -1
- package/core/audits/screenshot-thumbnails.d.ts +2 -2
- package/core/audits/script-treemap-data.d.ts +1 -1
- package/core/audits/seo/canonical.d.ts +1 -1
- package/core/audits/seo/crawlable-anchors.d.ts +1 -1
- package/core/audits/seo/font-size.d.ts +1 -1
- package/core/audits/seo/hreflang.d.ts +1 -1
- package/core/audits/seo/http-status-code.d.ts +1 -1
- package/core/audits/seo/is-crawlable.d.ts +1 -1
- package/core/audits/seo/link-text.d.ts +1 -1
- package/core/audits/seo/manual/structured-data.d.ts +1 -1
- package/core/audits/seo/meta-description.d.ts +1 -1
- package/core/audits/seo/plugins.d.ts +1 -1
- package/core/audits/seo/robots-txt.d.ts +1 -1
- package/core/audits/seo/tap-targets.d.ts +1 -1
- package/core/audits/server-response-time.d.ts +1 -1
- package/core/audits/service-worker.d.ts +1 -1
- package/core/audits/splash-screen.d.ts +2 -2
- package/core/audits/themed-omnibox.d.ts +2 -2
- package/core/audits/third-party-facades.d.ts +2 -2
- package/core/audits/third-party-summary.d.ts +2 -2
- package/core/audits/timing-budget.d.ts +3 -3
- package/core/audits/unsized-images.d.ts +1 -1
- package/core/audits/user-timings.d.ts +1 -1
- package/core/audits/uses-rel-preconnect.d.ts +1 -1
- package/core/audits/uses-rel-preload.d.ts +2 -2
- package/core/audits/valid-source-maps.d.ts +2 -2
- package/core/audits/viewport.d.ts +1 -1
- package/core/audits/violation-audit.d.ts +1 -1
- package/core/audits/work-during-interaction.d.ts +2 -2
- package/core/computed/critical-request-chains.d.ts +1 -1
- package/core/computed/document-urls.d.ts +32 -0
- package/core/computed/document-urls.js +53 -0
- package/core/computed/entity-classification.js +0 -1
- package/core/computed/lcp-image-record.d.ts +26 -0
- package/core/computed/lcp-image-record.js +74 -0
- package/core/computed/load-simulator.d.ts +2 -2
- package/core/computed/metrics/cumulative-layout-shift.d.ts +1 -1
- package/core/computed/metrics/first-contentful-paint-all-frames.d.ts +1 -1
- package/core/computed/metrics/first-contentful-paint.d.ts +7 -1
- package/core/computed/metrics/first-meaningful-paint.d.ts +7 -1
- package/core/computed/metrics/interactive.d.ts +7 -1
- package/core/computed/metrics/lantern-first-contentful-paint.d.ts +1 -1
- package/core/computed/metrics/lantern-first-meaningful-paint.d.ts +1 -1
- package/core/computed/metrics/lantern-interactive.d.ts +1 -1
- package/core/computed/metrics/lantern-largest-contentful-paint.d.ts +1 -1
- package/core/computed/metrics/lantern-max-potential-fid.d.ts +1 -1
- package/core/computed/metrics/lantern-metric.d.ts +1 -1
- package/core/computed/metrics/lantern-speed-index.d.ts +1 -1
- package/core/computed/metrics/lantern-total-blocking-time.d.ts +1 -1
- package/core/computed/metrics/largest-contentful-paint-all-frames.d.ts +1 -1
- package/core/computed/metrics/largest-contentful-paint.d.ts +7 -1
- package/core/computed/metrics/lcp-breakdown.d.ts +23 -0
- package/core/computed/metrics/lcp-breakdown.js +58 -0
- package/core/computed/metrics/max-potential-fid.d.ts +7 -1
- package/core/computed/metrics/metric.d.ts +2 -2
- package/core/computed/metrics/metric.js +1 -1
- package/core/computed/metrics/navigation-metric.d.ts +3 -3
- package/core/computed/metrics/navigation-metric.js +1 -1
- package/core/computed/metrics/responsiveness.d.ts +1 -1
- package/core/computed/metrics/speed-index.d.ts +7 -1
- package/core/computed/metrics/time-to-first-byte.d.ts +16 -0
- package/core/computed/metrics/time-to-first-byte.js +60 -0
- package/core/computed/metrics/timing-summary.js +10 -0
- package/core/computed/metrics/total-blocking-time.d.ts +7 -1
- package/core/computed/network-records.d.ts +1 -1
- package/core/computed/page-dependency-graph.d.ts +4 -13
- package/core/computed/page-dependency-graph.js +2 -33
- package/core/computed/processed-navigation.d.ts +1 -1
- package/core/computed/resource-summary.d.ts +4 -4
- package/core/config/default-config.d.ts +1 -1
- package/core/config/desktop-config.d.ts +1 -1
- package/core/gather/base-gatherer.d.ts +1 -1
- package/core/gather/driver/execution-context.d.ts +1 -1
- package/core/gather/driver/network-monitor.d.ts +2 -2
- package/core/gather/driver/target-manager.d.ts +2 -1
- package/core/gather/driver/target-manager.js +5 -3
- package/core/gather/driver/wait-for-condition.js +12 -0
- package/core/gather/driver.d.ts +3 -3
- package/core/gather/fetcher.d.ts +1 -1
- package/core/gather/gatherers/accessibility.d.ts +1 -1
- package/core/gather/gatherers/anchor-elements.d.ts +1 -1
- package/core/gather/gatherers/bf-cache-failures.d.ts +1 -1
- package/core/gather/gatherers/cache-contents.d.ts +1 -1
- package/core/gather/gatherers/console-messages.d.ts +1 -1
- package/core/gather/gatherers/css-usage.d.ts +1 -1
- package/core/gather/gatherers/devtools-log-compat.d.ts +1 -1
- package/core/gather/gatherers/devtools-log.d.ts +1 -1
- package/core/gather/gatherers/dobetterweb/doctype.d.ts +1 -1
- package/core/gather/gatherers/dobetterweb/domstats.d.ts +1 -1
- package/core/gather/gatherers/dobetterweb/optimized-images.d.ts +2 -2
- package/core/gather/gatherers/dobetterweb/optimized-images.js +2 -2
- package/core/gather/gatherers/dobetterweb/response-compression.d.ts +2 -2
- package/core/gather/gatherers/dobetterweb/response-compression.js +1 -2
- package/core/gather/gatherers/dobetterweb/tags-blocking-first-paint.d.ts +1 -1
- package/core/gather/gatherers/full-page-screenshot.d.ts +1 -1
- package/core/gather/gatherers/global-listeners.d.ts +1 -1
- package/core/gather/gatherers/iframe-elements.d.ts +1 -1
- package/core/gather/gatherers/image-elements.d.ts +1 -1
- package/core/gather/gatherers/inputs.d.ts +1 -1
- package/core/gather/gatherers/inspector-issues.d.ts +1 -1
- package/core/gather/gatherers/installability-errors.d.ts +1 -1
- package/core/gather/gatherers/js-usage.d.ts +1 -1
- package/core/gather/gatherers/link-elements.d.ts +1 -1
- package/core/gather/gatherers/main-document-content.d.ts +1 -1
- package/core/gather/gatherers/meta-elements.d.ts +1 -1
- package/core/gather/gatherers/network-user-agent.d.ts +1 -1
- package/core/gather/gatherers/script-elements.d.ts +2 -2
- package/core/gather/gatherers/script-elements.js +1 -2
- package/core/gather/gatherers/scripts.d.ts +1 -3
- package/core/gather/gatherers/scripts.js +0 -3
- package/core/gather/gatherers/seo/embedded-content.d.ts +1 -1
- package/core/gather/gatherers/seo/font-size.d.ts +1 -1
- package/core/gather/gatherers/seo/robots-txt.d.ts +1 -1
- package/core/gather/gatherers/seo/tap-targets.d.ts +1 -1
- package/core/gather/gatherers/service-worker.d.ts +1 -1
- package/core/gather/gatherers/source-maps.d.ts +1 -1
- package/core/gather/gatherers/stacks.d.ts +1 -1
- package/core/gather/gatherers/trace-compat.d.ts +1 -1
- package/core/gather/gatherers/trace-elements.d.ts +2 -2
- package/core/gather/gatherers/trace.d.ts +1 -1
- package/core/gather/gatherers/viewport-dimensions.d.ts +1 -1
- package/core/gather/gatherers/web-app-manifest.d.ts +1 -1
- package/core/gather/navigation-runner.d.ts +3 -3
- package/core/gather/navigation-runner.js +1 -1
- package/core/gather/runner-helpers.js +18 -4
- package/core/index.cjs +28 -0
- package/core/index.d.ts +2 -2
- package/core/legacy/gather/connections/connection.d.ts +3 -1
- package/core/legacy/gather/connections/connection.js +15 -0
- package/core/legacy/gather/connections/cri.d.ts +2 -2
- package/core/legacy/gather/connections/raw.d.ts +1 -1
- package/core/legacy/gather/driver.d.ts +3 -3
- package/core/legacy/gather/gather-runner.js +1 -1
- package/core/lib/dependency-graph/cpu-node.d.ts +2 -2
- package/core/lib/dependency-graph/network-node.d.ts +3 -3
- package/core/lib/dependency-graph/simulator/connection-pool.d.ts +2 -2
- package/core/lib/dependency-graph/simulator/dns-cache.d.ts +1 -1
- package/core/lib/dependency-graph/simulator/simulator.d.ts +5 -5
- package/core/lib/lh-trace-processor.d.ts +1 -1
- package/core/lib/navigation-error.d.ts +2 -2
- package/core/lib/network-recorder.d.ts +17 -11
- package/core/lib/network-recorder.js +24 -31
- package/core/lib/network-request.d.ts +7 -8
- package/core/lib/network-request.js +8 -6
- package/core/lib/stack-packs.js +9 -1
- package/core/lib/tracehouse/main-thread-tasks.d.ts +1 -1
- package/core/lib/tracehouse/task-summary.d.ts +1 -1
- package/core/lib/url-utils.js +1 -0
- package/core/runner.d.ts +2 -2
- package/core/runner.js +8 -2
- package/core/scoring.d.ts +1 -1
- package/core/user-flow.d.ts +1 -1
- package/dist/report/bundle.esm.js +3 -1
- package/dist/report/flow.js +3 -3
- package/dist/report/standalone.js +5 -5
- package/package.json +9 -8
- package/report/README.md +1 -1
- package/report/assets/styles.css +0 -4
- package/report/renderer/components.js +1 -1
- package/report/renderer/performance-category-renderer.d.ts +1 -1
- package/report/renderer/pwa-category-renderer.d.ts +1 -1
- package/report/renderer/report-globals.d.ts +1 -1
- package/report/renderer/report-renderer.d.ts +1 -1
- package/report/renderer/report-ui-features.d.ts +1 -1
- package/report/renderer/topbar-features.d.ts +1 -1
- package/shared/localization/i18n-module.d.ts +2 -2
- package/shared/localization/locales/ar-XB.json +113 -53
- package/shared/localization/locales/ar.json +113 -53
- package/shared/localization/locales/bg.json +113 -53
- package/shared/localization/locales/ca.json +115 -55
- package/shared/localization/locales/cs.json +113 -53
- package/shared/localization/locales/da.json +114 -54
- package/shared/localization/locales/de.json +113 -53
- package/shared/localization/locales/el.json +113 -53
- package/shared/localization/locales/en-GB.json +107 -47
- package/shared/localization/locales/en-US.json +92 -44
- package/shared/localization/locales/en-XA.json +113 -53
- package/shared/localization/locales/en-XL.json +92 -44
- package/shared/localization/locales/es-419.json +113 -53
- package/shared/localization/locales/es.json +114 -54
- package/shared/localization/locales/fi.json +113 -53
- package/shared/localization/locales/fil.json +113 -53
- package/shared/localization/locales/fr.json +113 -53
- package/shared/localization/locales/he.json +114 -54
- package/shared/localization/locales/hi.json +116 -56
- package/shared/localization/locales/hr.json +113 -53
- package/shared/localization/locales/hu.json +113 -53
- package/shared/localization/locales/id.json +113 -53
- package/shared/localization/locales/it.json +114 -54
- package/shared/localization/locales/ja.json +116 -56
- package/shared/localization/locales/ko.json +113 -53
- package/shared/localization/locales/lt.json +113 -53
- package/shared/localization/locales/lv.json +113 -53
- package/shared/localization/locales/nl.json +117 -57
- package/shared/localization/locales/no.json +114 -54
- package/shared/localization/locales/pl.json +125 -65
- package/shared/localization/locales/pt-PT.json +117 -57
- package/shared/localization/locales/pt.json +113 -53
- package/shared/localization/locales/ro.json +113 -53
- package/shared/localization/locales/ru.json +113 -53
- package/shared/localization/locales/sk.json +112 -52
- package/shared/localization/locales/sl.json +113 -53
- package/shared/localization/locales/sr-Latn.json +113 -53
- package/shared/localization/locales/sr.json +113 -53
- package/shared/localization/locales/sv.json +113 -53
- package/shared/localization/locales/ta.json +113 -53
- package/shared/localization/locales/te.json +113 -53
- package/shared/localization/locales/th.json +113 -53
- package/shared/localization/locales/tr.json +113 -53
- package/shared/localization/locales/uk.json +115 -55
- package/shared/localization/locales/vi.json +113 -53
- package/shared/localization/locales/zh-HK.json +113 -53
- package/shared/localization/locales/zh-TW.json +113 -53
- package/shared/localization/locales/zh.json +113 -53
- package/shared/util.js +2 -0
- package/types/artifacts.d.ts +4 -0
- package/types/externs.d.ts +1 -1
- package/types/internal/test.d.ts +1 -1
- package/types/protocol.d.ts +3 -0
|
@@ -119,7 +119,7 @@ class TargetManager extends ProtocolEventEmitter {
|
|
|
119
119
|
const targetName = target.targetInfo.url || target.targetInfo.targetId;
|
|
120
120
|
log.verbose('target-manager', `target ${targetName} attached`);
|
|
121
121
|
|
|
122
|
-
const trueProtocolListener = this._getProtocolEventListener(newSession.id());
|
|
122
|
+
const trueProtocolListener = this._getProtocolEventListener(targetType, newSession.id());
|
|
123
123
|
/** @type {(event: unknown) => void} */
|
|
124
124
|
// @ts-expect-error - pptr currently typed only for single arg emits.
|
|
125
125
|
const protocolListener = trueProtocolListener;
|
|
@@ -156,9 +156,10 @@ class TargetManager extends ProtocolEventEmitter {
|
|
|
156
156
|
/**
|
|
157
157
|
* Returns a listener for all protocol events from session, and augments the
|
|
158
158
|
* event with the sessionId.
|
|
159
|
+
* @param {LH.Protocol.TargetType} targetType
|
|
159
160
|
* @param {string} sessionId
|
|
160
161
|
*/
|
|
161
|
-
_getProtocolEventListener(sessionId) {
|
|
162
|
+
_getProtocolEventListener(targetType, sessionId) {
|
|
162
163
|
/**
|
|
163
164
|
* @template {keyof LH.Protocol.RawEventMessageRecord} EventName
|
|
164
165
|
* @param {EventName} method
|
|
@@ -166,7 +167,8 @@ class TargetManager extends ProtocolEventEmitter {
|
|
|
166
167
|
*/
|
|
167
168
|
const onProtocolEvent = (method, params) => {
|
|
168
169
|
// Cast because tsc 4.7 still can't quite track the dependent parameters.
|
|
169
|
-
const payload = /** @type {LH.Protocol.RawEventMessage} */ (
|
|
170
|
+
const payload = /** @type {LH.Protocol.RawEventMessage} */ (
|
|
171
|
+
{method, params, targetType, sessionId});
|
|
170
172
|
this.emit('protocolevent', payload);
|
|
171
173
|
};
|
|
172
174
|
|
|
@@ -487,6 +487,18 @@ async function waitForFullyLoaded(session, networkMonitor, options) {
|
|
|
487
487
|
throw new LighthouseError(LighthouseError.errors.PAGE_HUNG);
|
|
488
488
|
}
|
|
489
489
|
|
|
490
|
+
// Log remaining inflight requests if any.
|
|
491
|
+
const inflightRequestUrls = networkMonitor
|
|
492
|
+
.getInflightRequests()
|
|
493
|
+
.map((request) => request.url);
|
|
494
|
+
if (inflightRequestUrls.length > 0) {
|
|
495
|
+
log.warn(
|
|
496
|
+
'waitFor',
|
|
497
|
+
'Remaining inflight requests URLs',
|
|
498
|
+
inflightRequestUrls
|
|
499
|
+
);
|
|
500
|
+
}
|
|
501
|
+
|
|
490
502
|
return {timedOut: true};
|
|
491
503
|
};
|
|
492
504
|
});
|
package/core/gather/driver.d.ts
CHANGED
|
@@ -24,7 +24,7 @@ export class Driver implements LH.Gatherer.FRTransitionalDriver {
|
|
|
24
24
|
/** @return {Promise<void>} */
|
|
25
25
|
disconnect(): Promise<void>;
|
|
26
26
|
}
|
|
27
|
-
import { TargetManager } from
|
|
28
|
-
import { ExecutionContext } from
|
|
29
|
-
import { Fetcher } from
|
|
27
|
+
import { TargetManager } from './driver/target-manager.js';
|
|
28
|
+
import { ExecutionContext } from './driver/execution-context.js';
|
|
29
|
+
import { Fetcher } from './fetcher.js';
|
|
30
30
|
//# sourceMappingURL=driver.d.ts.map
|
package/core/gather/fetcher.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ declare class Accessibility extends FRGatherer {
|
|
|
10
10
|
*/
|
|
11
11
|
getArtifact(passContext: LH.Gatherer.FRTransitionalContext): Promise<LH.Artifacts.Accessibility>;
|
|
12
12
|
}
|
|
13
|
-
import FRGatherer from
|
|
13
|
+
import FRGatherer from '../base-gatherer.js';
|
|
14
14
|
/**
|
|
15
15
|
* @return {Promise<LH.Artifacts.Accessibility>}
|
|
16
16
|
*/
|
|
@@ -6,5 +6,5 @@ declare class AnchorElements extends FRGatherer {
|
|
|
6
6
|
*/
|
|
7
7
|
getArtifact(passContext: LH.Gatherer.FRTransitionalContext): Promise<LH.Artifacts['AnchorElements']>;
|
|
8
8
|
}
|
|
9
|
-
import FRGatherer from
|
|
9
|
+
import FRGatherer from '../base-gatherer.js';
|
|
10
10
|
//# sourceMappingURL=anchor-elements.d.ts.map
|
|
@@ -39,5 +39,5 @@ declare class BFCacheFailures extends FRGatherer {
|
|
|
39
39
|
*/
|
|
40
40
|
afterPass(passContext: LH.Gatherer.PassContext, loadData: LH.Gatherer.LoadData): Promise<LH.Artifacts['BFCacheFailures']>;
|
|
41
41
|
}
|
|
42
|
-
import FRGatherer from
|
|
42
|
+
import FRGatherer from '../base-gatherer.js';
|
|
43
43
|
//# sourceMappingURL=bf-cache-failures.d.ts.map
|
|
@@ -7,5 +7,5 @@ declare class CacheContents extends FRGatherer {
|
|
|
7
7
|
*/
|
|
8
8
|
getArtifact(passContext: LH.Gatherer.FRTransitionalContext): Promise<LH.Artifacts['CacheContents']>;
|
|
9
9
|
}
|
|
10
|
-
import FRGatherer from
|
|
10
|
+
import FRGatherer from '../base-gatherer.js';
|
|
11
11
|
//# sourceMappingURL=cache-contents.d.ts.map
|
|
@@ -35,5 +35,5 @@ declare class ConsoleMessages extends FRGatherer {
|
|
|
35
35
|
*/
|
|
36
36
|
getArtifact(): Promise<LH.Artifacts['ConsoleMessages']>;
|
|
37
37
|
}
|
|
38
|
-
import FRGatherer from
|
|
38
|
+
import FRGatherer from '../base-gatherer.js';
|
|
39
39
|
//# sourceMappingURL=console-messages.d.ts.map
|
|
@@ -35,5 +35,5 @@ declare class CSSUsage extends FRGatherer {
|
|
|
35
35
|
*/
|
|
36
36
|
getArtifact(context: LH.Gatherer.FRTransitionalContext): Promise<LH.Artifacts['CSSUsage']>;
|
|
37
37
|
}
|
|
38
|
-
import FRGatherer from
|
|
38
|
+
import FRGatherer from '../base-gatherer.js';
|
|
39
39
|
//# sourceMappingURL=css-usage.d.ts.map
|
|
@@ -9,5 +9,5 @@ declare class DevtoolsLogCompat extends FRGatherer implements LH.Gatherer.FRGath
|
|
|
9
9
|
*/
|
|
10
10
|
getArtifact(passContext: LH.Gatherer.FRTransitionalContext<'DevtoolsLog'>): Promise<LH.Artifacts['devtoolsLogs']>;
|
|
11
11
|
}
|
|
12
|
-
import FRGatherer from
|
|
12
|
+
import FRGatherer from '../base-gatherer.js';
|
|
13
13
|
//# sourceMappingURL=devtools-log-compat.d.ts.map
|
|
@@ -6,5 +6,5 @@ declare class Doctype extends FRGatherer {
|
|
|
6
6
|
*/
|
|
7
7
|
getArtifact(passContext: LH.Gatherer.FRTransitionalContext): Promise<LH.Artifacts['Doctype']>;
|
|
8
8
|
}
|
|
9
|
-
import FRGatherer from
|
|
9
|
+
import FRGatherer from '../../base-gatherer.js';
|
|
10
10
|
//# sourceMappingURL=doctype.d.ts.map
|
|
@@ -6,5 +6,5 @@ declare class DOMStats extends FRGatherer {
|
|
|
6
6
|
*/
|
|
7
7
|
getArtifact(passContext: LH.Gatherer.FRTransitionalContext): Promise<LH.Artifacts['DOMStats']>;
|
|
8
8
|
}
|
|
9
|
-
import FRGatherer from
|
|
9
|
+
import FRGatherer from '../../base-gatherer.js';
|
|
10
10
|
//# sourceMappingURL=domstats.d.ts.map
|
|
@@ -56,6 +56,6 @@ declare class OptimizedImages extends FRGatherer {
|
|
|
56
56
|
*/
|
|
57
57
|
afterPass(passContext: LH.Gatherer.PassContext, loadData: LH.Gatherer.LoadData): Promise<LH.Artifacts['OptimizedImages']>;
|
|
58
58
|
}
|
|
59
|
-
import FRGatherer from
|
|
60
|
-
import { NetworkRequest } from
|
|
59
|
+
import FRGatherer from '../../base-gatherer.js';
|
|
60
|
+
import { NetworkRequest } from '../../../lib/network-request.js';
|
|
61
61
|
//# sourceMappingURL=optimized-images.d.ts.map
|
|
@@ -54,8 +54,8 @@ class OptimizedImages extends FRGatherer {
|
|
|
54
54
|
/** @type {Set<string>} */
|
|
55
55
|
const seenUrls = new Set();
|
|
56
56
|
return networkRecords.reduce((prev, record) => {
|
|
57
|
-
// Skip records that we've seen before, never finished, or came from
|
|
58
|
-
if (seenUrls.has(record.url) || !record.finished || record.
|
|
57
|
+
// Skip records that we've seen before, never finished, or came from OOPIFs.
|
|
58
|
+
if (seenUrls.has(record.url) || !record.finished || record.isOutOfProcessIframe) {
|
|
59
59
|
return prev;
|
|
60
60
|
}
|
|
61
61
|
|
|
@@ -25,6 +25,6 @@ declare class ResponseCompression extends FRGatherer {
|
|
|
25
25
|
*/
|
|
26
26
|
afterPass(passContext: LH.Gatherer.PassContext, loadData: LH.Gatherer.LoadData): Promise<LH.Artifacts['ResponseCompression']>;
|
|
27
27
|
}
|
|
28
|
-
import FRGatherer from
|
|
29
|
-
import { NetworkRequest } from
|
|
28
|
+
import FRGatherer from '../../base-gatherer.js';
|
|
29
|
+
import { NetworkRequest } from '../../../lib/network-request.js';
|
|
30
30
|
//# sourceMappingURL=response-compression.d.ts.map
|
|
@@ -55,8 +55,7 @@ class ResponseCompression extends FRGatherer {
|
|
|
55
55
|
const unoptimizedResponses = [];
|
|
56
56
|
|
|
57
57
|
networkRecords.forEach(record => {
|
|
58
|
-
|
|
59
|
-
if (record.sessionId) return;
|
|
58
|
+
if (record.isOutOfProcessIframe) return;
|
|
60
59
|
|
|
61
60
|
const mimeType = record.mimeType;
|
|
62
61
|
const resourceType = record.resourceType || NetworkRequest.TYPES.Other;
|
|
@@ -49,5 +49,5 @@ declare class TagsBlockingFirstPaint extends FRGatherer {
|
|
|
49
49
|
*/
|
|
50
50
|
afterPass(passContext: LH.Gatherer.PassContext, loadData: LH.Gatherer.LoadData): Promise<LH.Artifacts['TagsBlockingFirstPaint']>;
|
|
51
51
|
}
|
|
52
|
-
import FRGatherer from
|
|
52
|
+
import FRGatherer from '../../base-gatherer.js';
|
|
53
53
|
//# sourceMappingURL=tags-blocking-first-paint.d.ts.map
|
|
@@ -31,5 +31,5 @@ declare class FullPageScreenshot extends FRGatherer {
|
|
|
31
31
|
*/
|
|
32
32
|
getArtifact(context: LH.Gatherer.FRTransitionalContext): Promise<LH.Artifacts['FullPageScreenshot']>;
|
|
33
33
|
}
|
|
34
|
-
import FRGatherer from
|
|
34
|
+
import FRGatherer from '../base-gatherer.js';
|
|
35
35
|
//# sourceMappingURL=full-page-screenshot.d.ts.map
|
|
@@ -23,5 +23,5 @@ declare class GlobalListeners extends FRGatherer {
|
|
|
23
23
|
*/
|
|
24
24
|
getArtifact(passContext: LH.Gatherer.FRTransitionalContext): Promise<LH.Artifacts['GlobalListeners']>;
|
|
25
25
|
}
|
|
26
|
-
import FRGatherer from
|
|
26
|
+
import FRGatherer from '../base-gatherer.js';
|
|
27
27
|
//# sourceMappingURL=global-listeners.d.ts.map
|
|
@@ -7,5 +7,5 @@ declare class IFrameElements extends FRGatherer {
|
|
|
7
7
|
*/
|
|
8
8
|
override getArtifact(passContext: LH.Gatherer.FRTransitionalContext): Promise<LH.Artifacts['IFrameElements']>;
|
|
9
9
|
}
|
|
10
|
-
import FRGatherer from
|
|
10
|
+
import FRGatherer from '../base-gatherer.js';
|
|
11
11
|
//# sourceMappingURL=iframe-elements.d.ts.map
|
|
@@ -31,5 +31,5 @@ declare class ImageElements extends FRGatherer {
|
|
|
31
31
|
*/
|
|
32
32
|
getArtifact(context: LH.Gatherer.FRTransitionalContext): Promise<LH.Artifacts['ImageElements']>;
|
|
33
33
|
}
|
|
34
|
-
import FRGatherer from
|
|
34
|
+
import FRGatherer from '../base-gatherer.js';
|
|
35
35
|
//# sourceMappingURL=image-elements.d.ts.map
|
|
@@ -6,5 +6,5 @@ declare class Inputs extends FRGatherer {
|
|
|
6
6
|
*/
|
|
7
7
|
getArtifact(passContext: LH.Gatherer.FRTransitionalContext): Promise<LH.Artifacts['Inputs']>;
|
|
8
8
|
}
|
|
9
|
-
import FRGatherer from
|
|
9
|
+
import FRGatherer from '../base-gatherer.js';
|
|
10
10
|
//# sourceMappingURL=inputs.d.ts.map
|
|
@@ -34,5 +34,5 @@ declare class InspectorIssues extends FRGatherer {
|
|
|
34
34
|
*/
|
|
35
35
|
afterPass(passContext: LH.Gatherer.PassContext, loadData: LH.Gatherer.LoadData): Promise<LH.Artifacts['InspectorIssues']>;
|
|
36
36
|
}
|
|
37
|
-
import FRGatherer from
|
|
37
|
+
import FRGatherer from '../base-gatherer.js';
|
|
38
38
|
//# sourceMappingURL=inspector-issues.d.ts.map
|
|
@@ -13,5 +13,5 @@ declare class InstallabilityErrors extends FRGatherer {
|
|
|
13
13
|
*/
|
|
14
14
|
getArtifact(context: LH.Gatherer.FRTransitionalContext): Promise<LH.Artifacts['InstallabilityErrors']>;
|
|
15
15
|
}
|
|
16
|
-
import FRGatherer from
|
|
16
|
+
import FRGatherer from '../base-gatherer.js';
|
|
17
17
|
//# sourceMappingURL=installability-errors.d.ts.map
|
|
@@ -38,5 +38,5 @@ declare class LinkElements extends FRGatherer {
|
|
|
38
38
|
export namespace UIStrings {
|
|
39
39
|
const headerParseWarning: string;
|
|
40
40
|
}
|
|
41
|
-
import FRGatherer from
|
|
41
|
+
import FRGatherer from '../base-gatherer.js';
|
|
42
42
|
//# sourceMappingURL=link-elements.d.ts.map
|
|
@@ -23,5 +23,5 @@ declare class MainDocumentContent extends FRGatherer {
|
|
|
23
23
|
*/
|
|
24
24
|
afterPass(passContext: LH.Gatherer.PassContext, loadData: LH.Gatherer.LoadData): Promise<LH.Artifacts['MainDocumentContent']>;
|
|
25
25
|
}
|
|
26
|
-
import FRGatherer from
|
|
26
|
+
import FRGatherer from '../base-gatherer.js';
|
|
27
27
|
//# sourceMappingURL=main-document-content.d.ts.map
|
|
@@ -6,5 +6,5 @@ declare class MetaElements extends FRGatherer {
|
|
|
6
6
|
*/
|
|
7
7
|
getArtifact(passContext: LH.Gatherer.FRTransitionalContext): Promise<LH.Artifacts['MetaElements']>;
|
|
8
8
|
}
|
|
9
|
-
import FRGatherer from
|
|
9
|
+
import FRGatherer from '../base-gatherer.js';
|
|
10
10
|
//# sourceMappingURL=meta-elements.d.ts.map
|
|
@@ -14,5 +14,5 @@ declare class NetworkUserAgent extends FRGatherer implements LH.Gatherer.FRGathe
|
|
|
14
14
|
*/
|
|
15
15
|
getArtifact(context: LH.Gatherer.FRTransitionalContext<'DevtoolsLog'>): Promise<LH.Artifacts['NetworkUserAgent']>;
|
|
16
16
|
}
|
|
17
|
-
import FRGatherer from
|
|
17
|
+
import FRGatherer from '../base-gatherer.js';
|
|
18
18
|
//# sourceMappingURL=network-user-agent.d.ts.map
|
|
@@ -21,6 +21,6 @@ declare class ScriptElements extends FRGatherer {
|
|
|
21
21
|
*/
|
|
22
22
|
afterPass(passContext: LH.Gatherer.PassContext, loadData: LH.Gatherer.LoadData): Promise<import("../../index.js").Artifacts.ScriptElement[]>;
|
|
23
23
|
}
|
|
24
|
-
import FRGatherer from
|
|
25
|
-
import { NetworkRequest } from
|
|
24
|
+
import FRGatherer from '../base-gatherer.js';
|
|
25
|
+
import { NetworkRequest } from '../../lib/network-request.js';
|
|
26
26
|
//# sourceMappingURL=script-elements.d.ts.map
|
|
@@ -65,8 +65,7 @@ class ScriptElements extends FRGatherer {
|
|
|
65
65
|
|
|
66
66
|
const scriptRecords = networkRecords
|
|
67
67
|
.filter(record => record.resourceType === NetworkRequest.TYPES.Script)
|
|
68
|
-
|
|
69
|
-
.filter(record => !record.sessionId);
|
|
68
|
+
.filter(record => !record.isOutOfProcessIframe);
|
|
70
69
|
|
|
71
70
|
for (let i = 0; i < scriptRecords.length; i++) {
|
|
72
71
|
const record = scriptRecords[i];
|
|
@@ -7,8 +7,6 @@ declare class Scripts extends FRGatherer {
|
|
|
7
7
|
_scriptParsedEvents: LH.Crdp.Debugger.ScriptParsedEvent[];
|
|
8
8
|
/** @type {Array<string | undefined>} */
|
|
9
9
|
_scriptContents: Array<string | undefined>;
|
|
10
|
-
/** @type {string|null|undefined} */
|
|
11
|
-
_mainSessionId: string | null | undefined;
|
|
12
10
|
/**
|
|
13
11
|
* @param {LH.Crdp.Debugger.ScriptParsedEvent} params
|
|
14
12
|
*/
|
|
@@ -23,5 +21,5 @@ declare class Scripts extends FRGatherer {
|
|
|
23
21
|
stopInstrumentation(context: LH.Gatherer.FRTransitionalContext): Promise<void>;
|
|
24
22
|
getArtifact(): Promise<import("../../index.js").Artifacts.Script[]>;
|
|
25
23
|
}
|
|
26
|
-
import FRGatherer from
|
|
24
|
+
import FRGatherer from '../base-gatherer.js';
|
|
27
25
|
//# sourceMappingURL=scripts.d.ts.map
|
|
@@ -59,9 +59,6 @@ class Scripts extends FRGatherer {
|
|
|
59
59
|
/** @type {Array<string | undefined>} */
|
|
60
60
|
_scriptContents = [];
|
|
61
61
|
|
|
62
|
-
/** @type {string|null|undefined} */
|
|
63
|
-
_mainSessionId = null;
|
|
64
|
-
|
|
65
62
|
constructor() {
|
|
66
63
|
super();
|
|
67
64
|
this.onScriptParsed = this.onScriptParsed.bind(this);
|
|
@@ -6,5 +6,5 @@ declare class EmbeddedContent extends FRGatherer {
|
|
|
6
6
|
*/
|
|
7
7
|
getArtifact(passContext: LH.Gatherer.FRTransitionalContext): Promise<LH.Artifacts['EmbeddedContent']>;
|
|
8
8
|
}
|
|
9
|
-
import FRGatherer from
|
|
9
|
+
import FRGatherer from '../../base-gatherer.js';
|
|
10
10
|
//# sourceMappingURL=embedded-content.d.ts.map
|
|
@@ -127,5 +127,5 @@ export function getEffectiveFontRule({ attributesStyle, inlineStyle, matchedCSSR
|
|
|
127
127
|
* @return {NodeFontData['cssRule']|undefined}
|
|
128
128
|
*/
|
|
129
129
|
export function findMostSpecificMatchedCSSRule(matchedCSSRules: import("devtools-protocol").Protocol.CSS.RuleMatch[] | undefined, isDeclarationOfInterest: (arg0: LH.Crdp.CSS.CSSStyle) => boolean | string | undefined): NodeFontData['cssRule'] | undefined;
|
|
130
|
-
import FRGatherer from
|
|
130
|
+
import FRGatherer from '../../base-gatherer.js';
|
|
131
131
|
//# sourceMappingURL=font-size.d.ts.map
|
|
@@ -6,5 +6,5 @@ declare class RobotsTxt extends FRGatherer {
|
|
|
6
6
|
*/
|
|
7
7
|
getArtifact(passContext: LH.Gatherer.FRTransitionalContext): Promise<LH.Artifacts['RobotsTxt']>;
|
|
8
8
|
}
|
|
9
|
-
import FRGatherer from
|
|
9
|
+
import FRGatherer from '../../base-gatherer.js';
|
|
10
10
|
//# sourceMappingURL=robots-txt.d.ts.map
|
|
@@ -17,5 +17,5 @@ declare class TapTargets extends FRGatherer {
|
|
|
17
17
|
*/
|
|
18
18
|
getArtifact(passContext: LH.Gatherer.FRTransitionalContext): Promise<LH.Artifacts.TapTarget[]>;
|
|
19
19
|
}
|
|
20
|
-
import FRGatherer from
|
|
20
|
+
import FRGatherer from '../../base-gatherer.js';
|
|
21
21
|
//# sourceMappingURL=tap-targets.d.ts.map
|
|
@@ -12,5 +12,5 @@ declare class ServiceWorker extends FRGatherer {
|
|
|
12
12
|
*/
|
|
13
13
|
getArtifact(context: LH.Gatherer.FRTransitionalContext): Promise<LH.Artifacts['ServiceWorker']>;
|
|
14
14
|
}
|
|
15
|
-
import FRGatherer from
|
|
15
|
+
import FRGatherer from '../base-gatherer.js';
|
|
16
16
|
//# sourceMappingURL=service-worker.d.ts.map
|
|
@@ -46,5 +46,5 @@ declare class SourceMaps extends FRGatherer {
|
|
|
46
46
|
*/
|
|
47
47
|
getArtifact(context: LH.Gatherer.FRTransitionalContext): Promise<LH.Artifacts['SourceMaps']>;
|
|
48
48
|
}
|
|
49
|
-
import FRGatherer from
|
|
49
|
+
import FRGatherer from '../base-gatherer.js';
|
|
50
50
|
//# sourceMappingURL=source-maps.d.ts.map
|
|
@@ -34,5 +34,5 @@ declare class Stacks extends FRGatherer implements LH.Gatherer.FRGathererInstanc
|
|
|
34
34
|
*/
|
|
35
35
|
getArtifact(context: LH.Gatherer.FRTransitionalContext): Promise<LH.Artifacts['Stacks']>;
|
|
36
36
|
}
|
|
37
|
-
import FRGatherer from
|
|
37
|
+
import FRGatherer from '../base-gatherer.js';
|
|
38
38
|
//# sourceMappingURL=stacks.d.ts.map
|
|
@@ -9,5 +9,5 @@ declare class TraceCompat extends FRGatherer implements LH.Gatherer.FRGathererIn
|
|
|
9
9
|
*/
|
|
10
10
|
getArtifact(passContext: LH.Gatherer.FRTransitionalContext<'Trace'>): Promise<LH.Artifacts['traces']>;
|
|
11
11
|
}
|
|
12
|
-
import FRGatherer from
|
|
12
|
+
import FRGatherer from '../base-gatherer.js';
|
|
13
13
|
//# sourceMappingURL=trace-compat.d.ts.map
|
|
@@ -78,6 +78,6 @@ declare class TraceElements extends FRGatherer {
|
|
|
78
78
|
*/
|
|
79
79
|
afterPass(passContext: LH.Gatherer.PassContext, loadData: LH.Gatherer.LoadData): Promise<LH.Artifacts.TraceElement[]>;
|
|
80
80
|
}
|
|
81
|
-
import FRGatherer from
|
|
82
|
-
import Trace from
|
|
81
|
+
import FRGatherer from '../base-gatherer.js';
|
|
82
|
+
import Trace from './trace.js';
|
|
83
83
|
//# sourceMappingURL=trace-elements.d.ts.map
|
|
@@ -19,5 +19,5 @@ declare class Trace extends FRGatherer {
|
|
|
19
19
|
stopSensitiveInstrumentation({ driver }: LH.Gatherer.FRTransitionalContext): Promise<void>;
|
|
20
20
|
getArtifact(): import("../../index.js").Trace;
|
|
21
21
|
}
|
|
22
|
-
import FRGatherer from
|
|
22
|
+
import FRGatherer from '../base-gatherer.js';
|
|
23
23
|
//# sourceMappingURL=trace.d.ts.map
|
|
@@ -6,5 +6,5 @@ declare class ViewportDimensions extends FRGatherer {
|
|
|
6
6
|
*/
|
|
7
7
|
getArtifact(passContext: LH.Gatherer.FRTransitionalContext): Promise<LH.Artifacts.ViewportDimensions>;
|
|
8
8
|
}
|
|
9
|
-
import FRGatherer from
|
|
9
|
+
import FRGatherer from '../base-gatherer.js';
|
|
10
10
|
//# sourceMappingURL=viewport-dimensions.d.ts.map
|
|
@@ -28,5 +28,5 @@ declare class WebAppManifest extends FRGatherer {
|
|
|
28
28
|
*/
|
|
29
29
|
getArtifact(context: LH.Gatherer.FRTransitionalContext): Promise<LH.Artifacts['WebAppManifest']>;
|
|
30
30
|
}
|
|
31
|
-
import FRGatherer from
|
|
31
|
+
import FRGatherer from '../base-gatherer.js';
|
|
32
32
|
//# sourceMappingURL=web-app-manifest.d.ts.map
|
|
@@ -75,9 +75,9 @@ export function _cleanup({ requestedUrl, driver, resolvedConfig, lhBrowser, lhPa
|
|
|
75
75
|
lhBrowser?: LH.Puppeteer.Browser;
|
|
76
76
|
lhPage?: LH.Puppeteer.Page;
|
|
77
77
|
}): Promise<void>;
|
|
78
|
-
import { Driver } from
|
|
79
|
-
import { collectPhaseArtifacts } from
|
|
80
|
-
import { LighthouseError } from
|
|
78
|
+
import { Driver } from './driver.js';
|
|
79
|
+
import { collectPhaseArtifacts } from './runner-helpers.js';
|
|
80
|
+
import { LighthouseError } from '../lib/lh-error.js';
|
|
81
81
|
/**
|
|
82
82
|
* @param {NavigationContext} navigationContext
|
|
83
83
|
* @param {PhaseState} phaseState
|
|
@@ -353,7 +353,7 @@ async function navigationGather(page, requestor, options = {}) {
|
|
|
353
353
|
// therefore we connect to the browser in the gatherFn callback.
|
|
354
354
|
if (!page) {
|
|
355
355
|
const {hostname = DEFAULT_HOSTNAME, port = DEFAULT_PORT} = flags;
|
|
356
|
-
lhBrowser = await puppeteer.connect({browserURL: `http://${hostname}:${port}
|
|
356
|
+
lhBrowser = await puppeteer.connect({browserURL: `http://${hostname}:${port}`, defaultViewport: null});
|
|
357
357
|
lhPage = await lhBrowser.newPage();
|
|
358
358
|
page = lhPage;
|
|
359
359
|
}
|
|
@@ -78,19 +78,27 @@ async function collectPhaseArtifacts(options) {
|
|
|
78
78
|
} = options;
|
|
79
79
|
const priorPhase = phaseToPriorPhase[phase];
|
|
80
80
|
const priorPhaseArtifacts = (priorPhase && artifactState[priorPhase]) || {};
|
|
81
|
+
const isFinalPhase = phase === 'getArtifact';
|
|
81
82
|
|
|
82
83
|
for (const artifactDefn of artifactDefinitions) {
|
|
83
|
-
|
|
84
|
-
log[logLevel](`artifacts:${phase}`, artifactDefn.id);
|
|
84
|
+
log.verbose(`artifacts:${phase}`, artifactDefn.id);
|
|
85
85
|
const gatherer = artifactDefn.gatherer.instance;
|
|
86
86
|
|
|
87
87
|
const priorArtifactPromise = priorPhaseArtifacts[artifactDefn.id] || Promise.resolve();
|
|
88
88
|
const artifactPromise = priorArtifactPromise.then(async () => {
|
|
89
|
-
const dependencies =
|
|
89
|
+
const dependencies = isFinalPhase
|
|
90
90
|
? await collectArtifactDependencies(artifactDefn, artifactState.getArtifact)
|
|
91
91
|
: /** @type {Dependencies} */ ({});
|
|
92
92
|
|
|
93
|
-
|
|
93
|
+
const status = {
|
|
94
|
+
msg: `Getting artifact: ${artifactDefn.id}`,
|
|
95
|
+
id: `lh:gather:getArtifact:${artifactDefn.id}`,
|
|
96
|
+
};
|
|
97
|
+
if (isFinalPhase) {
|
|
98
|
+
log.time(status);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
const artifact = await gatherer[phase]({
|
|
94
102
|
gatherMode,
|
|
95
103
|
driver,
|
|
96
104
|
page,
|
|
@@ -99,6 +107,12 @@ async function collectPhaseArtifacts(options) {
|
|
|
99
107
|
computedCache,
|
|
100
108
|
settings,
|
|
101
109
|
});
|
|
110
|
+
|
|
111
|
+
if (isFinalPhase) {
|
|
112
|
+
log.timeEnd(status);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
return artifact;
|
|
102
116
|
});
|
|
103
117
|
|
|
104
118
|
await artifactPromise.catch(() => {});
|
package/core/index.cjs
CHANGED
|
@@ -17,5 +17,33 @@ const legacyNavigation = async function legacyNavigation(...args) {
|
|
|
17
17
|
return legacyNavigation(...args);
|
|
18
18
|
};
|
|
19
19
|
|
|
20
|
+
/** @type {import('./index.js')['startFlow']} */
|
|
21
|
+
const startFlow = async function startFlow(...args) {
|
|
22
|
+
const {startFlow} = await import('./index.js');
|
|
23
|
+
return startFlow(...args);
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
/** @type {import('./index.js')['navigation']} */
|
|
27
|
+
const navigation = async function navigation(...args) {
|
|
28
|
+
const {navigation} = await import('./index.js');
|
|
29
|
+
return navigation(...args);
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
/** @type {import('./index.js')['startTimespan']} */
|
|
33
|
+
const startTimespan = async function startTimespan(...args) {
|
|
34
|
+
const {startTimespan} = await import('./index.js');
|
|
35
|
+
return startTimespan(...args);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
/** @type {import('./index.js')['snapshot']} */
|
|
39
|
+
const snapshot = async function snapshot(...args) {
|
|
40
|
+
const {snapshot} = await import('./index.js');
|
|
41
|
+
return snapshot(...args);
|
|
42
|
+
};
|
|
43
|
+
|
|
20
44
|
module.exports = lighthouse;
|
|
21
45
|
module.exports.legacyNavigation = legacyNavigation;
|
|
46
|
+
module.exports.startFlow = startFlow;
|
|
47
|
+
module.exports.navigation = navigation;
|
|
48
|
+
module.exports.startTimespan = startTimespan;
|
|
49
|
+
module.exports.snapshot = snapshot;
|
package/core/index.d.ts
CHANGED
|
@@ -83,6 +83,6 @@ export function auditFlowArtifacts(flowArtifacts: LH.UserFlow.FlowArtifacts, con
|
|
|
83
83
|
}>;
|
|
84
84
|
export function getAuditList(): string[];
|
|
85
85
|
export const traceCategories: string[];
|
|
86
|
-
import * as LH from
|
|
87
|
-
import { UserFlow } from
|
|
86
|
+
import * as LH from '../types/lh.js';
|
|
87
|
+
import { UserFlow } from './user-flow.js';
|
|
88
88
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -17,6 +17,8 @@ export class Connection {
|
|
|
17
17
|
_lastCommandId: number;
|
|
18
18
|
/** @type {Map<number, CommandCallback>} */
|
|
19
19
|
_callbacks: Map<number, CommandCallback>;
|
|
20
|
+
/** @type {Map<string, LH.Protocol.TargetType>} */
|
|
21
|
+
_sessionIdToTargetType: Map<string, LH.Protocol.TargetType>;
|
|
20
22
|
_eventEmitter: CrdpEventMessageEmitter | null;
|
|
21
23
|
/**
|
|
22
24
|
* @return {Promise<void>}
|
|
@@ -71,5 +73,5 @@ export class Connection {
|
|
|
71
73
|
*/
|
|
72
74
|
protected dispose(): void;
|
|
73
75
|
}
|
|
74
|
-
import * as LH from
|
|
76
|
+
import * as LH from '../../../../types/lh.js';
|
|
75
77
|
//# sourceMappingURL=connection.d.ts.map
|