lighthouse 11.1.0 → 11.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CONTRIBUTING.md +3 -5
- package/cli/bin.js +4 -3
- package/cli/cli-flags.js +3 -3
- package/cli/commands/commands.js +3 -3
- package/cli/commands/list-audits.js +3 -3
- package/cli/commands/list-locales.js +3 -3
- package/cli/commands/list-trace-categories.js +3 -3
- package/cli/index.js +3 -3
- package/cli/printer.js +3 -3
- package/cli/run.js +3 -3
- package/cli/sentry-prompt.js +3 -3
- package/cli/test/smokehouse/__snapshots__/report-assert-test.js.snap +8 -0
- package/cli/test/smokehouse/config/exclusions.d.ts +3 -3
- package/cli/test/smokehouse/config/exclusions.js +3 -3
- package/cli/test/smokehouse/core-tests.js +3 -3
- package/cli/test/smokehouse/frontends/back-compat-util.d.ts +3 -3
- package/cli/test/smokehouse/frontends/back-compat-util.js +3 -3
- package/cli/test/smokehouse/frontends/lib.js +3 -3
- package/cli/test/smokehouse/frontends/node.js +3 -3
- package/cli/test/smokehouse/frontends/smokehouse-bin.js +3 -3
- package/cli/test/smokehouse/lib/child-process-error.d.ts +3 -3
- package/cli/test/smokehouse/lib/child-process-error.js +3 -3
- package/cli/test/smokehouse/lib/concurrent-mapper.d.ts +3 -3
- package/cli/test/smokehouse/lib/concurrent-mapper.js +3 -3
- package/cli/test/smokehouse/lib/local-console.d.ts +3 -3
- package/cli/test/smokehouse/lib/local-console.js +3 -3
- package/cli/test/smokehouse/lighthouse-runners/bundle.js +3 -3
- package/cli/test/smokehouse/lighthouse-runners/cli.js +3 -3
- package/cli/test/smokehouse/lighthouse-runners/devtools.js +3 -3
- package/cli/test/smokehouse/report-assert-test.js +3 -3
- package/cli/test/smokehouse/report-assert.js +3 -3
- package/cli/test/smokehouse/smokehouse.d.ts +0 -1
- package/cli/test/smokehouse/smokehouse.js +12 -6
- package/cli/test/smokehouse/version-check-test.js +3 -3
- package/cli/test/smokehouse/version-check.js +3 -3
- package/commitlint.config.js +3 -3
- package/core/audits/accessibility/accesskeys.js +3 -3
- package/core/audits/accessibility/aria-allowed-attr.js +3 -3
- package/core/audits/accessibility/aria-allowed-role.js +3 -3
- package/core/audits/accessibility/aria-command-name.js +3 -3
- package/core/audits/accessibility/aria-dialog-name.js +3 -3
- package/core/audits/accessibility/aria-hidden-body.js +3 -3
- package/core/audits/accessibility/aria-hidden-focus.js +3 -3
- package/core/audits/accessibility/aria-input-field-name.js +3 -3
- package/core/audits/accessibility/aria-meter-name.js +3 -3
- package/core/audits/accessibility/aria-progressbar-name.js +3 -3
- package/core/audits/accessibility/aria-required-attr.js +3 -3
- package/core/audits/accessibility/aria-required-children.js +3 -3
- package/core/audits/accessibility/aria-required-parent.js +3 -3
- package/core/audits/accessibility/aria-roles.js +3 -3
- package/core/audits/accessibility/aria-text.js +3 -3
- package/core/audits/accessibility/aria-toggle-field-name.js +3 -3
- package/core/audits/accessibility/aria-tooltip-name.js +3 -3
- package/core/audits/accessibility/aria-treeitem-name.js +3 -3
- package/core/audits/accessibility/aria-valid-attr-value.js +3 -3
- package/core/audits/accessibility/aria-valid-attr.js +3 -3
- package/core/audits/accessibility/axe-audit.js +3 -3
- package/core/audits/accessibility/button-name.js +3 -3
- package/core/audits/accessibility/bypass.js +3 -3
- package/core/audits/accessibility/color-contrast.js +3 -3
- package/core/audits/accessibility/definition-list.js +3 -3
- package/core/audits/accessibility/dlitem.js +3 -3
- package/core/audits/accessibility/document-title.js +3 -3
- package/core/audits/accessibility/duplicate-id-active.js +3 -3
- package/core/audits/accessibility/duplicate-id-aria.js +3 -3
- package/core/audits/accessibility/empty-heading.js +3 -3
- package/core/audits/accessibility/form-field-multiple-labels.js +3 -3
- package/core/audits/accessibility/frame-title.js +3 -3
- package/core/audits/accessibility/heading-order.js +3 -3
- package/core/audits/accessibility/html-has-lang.js +3 -3
- package/core/audits/accessibility/html-lang-valid.js +3 -3
- package/core/audits/accessibility/html-xml-lang-mismatch.js +3 -3
- package/core/audits/accessibility/identical-links-same-purpose.js +3 -3
- package/core/audits/accessibility/image-alt.js +3 -3
- package/core/audits/accessibility/image-redundant-alt.js +3 -3
- package/core/audits/accessibility/input-button-name.js +3 -3
- package/core/audits/accessibility/input-image-alt.js +3 -3
- package/core/audits/accessibility/label-content-name-mismatch.js +3 -3
- package/core/audits/accessibility/label.js +3 -3
- package/core/audits/accessibility/landmark-one-main.js +3 -3
- package/core/audits/accessibility/link-in-text-block.js +3 -3
- package/core/audits/accessibility/link-name.js +3 -3
- package/core/audits/accessibility/list.js +3 -3
- package/core/audits/accessibility/listitem.js +3 -3
- package/core/audits/accessibility/manual/custom-controls-labels.js +3 -3
- package/core/audits/accessibility/manual/custom-controls-roles.js +3 -3
- package/core/audits/accessibility/manual/focus-traps.js +3 -3
- package/core/audits/accessibility/manual/focusable-controls.js +3 -3
- package/core/audits/accessibility/manual/interactive-element-affordance.js +3 -3
- package/core/audits/accessibility/manual/logical-tab-order.js +3 -3
- package/core/audits/accessibility/manual/managed-focus.js +3 -3
- package/core/audits/accessibility/manual/offscreen-content-hidden.js +3 -3
- package/core/audits/accessibility/manual/use-landmarks.js +3 -3
- package/core/audits/accessibility/manual/visual-order-follows-dom.js +3 -3
- package/core/audits/accessibility/meta-refresh.js +3 -3
- package/core/audits/accessibility/meta-viewport.js +3 -3
- package/core/audits/accessibility/object-alt.js +3 -3
- package/core/audits/accessibility/select-name.js +3 -3
- package/core/audits/accessibility/skip-link.js +3 -3
- package/core/audits/accessibility/tabindex.js +3 -3
- package/core/audits/accessibility/table-duplicate-name.js +3 -3
- package/core/audits/accessibility/table-fake-caption.js +3 -3
- package/core/audits/accessibility/target-size.js +3 -3
- package/core/audits/accessibility/td-has-header.js +3 -3
- package/core/audits/accessibility/td-headers-attr.js +3 -3
- package/core/audits/accessibility/th-has-data-cells.js +3 -3
- package/core/audits/accessibility/valid-lang.js +3 -3
- package/core/audits/accessibility/video-caption.js +3 -3
- package/core/audits/audit.js +24 -14
- package/core/audits/autocomplete.js +3 -3
- package/core/audits/bf-cache.js +4 -3
- package/core/audits/bootup-time.js +7 -4
- package/core/audits/byte-efficiency/byte-efficiency-audit.js +4 -4
- package/core/audits/byte-efficiency/duplicated-javascript.js +4 -4
- package/core/audits/byte-efficiency/efficient-animated-content.js +4 -4
- package/core/audits/byte-efficiency/legacy-javascript.js +4 -4
- package/core/audits/byte-efficiency/modern-image-formats.js +4 -4
- package/core/audits/byte-efficiency/offscreen-images.js +4 -4
- package/core/audits/byte-efficiency/render-blocking-resources.js +5 -6
- package/core/audits/byte-efficiency/total-byte-weight.js +6 -4
- package/core/audits/byte-efficiency/unminified-css.js +4 -4
- package/core/audits/byte-efficiency/unminified-javascript.js +4 -4
- package/core/audits/byte-efficiency/unused-css-rules.js +4 -4
- package/core/audits/byte-efficiency/unused-javascript.js +4 -4
- package/core/audits/byte-efficiency/uses-long-cache-ttl.js +6 -11
- package/core/audits/byte-efficiency/uses-optimized-images.js +4 -4
- package/core/audits/byte-efficiency/uses-responsive-images-snapshot.js +4 -3
- package/core/audits/byte-efficiency/uses-responsive-images.js +4 -4
- package/core/audits/byte-efficiency/uses-text-compression.js +4 -4
- package/core/audits/content-width.js +3 -3
- package/core/audits/critical-request-chains.js +3 -3
- package/core/audits/csp-xss.js +4 -4
- package/core/audits/deprecations.js +3 -3
- package/core/audits/diagnostics.js +3 -3
- package/core/audits/dobetterweb/charset.js +3 -3
- package/core/audits/dobetterweb/doctype.js +3 -3
- package/core/audits/dobetterweb/dom-size.js +6 -4
- package/core/audits/dobetterweb/geolocation-on-start.js +3 -3
- package/core/audits/dobetterweb/inspector-issues.js +3 -3
- package/core/audits/dobetterweb/js-libraries.js +3 -3
- package/core/audits/dobetterweb/no-document-write.js +4 -3
- package/core/audits/dobetterweb/notification-on-start.js +3 -3
- package/core/audits/dobetterweb/paste-preventing-inputs.js +3 -3
- package/core/audits/dobetterweb/uses-http2.js +5 -6
- package/core/audits/dobetterweb/uses-passive-event-listeners.js +4 -3
- package/core/audits/errors-in-console.js +3 -3
- package/core/audits/final-screenshot.js +3 -3
- package/core/audits/font-display.js +4 -3
- package/core/audits/image-aspect-ratio.js +3 -3
- package/core/audits/image-size-responsive.js +3 -3
- package/core/audits/installable-manifest.js +5 -5
- package/core/audits/is-on-https.js +3 -3
- package/core/audits/largest-contentful-paint-element.js +6 -5
- package/core/audits/layout-shift-elements.js +10 -7
- package/core/audits/lcp-lazy-loaded.js +4 -3
- package/core/audits/long-tasks.js +11 -4
- package/core/audits/main-thread-tasks.js +3 -3
- package/core/audits/mainthread-work-breakdown.js +26 -5
- package/core/audits/manual/manual-audit.js +3 -3
- package/core/audits/manual/pwa-cross-browser.js +3 -3
- package/core/audits/manual/pwa-each-page-has-url.js +3 -3
- package/core/audits/manual/pwa-page-transitions.js +3 -3
- package/core/audits/maskable-icon.js +3 -3
- package/core/audits/metrics/cumulative-layout-shift.js +7 -4
- package/core/audits/metrics/first-contentful-paint.js +4 -3
- package/core/audits/metrics/first-meaningful-paint.js +3 -3
- package/core/audits/metrics/interaction-to-next-paint.js +3 -3
- package/core/audits/metrics/interactive.js +3 -3
- package/core/audits/metrics/largest-contentful-paint.js +4 -3
- package/core/audits/metrics/max-potential-fid.js +3 -3
- package/core/audits/metrics/speed-index.js +4 -3
- package/core/audits/metrics/total-blocking-time.js +4 -3
- package/core/audits/metrics.js +3 -3
- package/core/audits/multi-check-audit.js +3 -3
- package/core/audits/network-requests.js +3 -3
- package/core/audits/network-rtt.js +3 -3
- package/core/audits/network-server-latency.js +3 -3
- package/core/audits/no-unload-listeners.js +3 -3
- package/core/audits/non-composited-animations.js +3 -3
- package/core/audits/oopif-iframe-test-audit.js +3 -3
- package/core/audits/performance-budget.js +3 -3
- package/core/audits/predictive-perf.js +3 -3
- package/core/audits/preload-fonts.js +3 -3
- package/core/audits/prioritize-lcp-image.js +5 -6
- package/core/audits/redirects.js +5 -6
- package/core/audits/screenshot-thumbnails.js +3 -3
- package/core/audits/script-elements-test-audit.js +3 -3
- package/core/audits/script-treemap-data.js +3 -3
- package/core/audits/seo/canonical.js +3 -3
- package/core/audits/seo/crawlable-anchors.js +3 -3
- package/core/audits/seo/font-size.js +3 -3
- package/core/audits/seo/hreflang.js +3 -3
- package/core/audits/seo/http-status-code.js +3 -3
- package/core/audits/seo/is-crawlable.js +3 -3
- package/core/audits/seo/link-text.js +3 -3
- package/core/audits/seo/manual/structured-data.js +3 -3
- package/core/audits/seo/meta-description.js +3 -3
- package/core/audits/seo/plugins.js +3 -3
- package/core/audits/seo/robots-txt.js +3 -3
- package/core/audits/seo/tap-targets.js +3 -3
- package/core/audits/server-response-time.js +5 -3
- package/core/audits/splash-screen.js +3 -3
- package/core/audits/themed-omnibox.js +3 -3
- package/core/audits/third-party-facades.js +4 -3
- package/core/audits/third-party-summary.js +8 -4
- package/core/audits/timing-budget.js +3 -3
- package/core/audits/unsized-images.js +4 -4
- package/core/audits/user-timings.js +3 -3
- package/core/audits/uses-rel-preconnect.js +5 -6
- package/core/audits/uses-rel-preload.js +5 -6
- package/core/audits/valid-source-maps.js +2 -3
- package/core/audits/viewport.js +4 -3
- package/core/audits/violation-audit.js +3 -3
- package/core/audits/work-during-interaction.js +9 -5
- package/core/computed/computed-artifact.js +3 -3
- package/core/computed/critical-request-chains.js +3 -3
- package/core/computed/document-urls.js +3 -3
- package/core/computed/entity-classification.js +3 -3
- package/core/computed/image-records.js +3 -3
- package/core/computed/js-bundles.js +3 -3
- package/core/computed/lcp-image-record.js +3 -3
- package/core/computed/load-simulator.js +3 -3
- package/core/computed/main-resource.js +3 -3
- package/core/computed/main-thread-tasks.js +3 -3
- package/core/computed/manifest-values.js +3 -3
- package/core/computed/metrics/cumulative-layout-shift.js +3 -3
- package/core/computed/metrics/first-contentful-paint-all-frames.js +3 -3
- package/core/computed/metrics/first-contentful-paint.js +3 -3
- package/core/computed/metrics/first-meaningful-paint.js +3 -3
- package/core/computed/metrics/interactive.js +3 -3
- package/core/computed/metrics/lantern-first-contentful-paint.js +3 -3
- package/core/computed/metrics/lantern-first-meaningful-paint.js +3 -3
- package/core/computed/metrics/lantern-interactive.js +3 -3
- package/core/computed/metrics/lantern-largest-contentful-paint.js +3 -3
- package/core/computed/metrics/lantern-max-potential-fid.js +3 -3
- package/core/computed/metrics/lantern-metric.js +3 -3
- package/core/computed/metrics/lantern-speed-index.js +3 -3
- package/core/computed/metrics/lantern-total-blocking-time.js +3 -3
- package/core/computed/metrics/largest-contentful-paint-all-frames.js +3 -3
- package/core/computed/metrics/largest-contentful-paint.js +3 -3
- package/core/computed/metrics/lcp-breakdown.js +3 -3
- package/core/computed/metrics/max-potential-fid.js +3 -3
- package/core/computed/metrics/metric.js +3 -3
- package/core/computed/metrics/navigation-metric.js +3 -3
- package/core/computed/metrics/responsiveness.js +3 -3
- package/core/computed/metrics/speed-index.js +3 -3
- package/core/computed/metrics/tbt-utils.d.ts +3 -3
- package/core/computed/metrics/tbt-utils.js +3 -3
- package/core/computed/metrics/time-to-first-byte.js +3 -3
- package/core/computed/metrics/timing-summary.js +3 -3
- package/core/computed/metrics/total-blocking-time.js +3 -3
- package/core/computed/module-duplication.js +3 -3
- package/core/computed/network-analysis.js +3 -3
- package/core/computed/network-records.js +3 -3
- package/core/computed/page-dependency-graph.js +4 -3
- package/core/computed/processed-navigation.js +3 -3
- package/core/computed/processed-trace.js +3 -3
- package/core/computed/resource-summary.js +3 -3
- package/core/computed/screenshots.js +3 -3
- package/core/computed/speedline.js +3 -3
- package/core/computed/tbt-impact-tasks.js +3 -3
- package/core/computed/unused-css.js +3 -3
- package/core/computed/unused-javascript-summary.js +2 -3
- package/core/computed/user-timings.js +3 -3
- package/core/computed/viewport-meta.js +3 -3
- package/core/config/budget.js +3 -3
- package/core/config/config-helpers.js +3 -3
- package/core/config/config-plugin.js +3 -3
- package/core/config/config.js +3 -3
- package/core/config/constants.d.ts +3 -3
- package/core/config/constants.js +3 -3
- package/core/config/default-config.js +3 -3
- package/core/config/desktop-config.js +3 -3
- package/core/config/experimental-config.d.ts +3 -3
- package/core/config/experimental-config.js +3 -3
- package/core/config/filters.js +3 -3
- package/core/config/full-config.d.ts +3 -3
- package/core/config/full-config.js +3 -3
- package/core/config/lr-desktop-config.js +3 -3
- package/core/config/lr-mobile-config.d.ts +3 -3
- package/core/config/lr-mobile-config.js +3 -3
- package/core/config/metrics-to-audits.d.ts +3 -3
- package/core/config/metrics-to-audits.js +3 -3
- package/core/config/perf-config.d.ts +3 -3
- package/core/config/perf-config.js +3 -3
- package/core/config/validation.js +3 -3
- package/core/gather/base-artifacts.js +3 -3
- package/core/gather/base-gatherer.js +3 -3
- package/core/gather/driver/dom.js +3 -3
- package/core/gather/driver/environment.js +3 -3
- package/core/gather/driver/execution-context.js +3 -3
- package/core/gather/driver/navigation.js +3 -3
- package/core/gather/driver/network-monitor.js +3 -3
- package/core/gather/driver/network.js +3 -3
- package/core/gather/driver/prepare.js +3 -3
- package/core/gather/driver/service-workers.d.ts +3 -3
- package/core/gather/driver/service-workers.js +3 -3
- package/core/gather/driver/storage.js +3 -3
- package/core/gather/driver/target-manager.d.ts +5 -0
- package/core/gather/driver/target-manager.js +21 -11
- package/core/gather/driver/wait-for-condition.js +3 -3
- package/core/gather/driver.js +3 -3
- package/core/gather/fetcher.js +2 -3
- package/core/gather/gatherers/accessibility.js +3 -3
- package/core/gather/gatherers/anchor-elements.js +3 -3
- package/core/gather/gatherers/bf-cache-failures.js +3 -3
- package/core/gather/gatherers/cache-contents.js +3 -3
- package/core/gather/gatherers/console-messages.js +3 -3
- package/core/gather/gatherers/css-usage.js +3 -3
- package/core/gather/gatherers/devtools-log-compat.js +3 -3
- package/core/gather/gatherers/devtools-log.js +3 -3
- package/core/gather/gatherers/dobetterweb/doctype.js +3 -3
- package/core/gather/gatherers/dobetterweb/domstats.js +3 -3
- package/core/gather/gatherers/dobetterweb/optimized-images.js +5 -5
- package/core/gather/gatherers/dobetterweb/response-compression.js +4 -4
- package/core/gather/gatherers/dobetterweb/tags-blocking-first-paint.js +8 -3
- package/core/gather/gatherers/full-page-screenshot.js +2 -3
- package/core/gather/gatherers/global-listeners.js +3 -3
- package/core/gather/gatherers/iframe-elements.js +3 -3
- package/core/gather/gatherers/image-elements.js +3 -3
- package/core/gather/gatherers/inputs.js +3 -3
- package/core/gather/gatherers/inspector-issues.js +4 -3
- package/core/gather/gatherers/installability-errors.js +3 -3
- package/core/gather/gatherers/js-usage.js +3 -3
- package/core/gather/gatherers/link-elements.js +3 -3
- package/core/gather/gatherers/main-document-content.js +3 -3
- package/core/gather/gatherers/meta-elements.js +3 -3
- package/core/gather/gatherers/network-user-agent.js +3 -3
- package/core/gather/gatherers/script-elements.js +4 -4
- package/core/gather/gatherers/scripts.js +3 -3
- package/core/gather/gatherers/seo/embedded-content.js +3 -3
- package/core/gather/gatherers/seo/font-size.js +3 -3
- package/core/gather/gatherers/seo/robots-txt.js +3 -3
- package/core/gather/gatherers/seo/tap-targets.js +3 -3
- package/core/gather/gatherers/service-worker.js +3 -3
- package/core/gather/gatherers/source-maps.js +3 -3
- package/core/gather/gatherers/stacks.js +3 -3
- package/core/gather/gatherers/trace-compat.js +3 -3
- package/core/gather/gatherers/trace-elements.js +3 -3
- package/core/gather/gatherers/trace.js +3 -3
- package/core/gather/gatherers/viewport-dimensions.js +3 -3
- package/core/gather/gatherers/web-app-manifest.js +3 -3
- package/core/gather/navigation-runner.js +3 -3
- package/core/gather/runner-helpers.js +3 -3
- package/core/gather/session.js +5 -3
- package/core/gather/snapshot-runner.js +3 -3
- package/core/gather/timespan-runner.js +3 -3
- package/core/index.cjs +3 -3
- package/core/index.js +3 -3
- package/core/lib/arbitrary-equality-map.js +3 -3
- package/core/lib/asset-saver.d.ts +4 -4
- package/core/lib/asset-saver.js +17 -13
- package/core/lib/axe.js +3 -3
- package/core/lib/cdt/Common.js +3 -3
- package/core/lib/cdt/Platform.d.ts +3 -3
- package/core/lib/cdt/Platform.js +3 -3
- package/core/lib/cdt/SDK.js +3 -3
- package/core/lib/csp-evaluator.js +16 -16
- package/core/lib/dependency-graph/base-node.d.ts +3 -3
- package/core/lib/dependency-graph/base-node.js +3 -3
- package/core/lib/dependency-graph/cpu-node.js +3 -3
- package/core/lib/dependency-graph/network-node.js +3 -3
- package/core/lib/dependency-graph/simulator/connection-pool.js +3 -3
- package/core/lib/dependency-graph/simulator/dns-cache.js +3 -3
- package/core/lib/dependency-graph/simulator/network-analyzer.js +3 -3
- package/core/lib/dependency-graph/simulator/simulator-timing-map.js +3 -3
- package/core/lib/dependency-graph/simulator/simulator.js +3 -3
- package/core/lib/dependency-graph/simulator/tcp-connection.js +3 -3
- package/core/lib/deprecation-description.js +3 -3
- package/core/lib/emulation.js +3 -3
- package/core/lib/i18n/i18n.js +3 -3
- package/core/lib/icons.d.ts +3 -3
- package/core/lib/icons.js +3 -3
- package/core/lib/lantern-trace-saver.d.ts +3 -3
- package/core/lib/lantern-trace-saver.js +3 -3
- package/core/lib/lh-env.js +3 -3
- package/core/lib/lh-error.js +3 -3
- package/core/lib/lh-trace-processor.js +3 -3
- package/core/lib/lighthouse-compatibility.js +3 -3
- package/core/lib/manifest-parser.js +3 -3
- package/core/lib/median-run.js +3 -3
- package/core/lib/minification-estimator.js +3 -3
- package/core/lib/minify-devtoolslog.js +3 -3
- package/core/lib/navigation-error.js +3 -3
- package/core/lib/network-recorder.js +3 -3
- package/core/lib/network-request.js +3 -3
- package/core/lib/page-functions.js +3 -3
- package/core/lib/proto-preprocessor.js +3 -3
- package/core/lib/rect-helpers.d.ts +3 -3
- package/core/lib/rect-helpers.js +3 -3
- package/core/lib/script-helpers.d.ts +3 -3
- package/core/lib/script-helpers.js +3 -3
- package/core/lib/sentry.d.ts +2 -1
- package/core/lib/sentry.js +24 -18
- package/core/lib/stack-packs.js +3 -3
- package/core/lib/tappable-rects.js +3 -3
- package/core/lib/third-party-web.js +3 -3
- package/core/lib/timing-trace-saver.d.ts +3 -3
- package/core/lib/timing-trace-saver.js +3 -3
- package/core/lib/tracehouse/cpu-profile-model.js +3 -3
- package/core/lib/tracehouse/main-thread-tasks.js +3 -3
- package/core/lib/tracehouse/task-groups.d.ts +3 -3
- package/core/lib/tracehouse/task-groups.js +3 -3
- package/core/lib/tracehouse/task-summary.js +3 -3
- package/core/lib/tracehouse/trace-processor.js +3 -3
- package/core/lib/traces/metric-trace-events.js +3 -3
- package/core/lib/url-utils.js +3 -3
- package/core/runner.js +3 -3
- package/core/scoring.js +3 -3
- package/core/scripts/download-chrome.sh +2 -3
- package/core/user-flow.js +3 -3
- package/dist/report/bundle.esm.js +260 -175
- package/dist/report/flow.js +265 -181
- package/dist/report/standalone.js +261 -176
- package/flow-report/api.d.ts +3 -3
- package/flow-report/api.ts +3 -3
- package/flow-report/assets/standalone-flow-template.html +2 -13
- package/flow-report/assets/styles.css +3 -3
- package/flow-report/clients/standalone.d.ts +3 -3
- package/flow-report/clients/standalone.ts +3 -3
- package/flow-report/src/app.d.ts +3 -3
- package/flow-report/src/app.tsx +3 -3
- package/flow-report/src/common.d.ts +3 -3
- package/flow-report/src/common.tsx +3 -3
- package/flow-report/src/header.d.ts +3 -3
- package/flow-report/src/header.tsx +3 -3
- package/flow-report/src/help-dialog.d.ts +3 -3
- package/flow-report/src/help-dialog.tsx +3 -3
- package/flow-report/src/i18n/i18n.d.ts +3 -3
- package/flow-report/src/i18n/i18n.tsx +3 -3
- package/flow-report/src/i18n/localized-strings.d.ts +3 -3
- package/flow-report/src/i18n/localized-strings.js +3 -3
- package/flow-report/src/i18n/ui-strings.js +3 -3
- package/flow-report/src/icons.d.ts +3 -3
- package/flow-report/src/icons.tsx +3 -3
- package/flow-report/src/sidebar/flow.d.ts +3 -3
- package/flow-report/src/sidebar/flow.tsx +3 -3
- package/flow-report/src/sidebar/sidebar.d.ts +3 -3
- package/flow-report/src/sidebar/sidebar.tsx +3 -3
- package/flow-report/src/summary/category.d.ts +3 -3
- package/flow-report/src/summary/category.tsx +3 -3
- package/flow-report/src/summary/summary.d.ts +3 -3
- package/flow-report/src/summary/summary.tsx +3 -3
- package/flow-report/src/topbar.d.ts +3 -3
- package/flow-report/src/topbar.tsx +3 -3
- package/flow-report/src/util.d.ts +3 -3
- package/flow-report/src/util.ts +3 -3
- package/flow-report/src/wrappers/category-score.d.ts +3 -3
- package/flow-report/src/wrappers/category-score.tsx +3 -3
- package/flow-report/src/wrappers/markdown.d.ts +3 -3
- package/flow-report/src/wrappers/markdown.tsx +3 -3
- package/flow-report/src/wrappers/report.d.ts +3 -3
- package/flow-report/src/wrappers/report.tsx +3 -3
- package/flow-report/src/wrappers/styles.d.ts +3 -3
- package/flow-report/src/wrappers/styles.tsx +3 -3
- package/flow-report/types/flow-report.d.ts +3 -3
- package/package.json +11 -11
- package/readme.md +1 -1
- package/report/assets/standalone-template.html +2 -13
- package/report/assets/styles.css +231 -93
- package/report/assets/templates.html +24 -52
- package/report/clients/bundle.js +3 -3
- package/report/clients/standalone.js +3 -3
- package/report/generator/file-namer.js +3 -3
- package/report/generator/flow-report-assets.js +3 -3
- package/report/generator/report-assets.js +3 -3
- package/report/generator/report-generator.js +3 -3
- package/report/renderer/api.js +3 -3
- package/report/renderer/category-renderer.js +2 -13
- package/report/renderer/components.d.ts +2 -2
- package/report/renderer/components.js +35 -52
- package/report/renderer/crc-details-renderer.js +2 -13
- package/report/renderer/details-renderer.js +2 -13
- package/report/renderer/dom.d.ts +24 -4
- package/report/renderer/dom.js +32 -16
- package/report/renderer/drop-down-menu.d.ts +3 -3
- package/report/renderer/drop-down-menu.js +3 -3
- package/report/renderer/element-screenshot-renderer.js +3 -3
- package/report/renderer/explodey-gauge.d.ts +11 -0
- package/report/renderer/explodey-gauge.js +357 -0
- package/report/renderer/features-util.d.ts +3 -3
- package/report/renderer/features-util.js +3 -3
- package/report/renderer/i18n-formatter.js +3 -3
- package/report/renderer/logger.d.ts +2 -13
- package/report/renderer/logger.js +2 -13
- package/report/renderer/open-tab.js +2 -13
- package/report/renderer/performance-category-renderer.d.ts +16 -18
- package/report/renderer/performance-category-renderer.js +99 -115
- package/report/renderer/pwa-category-renderer.js +2 -13
- package/report/renderer/report-globals.js +3 -3
- package/report/renderer/report-renderer.js +2 -13
- package/report/renderer/report-ui-features.js +2 -13
- package/report/renderer/report-utils.js +3 -3
- package/report/renderer/snippet-renderer.js +3 -3
- package/report/renderer/swap-locale-feature.d.ts +3 -3
- package/report/renderer/swap-locale-feature.js +3 -3
- package/report/renderer/text-encoding.js +3 -3
- package/report/renderer/topbar-features.js +3 -3
- package/report/types/augment-dom.d.ts +3 -3
- package/report/types/buffer.d.ts +3 -3
- package/report/types/html-renderer.d.ts +3 -3
- package/report/types/report-renderer.d.ts +3 -3
- package/report/types/report-result.d.ts +3 -3
- package/shared/esm-utils.js +3 -3
- package/shared/localization/format.d.ts +21 -16
- package/shared/localization/format.js +76 -39
- package/shared/localization/i18n-module.js +2 -3
- package/shared/localization/locales/en-US.json +14 -14
- package/shared/localization/locales/en-XL.json +14 -14
- package/shared/localization/locales.js +3 -3
- package/shared/localization/swap-flow-locale.js +3 -3
- package/shared/localization/swap-locale.js +3 -3
- package/shared/root.js +3 -3
- package/{core/lib → shared}/statistics.js +3 -3
- package/shared/type-verifiers.d.ts +4 -4
- package/shared/type-verifiers.js +3 -3
- package/shared/types/shared.d.ts +3 -3
- package/shared/util.d.ts +22 -0
- package/shared/util.js +33 -13
- package/third-party/chromium-synchronization/inspector-issueAdded-types-test.js +4 -3
- package/third-party/chromium-synchronization/installability-errors-test.js +3 -3
- package/third-party/download-content-shell/README.md +1 -1
- package/types/artifacts.d.ts +4 -3
- package/types/audit.d.ts +8 -4
- package/types/config.d.ts +3 -3
- package/types/externs.d.ts +3 -3
- package/types/gatherer.d.ts +3 -3
- package/types/internal/cssstyle.d.ts +3 -3
- package/types/internal/enquirer.d.ts +3 -3
- package/types/internal/global.d.ts +3 -3
- package/types/internal/http-link-header.d.ts +3 -3
- package/types/internal/lookup-closest-locale.d.ts +3 -3
- package/types/internal/metaviewport-parser.d.ts +3 -3
- package/types/internal/node.d.ts +3 -3
- package/types/internal/parse-cache-control.d.ts +3 -3
- package/types/internal/pretty-json-stringify.d.ts +3 -3
- package/types/internal/query-selector.d.ts +3 -3
- package/types/internal/rollup-plugin-postprocess.d.ts +3 -3
- package/types/internal/rxjs.d.ts +6 -3
- package/types/internal/smokehouse.d.ts +3 -3
- package/types/internal/test.d.ts +3 -3
- package/types/lh.d.ts +3 -3
- package/types/lh.js +3 -3
- package/types/lhr/audit-details.d.ts +3 -3
- package/types/lhr/audit-result.d.ts +19 -3
- package/types/lhr/budget.d.ts +3 -3
- package/types/lhr/flow-result.d.ts +3 -3
- package/types/lhr/i18n.d.ts +3 -3
- package/types/lhr/lhr.d.ts +3 -3
- package/types/lhr/settings.d.ts +3 -3
- package/types/lhr/treemap.d.ts +3 -3
- package/types/protocol.d.ts +3 -3
- package/types/puppeteer.d.ts +3 -3
- package/types/user-flow.d.ts +3 -3
- package/types/utility-types.d.ts +3 -3
- package/AUTHORS +0 -9
- /package/{core/lib → shared}/statistics.d.ts +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2020 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import log from 'lighthouse-logger';
|
|
@@ -46,7 +46,7 @@ class LargestContentfulPaintElement extends Audit {
|
|
|
46
46
|
id: 'largest-contentful-paint-element',
|
|
47
47
|
title: str_(UIStrings.title),
|
|
48
48
|
description: str_(UIStrings.description),
|
|
49
|
-
scoreDisplayMode: Audit.SCORING_MODES.
|
|
49
|
+
scoreDisplayMode: Audit.SCORING_MODES.METRIC_SAVINGS,
|
|
50
50
|
guidanceLevel: 1,
|
|
51
51
|
supportedModes: ['navigation'],
|
|
52
52
|
requiredArtifacts:
|
|
@@ -162,7 +162,8 @@ class LargestContentfulPaintElement extends Audit {
|
|
|
162
162
|
const lcpSavings = Math.max(0, metricLcp - idealLcp);
|
|
163
163
|
|
|
164
164
|
return {
|
|
165
|
-
score: 1,
|
|
165
|
+
score: lcpSavings ? 0 : 1,
|
|
166
|
+
scoreDisplayMode: lcpSavings ? undefined : Audit.SCORING_MODES.INFORMATIVE,
|
|
166
167
|
displayValue,
|
|
167
168
|
details,
|
|
168
169
|
metricSavings: {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Copyright 2020 Google
|
|
3
|
-
*
|
|
4
|
-
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
|
|
2
|
+
* @license Copyright 2020 Google LLC
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
4
|
*/
|
|
6
5
|
|
|
7
6
|
import {Audit} from './audit.js';
|
|
8
7
|
import * as i18n from '../lib/i18n/i18n.js';
|
|
9
|
-
import {CumulativeLayoutShift} from '../computed/metrics/cumulative-layout-shift.js';
|
|
8
|
+
import {CumulativeLayoutShift as CumulativeLayoutShiftComputed} from '../computed/metrics/cumulative-layout-shift.js';
|
|
9
|
+
import CumulativeLayoutShift from './metrics/cumulative-layout-shift.js';
|
|
10
10
|
|
|
11
11
|
const UIStrings = {
|
|
12
12
|
/** Descriptive title of a diagnostic audit that provides up to the top five elements contributing to Cumulative Layout Shift. */
|
|
@@ -28,7 +28,7 @@ class LayoutShiftElements extends Audit {
|
|
|
28
28
|
id: 'layout-shift-elements',
|
|
29
29
|
title: str_(UIStrings.title),
|
|
30
30
|
description: str_(UIStrings.description),
|
|
31
|
-
scoreDisplayMode: Audit.SCORING_MODES.
|
|
31
|
+
scoreDisplayMode: Audit.SCORING_MODES.METRIC_SAVINGS,
|
|
32
32
|
guidanceLevel: 2,
|
|
33
33
|
requiredArtifacts: ['traces', 'TraceElements'],
|
|
34
34
|
};
|
|
@@ -65,10 +65,13 @@ class LayoutShiftElements extends Audit {
|
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
const {cumulativeLayoutShift: clsSavings} =
|
|
68
|
-
await
|
|
68
|
+
await CumulativeLayoutShiftComputed.request(artifacts.traces[Audit.DEFAULT_PASS], context);
|
|
69
|
+
|
|
70
|
+
const passed = clsSavings <= CumulativeLayoutShift.defaultOptions.p10;
|
|
69
71
|
|
|
70
72
|
return {
|
|
71
|
-
score: 1,
|
|
73
|
+
score: passed ? 1 : 0,
|
|
74
|
+
scoreDisplayMode: passed ? Audit.SCORING_MODES.INFORMATIVE : undefined,
|
|
72
75
|
metricSavings: {
|
|
73
76
|
CLS: clsSavings,
|
|
74
77
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2021 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import {Audit} from './audit.js';
|
|
@@ -33,6 +33,7 @@ class LargestContentfulPaintLazyLoaded extends Audit {
|
|
|
33
33
|
failureTitle: str_(UIStrings.failureTitle),
|
|
34
34
|
description: str_(UIStrings.description),
|
|
35
35
|
supportedModes: ['navigation'],
|
|
36
|
+
scoreDisplayMode: Audit.SCORING_MODES.METRIC_SAVINGS,
|
|
36
37
|
guidanceLevel: 3,
|
|
37
38
|
requiredArtifacts: ['TraceElements', 'ViewportDimensions', 'ImageElements',
|
|
38
39
|
'traces', 'devtoolsLogs', 'GatherContext', 'URL'],
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2020 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import {Audit} from './audit.js';
|
|
@@ -11,6 +11,7 @@ import {MainThreadTasks} from '../computed/main-thread-tasks.js';
|
|
|
11
11
|
import {PageDependencyGraph} from '../computed/page-dependency-graph.js';
|
|
12
12
|
import {LoadSimulator} from '../computed/load-simulator.js';
|
|
13
13
|
import {getJavaScriptURLs, getAttributableURLForTask} from '../lib/tracehouse/task-summary.js';
|
|
14
|
+
import {TotalBlockingTime} from '../computed/metrics/total-blocking-time.js';
|
|
14
15
|
|
|
15
16
|
/** We don't always have timing data for short tasks, if we're missing timing data. Treat it as though it were 0ms. */
|
|
16
17
|
const DEFAULT_TIMING = {startTime: 0, endTime: 0, duration: 0};
|
|
@@ -66,8 +67,8 @@ class LongTasks extends Audit {
|
|
|
66
67
|
scoreDisplayMode: Audit.SCORING_MODES.INFORMATIVE,
|
|
67
68
|
title: str_(UIStrings.title),
|
|
68
69
|
description: str_(UIStrings.description),
|
|
70
|
+
requiredArtifacts: ['traces', 'devtoolsLogs', 'URL', 'GatherContext'],
|
|
69
71
|
guidanceLevel: 1,
|
|
70
|
-
requiredArtifacts: ['traces', 'devtoolsLogs', 'URL'],
|
|
71
72
|
};
|
|
72
73
|
}
|
|
73
74
|
|
|
@@ -180,6 +181,9 @@ class LongTasks extends Audit {
|
|
|
180
181
|
const devtoolsLog = artifacts.devtoolsLogs[LongTasks.DEFAULT_PASS];
|
|
181
182
|
const networkRecords = await NetworkRecords.request(devtoolsLog, context);
|
|
182
183
|
|
|
184
|
+
const metricComputationData = Audit.makeMetricComputationDataInput(artifacts, context);
|
|
185
|
+
const tbtResult = await TotalBlockingTime.request(metricComputationData, context);
|
|
186
|
+
|
|
183
187
|
/** @type {Map<LH.TraceEvent, LH.Gatherer.Simulation.NodeTiming>|undefined} */
|
|
184
188
|
let taskTimingsByEvent;
|
|
185
189
|
|
|
@@ -245,6 +249,9 @@ class LongTasks extends Audit {
|
|
|
245
249
|
notApplicable: results.length === 0,
|
|
246
250
|
details: tableDetails,
|
|
247
251
|
displayValue,
|
|
252
|
+
metricSavings: {
|
|
253
|
+
TBT: tbtResult.timing,
|
|
254
|
+
},
|
|
248
255
|
};
|
|
249
256
|
}
|
|
250
257
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import {Audit} from './audit.js';
|
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2017 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* @fileoverview Audit a page to show a breakdown of execution timings on the main thread
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
import log from 'lighthouse-logger';
|
|
11
12
|
|
|
12
13
|
import {Audit} from './audit.js';
|
|
13
14
|
import {taskGroups} from '../lib/tracehouse/task-groups.js';
|
|
14
15
|
import * as i18n from '../lib/i18n/i18n.js';
|
|
15
16
|
import {MainThreadTasks} from '../computed/main-thread-tasks.js';
|
|
17
|
+
import {TotalBlockingTime} from '../computed/metrics/total-blocking-time.js';
|
|
18
|
+
import {Sentry} from '../lib/sentry.js';
|
|
19
|
+
import {Util} from '../../shared/util.js';
|
|
16
20
|
|
|
17
21
|
const UIStrings = {
|
|
18
22
|
/** Title of a diagnostic audit that provides detail on the main thread work the browser did to load the page. This descriptive title is shown to users when the amount is acceptable and no user action is required. */
|
|
@@ -41,9 +45,9 @@ class MainThreadWorkBreakdown extends Audit {
|
|
|
41
45
|
title: str_(UIStrings.title),
|
|
42
46
|
failureTitle: str_(UIStrings.failureTitle),
|
|
43
47
|
description: str_(UIStrings.description),
|
|
44
|
-
scoreDisplayMode: Audit.SCORING_MODES.
|
|
48
|
+
scoreDisplayMode: Audit.SCORING_MODES.METRIC_SAVINGS,
|
|
45
49
|
guidanceLevel: 1,
|
|
46
|
-
requiredArtifacts: ['traces'],
|
|
50
|
+
requiredArtifacts: ['traces', 'devtoolsLogs', 'URL', 'GatherContext'],
|
|
47
51
|
};
|
|
48
52
|
}
|
|
49
53
|
|
|
@@ -83,6 +87,19 @@ class MainThreadWorkBreakdown extends Audit {
|
|
|
83
87
|
const settings = context.settings || {};
|
|
84
88
|
const trace = artifacts.traces[MainThreadWorkBreakdown.DEFAULT_PASS];
|
|
85
89
|
|
|
90
|
+
let tbtSavings = 0;
|
|
91
|
+
try {
|
|
92
|
+
const metricComputationData = Audit.makeMetricComputationDataInput(artifacts, context);
|
|
93
|
+
const tbtResult = await TotalBlockingTime.request(metricComputationData, context);
|
|
94
|
+
tbtSavings = tbtResult.timing;
|
|
95
|
+
} catch (err) {
|
|
96
|
+
Sentry.captureException(err, {
|
|
97
|
+
tags: {audit: this.meta.id},
|
|
98
|
+
level: 'error',
|
|
99
|
+
});
|
|
100
|
+
log.error(this.meta.id, err.message);
|
|
101
|
+
}
|
|
102
|
+
|
|
86
103
|
const tasks = await MainThreadTasks.request(trace, context);
|
|
87
104
|
const multiplier = settings.throttlingMethod === 'simulate' ?
|
|
88
105
|
settings.throttling.cpuSlowdownMultiplier : 1;
|
|
@@ -125,10 +142,14 @@ class MainThreadWorkBreakdown extends Audit {
|
|
|
125
142
|
|
|
126
143
|
return {
|
|
127
144
|
score,
|
|
145
|
+
scoreDisplayMode: score >= Util.PASS_THRESHOLD ? Audit.SCORING_MODES.INFORMATIVE : undefined,
|
|
128
146
|
numericValue: totalExecutionTime,
|
|
129
147
|
numericUnit: 'millisecond',
|
|
130
148
|
displayValue: str_(i18n.UIStrings.seconds, {timeInMs: totalExecutionTime}),
|
|
131
149
|
details: tableDetails,
|
|
150
|
+
metricSavings: {
|
|
151
|
+
TBT: tbtSavings,
|
|
152
|
+
},
|
|
132
153
|
};
|
|
133
154
|
}
|
|
134
155
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2017 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
/**
|
|
3
|
-
* @license
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright 2017 Google LLC
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import ManualAudit from './manual-audit.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2017 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import ManualAudit from './manual-audit.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2017 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import ManualAudit from './manual-audit.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2020 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import {Audit} from './audit.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import {Audit} from '../audit.js';
|
|
@@ -62,11 +62,14 @@ class CumulativeLayoutShift extends Audit {
|
|
|
62
62
|
items: [rest],
|
|
63
63
|
};
|
|
64
64
|
|
|
65
|
+
const scoringOptions = {p10: context.options.p10, median: context.options.median};
|
|
66
|
+
|
|
65
67
|
return {
|
|
66
68
|
score: Audit.computeLogNormalScore(
|
|
67
|
-
|
|
69
|
+
scoringOptions,
|
|
68
70
|
cumulativeLayoutShift
|
|
69
71
|
),
|
|
72
|
+
scoringOptions,
|
|
70
73
|
numericValue: cumulativeLayoutShift,
|
|
71
74
|
numericUnit: 'unitless',
|
|
72
75
|
displayValue: cumulativeLayoutShift.toLocaleString(context.settings.locale),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2018 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import {Audit} from '../audit.js';
|
|
@@ -74,6 +74,7 @@ class FirstContentfulPaint extends Audit {
|
|
|
74
74
|
options.scoring,
|
|
75
75
|
metricResult.timing
|
|
76
76
|
),
|
|
77
|
+
scoringOptions: options.scoring,
|
|
77
78
|
numericValue: metricResult.timing,
|
|
78
79
|
numericUnit: 'millisecond',
|
|
79
80
|
displayValue: str_(i18n.UIStrings.seconds, {timeInMs: metricResult.timing}),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2016 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import {Audit} from '../audit.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import {Audit} from '../audit.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2017 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import {Audit} from '../audit.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import {Audit} from '../audit.js';
|
|
@@ -83,6 +83,7 @@ class LargestContentfulPaint extends Audit {
|
|
|
83
83
|
options.scoring,
|
|
84
84
|
metricResult.timing
|
|
85
85
|
),
|
|
86
|
+
scoringOptions: options.scoring,
|
|
86
87
|
numericValue: metricResult.timing,
|
|
87
88
|
numericUnit: 'millisecond',
|
|
88
89
|
displayValue: str_(i18n.UIStrings.seconds, {timeInMs: metricResult.timing}),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2018 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import {Audit} from '../audit.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2016 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import {Audit} from '../audit.js';
|
|
@@ -77,6 +77,7 @@ class SpeedIndex extends Audit {
|
|
|
77
77
|
options.scoring,
|
|
78
78
|
metricResult.timing
|
|
79
79
|
),
|
|
80
|
+
scoringOptions: options.scoring,
|
|
80
81
|
numericValue: metricResult.timing,
|
|
81
82
|
numericUnit: 'millisecond',
|
|
82
83
|
displayValue: str_(i18n.UIStrings.seconds, {timeInMs: metricResult.timing}),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import {Audit} from '../audit.js';
|
|
@@ -107,6 +107,7 @@ class TotalBlockingTime extends Audit {
|
|
|
107
107
|
options.scoring,
|
|
108
108
|
metricResult.timing
|
|
109
109
|
),
|
|
110
|
+
scoringOptions: options.scoring,
|
|
110
111
|
numericValue: metricResult.timing,
|
|
111
112
|
numericUnit: 'millisecond',
|
|
112
113
|
displayValue: str_(i18n.UIStrings.ms, {timeInMs: metricResult.timing}),
|
package/core/audits/metrics.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2018 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import {Audit} from './audit.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2017 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2018 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import {Audit} from './audit.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import {Audit} from './audit.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import {Audit} from './audit.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2020 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import {Audit} from './audit.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2020 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2021 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import {Audit} from './audit.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2017 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import {Audit} from './audit.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2020 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
/**
|