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,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/manual-audit.js';
|
|
@@ -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/manual-audit.js';
|
|
@@ -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/manual-audit.js';
|
|
@@ -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/manual-audit.js';
|
|
@@ -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/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
|
/**
|
|
@@ -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 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 2023 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 2023 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 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 2023 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 2023 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 2023 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 2023 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 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 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 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 2017 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
/**
|
package/core/audits/audit.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
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 * as LH from '../../types/lh.js';
|
|
8
8
|
import {isUnderTest} from '../lib/lh-env.js';
|
|
9
|
-
import * as statistics from '../lib/statistics.js';
|
|
10
9
|
import {Util} from '../../shared/util.js';
|
|
11
10
|
|
|
12
11
|
const DEFAULT_PASS = 'defaultPass';
|
|
@@ -50,6 +49,7 @@ class Audit {
|
|
|
50
49
|
static get SCORING_MODES() {
|
|
51
50
|
return {
|
|
52
51
|
NUMERIC: 'numeric',
|
|
52
|
+
METRIC_SAVINGS: 'metricSavings',
|
|
53
53
|
BINARY: 'binary',
|
|
54
54
|
MANUAL: 'manual',
|
|
55
55
|
INFORMATIVE: 'informative',
|
|
@@ -105,14 +105,7 @@ class Audit {
|
|
|
105
105
|
* @return {number}
|
|
106
106
|
*/
|
|
107
107
|
static computeLogNormalScore(controlPoints, value) {
|
|
108
|
-
|
|
109
|
-
// Add a boost to scores of 90+, linearly ramping from 0 at 0.9 to half a
|
|
110
|
-
// point (0.005) at 1. Expands scores in (0.9, 1] to (0.9, 1.005], so more top
|
|
111
|
-
// scores will be a perfect 1 after the two-digit `Math.floor()` rounding below.
|
|
112
|
-
if (percentile > 0.9) { // getLogNormalScore ensures `percentile` can't exceed 1.
|
|
113
|
-
percentile += 0.05 * (percentile - 0.9);
|
|
114
|
-
}
|
|
115
|
-
return Math.floor(percentile * 100) / 100;
|
|
108
|
+
return Util.computeLogNormalScore(controlPoints, value);
|
|
116
109
|
}
|
|
117
110
|
|
|
118
111
|
/**
|
|
@@ -329,7 +322,8 @@ class Audit {
|
|
|
329
322
|
*/
|
|
330
323
|
static _normalizeAuditScore(score, scoreDisplayMode, auditId) {
|
|
331
324
|
if (scoreDisplayMode !== Audit.SCORING_MODES.BINARY &&
|
|
332
|
-
scoreDisplayMode !== Audit.SCORING_MODES.NUMERIC
|
|
325
|
+
scoreDisplayMode !== Audit.SCORING_MODES.NUMERIC &&
|
|
326
|
+
scoreDisplayMode !== Audit.SCORING_MODES.METRIC_SAVINGS) {
|
|
333
327
|
return null;
|
|
334
328
|
}
|
|
335
329
|
|
|
@@ -371,6 +365,7 @@ class Audit {
|
|
|
371
365
|
|
|
372
366
|
// Default to binary scoring.
|
|
373
367
|
let scoreDisplayMode = audit.meta.scoreDisplayMode || Audit.SCORING_MODES.BINARY;
|
|
368
|
+
let score = product.score;
|
|
374
369
|
|
|
375
370
|
// But override if product contents require it.
|
|
376
371
|
if (product.errorMessage !== undefined) {
|
|
@@ -379,9 +374,21 @@ class Audit {
|
|
|
379
374
|
} else if (product.notApplicable) {
|
|
380
375
|
// Audit was determined to not apply to the page.
|
|
381
376
|
scoreDisplayMode = Audit.SCORING_MODES.NOT_APPLICABLE;
|
|
377
|
+
} else if (product.scoreDisplayMode) {
|
|
378
|
+
scoreDisplayMode = product.scoreDisplayMode;
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
if (scoreDisplayMode === Audit.SCORING_MODES.METRIC_SAVINGS) {
|
|
382
|
+
if (score && score >= Util.PASS_THRESHOLD) {
|
|
383
|
+
score = 1;
|
|
384
|
+
} else if (Object.values(product.metricSavings || {}).some(v => v)) {
|
|
385
|
+
score = 0;
|
|
386
|
+
} else {
|
|
387
|
+
score = 0.5;
|
|
388
|
+
}
|
|
382
389
|
}
|
|
383
390
|
|
|
384
|
-
|
|
391
|
+
score = Audit._normalizeAuditScore(score, scoreDisplayMode, audit.meta.id);
|
|
385
392
|
|
|
386
393
|
let auditTitle = audit.meta.title;
|
|
387
394
|
if (audit.meta.failureTitle) {
|
|
@@ -411,8 +418,11 @@ class Audit {
|
|
|
411
418
|
errorMessage: product.errorMessage,
|
|
412
419
|
errorStack: product.errorStack,
|
|
413
420
|
warnings: product.warnings,
|
|
421
|
+
scoringOptions: product.scoringOptions,
|
|
422
|
+
metricSavings: product.metricSavings,
|
|
414
423
|
|
|
415
424
|
details: product.details,
|
|
425
|
+
guidanceLevel: audit.meta.guidanceLevel,
|
|
416
426
|
};
|
|
417
427
|
}
|
|
418
428
|
|
|
@@ -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
|
/**
|
package/core/audits/bf-cache.js
CHANGED
|
@@ -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';
|
|
@@ -61,6 +61,7 @@ class BFCache extends Audit {
|
|
|
61
61
|
supportedModes: ['navigation', 'timespan'],
|
|
62
62
|
guidanceLevel: 2,
|
|
63
63
|
requiredArtifacts: ['BFCacheFailures'],
|
|
64
|
+
scoreDisplayMode: Audit.SCORING_MODES.METRIC_SAVINGS,
|
|
64
65
|
};
|
|
65
66
|
}
|
|
66
67
|
|
|
@@ -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 log from 'lighthouse-logger';
|
|
@@ -14,6 +14,7 @@ import {MainThreadTasks} from '../computed/main-thread-tasks.js';
|
|
|
14
14
|
import {getExecutionTimingsByURL} from '../lib/tracehouse/task-summary.js';
|
|
15
15
|
import {TBTImpactTasks} from '../computed/tbt-impact-tasks.js';
|
|
16
16
|
import {Sentry} from '../lib/sentry.js';
|
|
17
|
+
import {Util} from '../../shared/util.js';
|
|
17
18
|
|
|
18
19
|
const UIStrings = {
|
|
19
20
|
/** Title of a diagnostic audit that provides detail on the time spent executing javascript files during the load. This descriptive title is shown to users when the amount is acceptable and no user action is required. */
|
|
@@ -47,7 +48,7 @@ class BootupTime extends Audit {
|
|
|
47
48
|
title: str_(UIStrings.title),
|
|
48
49
|
failureTitle: str_(UIStrings.failureTitle),
|
|
49
50
|
description: str_(UIStrings.description),
|
|
50
|
-
scoreDisplayMode: Audit.SCORING_MODES.
|
|
51
|
+
scoreDisplayMode: Audit.SCORING_MODES.METRIC_SAVINGS,
|
|
51
52
|
guidanceLevel: 1,
|
|
52
53
|
requiredArtifacts: ['traces', 'devtoolsLogs', 'URL', 'GatherContext'],
|
|
53
54
|
};
|
|
@@ -169,6 +170,8 @@ class BootupTime extends Audit {
|
|
|
169
170
|
|
|
170
171
|
return {
|
|
171
172
|
score,
|
|
173
|
+
scoreDisplayMode: score >= Util.PASS_THRESHOLD ? Audit.SCORING_MODES.INFORMATIVE : undefined,
|
|
174
|
+
notApplicable: !results.length,
|
|
172
175
|
numericValue: totalBootupTime,
|
|
173
176
|
numericUnit: 'millisecond',
|
|
174
177
|
displayValue: totalBootupTime > 0 ?
|
|
@@ -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';
|
|
@@ -309,7 +309,7 @@ class ByteEfficiencyAudit extends Audit {
|
|
|
309
309
|
displayValue,
|
|
310
310
|
numericValue: wastedMs,
|
|
311
311
|
numericUnit: 'millisecond',
|
|
312
|
-
score:
|
|
312
|
+
score: results.length ? 0 : 1,
|
|
313
313
|
details,
|
|
314
314
|
metricSavings,
|
|
315
315
|
};
|
|
@@ -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
|
/** @typedef {import('./byte-efficiency-audit.js').ByteEfficiencyProduct} ByteEfficiencyProduct */
|
|
@@ -46,7 +46,7 @@ class DuplicatedJavascript extends ByteEfficiencyAudit {
|
|
|
46
46
|
id: 'duplicated-javascript',
|
|
47
47
|
title: str_(UIStrings.title),
|
|
48
48
|
description: str_(UIStrings.description),
|
|
49
|
-
scoreDisplayMode: ByteEfficiencyAudit.SCORING_MODES.
|
|
49
|
+
scoreDisplayMode: ByteEfficiencyAudit.SCORING_MODES.METRIC_SAVINGS,
|
|
50
50
|
guidanceLevel: 2,
|
|
51
51
|
requiredArtifacts: ['devtoolsLogs', 'traces', 'SourceMaps', 'Scripts',
|
|
52
52
|
'GatherContext', 'URL'],
|
|
@@ -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
|
* @fileoverview Audit a page to ensure that videos are used instead of animated gifs
|
|
@@ -36,7 +36,7 @@ class EfficientAnimatedContent extends ByteEfficiencyAudit {
|
|
|
36
36
|
id: 'efficient-animated-content',
|
|
37
37
|
title: str_(UIStrings.title),
|
|
38
38
|
description: str_(UIStrings.description),
|
|
39
|
-
scoreDisplayMode: ByteEfficiencyAudit.SCORING_MODES.
|
|
39
|
+
scoreDisplayMode: ByteEfficiencyAudit.SCORING_MODES.METRIC_SAVINGS,
|
|
40
40
|
guidanceLevel: 3,
|
|
41
41
|
requiredArtifacts: ['devtoolsLogs', 'traces', 'GatherContext', 'URL'],
|
|
42
42
|
};
|
|
@@ -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
|
/**
|
|
@@ -115,7 +115,7 @@ class LegacyJavascript extends ByteEfficiencyAudit {
|
|
|
115
115
|
static get meta() {
|
|
116
116
|
return {
|
|
117
117
|
id: 'legacy-javascript',
|
|
118
|
-
scoreDisplayMode: ByteEfficiencyAudit.SCORING_MODES.
|
|
118
|
+
scoreDisplayMode: ByteEfficiencyAudit.SCORING_MODES.METRIC_SAVINGS,
|
|
119
119
|
description: str_(UIStrings.description),
|
|
120
120
|
title: str_(UIStrings.title),
|
|
121
121
|
guidanceLevel: 2,
|
|
@@ -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
|
* @fileoverview This audit determines if the images could be smaller when compressed with WebP.
|
|
@@ -34,7 +34,7 @@ class ModernImageFormats extends ByteEfficiencyAudit {
|
|
|
34
34
|
id: 'modern-image-formats',
|
|
35
35
|
title: str_(UIStrings.title),
|
|
36
36
|
description: str_(UIStrings.description),
|
|
37
|
-
scoreDisplayMode: ByteEfficiencyAudit.SCORING_MODES.
|
|
37
|
+
scoreDisplayMode: ByteEfficiencyAudit.SCORING_MODES.METRIC_SAVINGS,
|
|
38
38
|
guidanceLevel: 3,
|
|
39
39
|
requiredArtifacts: ['OptimizedImages', 'devtoolsLogs', 'traces', 'URL', 'GatherContext',
|
|
40
40
|
'ImageElements'],
|
|
@@ -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
|
* @fileoverview Checks to see if images are displayed only outside of the viewport.
|
|
@@ -48,7 +48,7 @@ class OffscreenImages extends ByteEfficiencyAudit {
|
|
|
48
48
|
id: 'offscreen-images',
|
|
49
49
|
title: str_(UIStrings.title),
|
|
50
50
|
description: str_(UIStrings.description),
|
|
51
|
-
scoreDisplayMode: ByteEfficiencyAudit.SCORING_MODES.
|
|
51
|
+
scoreDisplayMode: ByteEfficiencyAudit.SCORING_MODES.METRIC_SAVINGS,
|
|
52
52
|
supportedModes: ['navigation'],
|
|
53
53
|
guidanceLevel: 2,
|
|
54
54
|
requiredArtifacts: ['ImageElements', 'ViewportDimensions', 'GatherContext', 'devtoolsLogs',
|
|
@@ -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
|
/**
|
|
@@ -12,7 +12,6 @@
|
|
|
12
12
|
import {Audit} from '../audit.js';
|
|
13
13
|
import * as i18n from '../../lib/i18n/i18n.js';
|
|
14
14
|
import {BaseNode} from '../../lib/dependency-graph/base-node.js';
|
|
15
|
-
import {ByteEfficiencyAudit} from './byte-efficiency-audit.js';
|
|
16
15
|
import {UnusedCSS} from '../../computed/unused-css.js';
|
|
17
16
|
import {NetworkRequest} from '../../lib/network-request.js';
|
|
18
17
|
import {ProcessedNavigation} from '../../computed/processed-navigation.js';
|
|
@@ -113,7 +112,7 @@ class RenderBlockingResources extends Audit {
|
|
|
113
112
|
id: 'render-blocking-resources',
|
|
114
113
|
title: str_(UIStrings.title),
|
|
115
114
|
supportedModes: ['navigation'],
|
|
116
|
-
scoreDisplayMode: Audit.SCORING_MODES.
|
|
115
|
+
scoreDisplayMode: Audit.SCORING_MODES.METRIC_SAVINGS,
|
|
117
116
|
description: str_(UIStrings.description),
|
|
118
117
|
guidanceLevel: 2,
|
|
119
118
|
// TODO: look into adding an `optionalArtifacts` property that captures the non-required nature
|
|
@@ -296,7 +295,7 @@ class RenderBlockingResources extends Audit {
|
|
|
296
295
|
|
|
297
296
|
return {
|
|
298
297
|
displayValue,
|
|
299
|
-
score:
|
|
298
|
+
score: results.length ? 0 : 1,
|
|
300
299
|
numericValue: wastedMs,
|
|
301
300
|
numericUnit: 'millisecond',
|
|
302
301
|
details,
|
|
@@ -1,13 +1,14 @@
|
|
|
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';
|
|
8
8
|
import * as i18n from '../../lib/i18n/i18n.js';
|
|
9
9
|
import {NetworkRequest} from '../../lib/network-request.js';
|
|
10
10
|
import {NetworkRecords} from '../../computed/network-records.js';
|
|
11
|
+
import {Util} from '../../../shared/util.js';
|
|
11
12
|
|
|
12
13
|
const UIStrings = {
|
|
13
14
|
/** Title of a diagnostic audit that provides detail on large network resources required during page load. 'Payloads' is roughly equivalent to 'resources'. This descriptive title is shown to users when the amount is acceptable and no user action is required. */
|
|
@@ -34,7 +35,7 @@ class TotalByteWeight extends Audit {
|
|
|
34
35
|
title: str_(UIStrings.title),
|
|
35
36
|
failureTitle: str_(UIStrings.failureTitle),
|
|
36
37
|
description: str_(UIStrings.description),
|
|
37
|
-
scoreDisplayMode: Audit.SCORING_MODES.
|
|
38
|
+
scoreDisplayMode: Audit.SCORING_MODES.METRIC_SAVINGS,
|
|
38
39
|
guidanceLevel: 1,
|
|
39
40
|
requiredArtifacts: ['devtoolsLogs'],
|
|
40
41
|
};
|
|
@@ -98,6 +99,7 @@ class TotalByteWeight extends Audit {
|
|
|
98
99
|
|
|
99
100
|
return {
|
|
100
101
|
score,
|
|
102
|
+
scoreDisplayMode: score >= Util.PASS_THRESHOLD ? Audit.SCORING_MODES.INFORMATIVE : undefined,
|
|
101
103
|
numericValue: totalBytes,
|
|
102
104
|
numericUnit: 'byte',
|
|
103
105
|
displayValue: str_(UIStrings.displayValue, {totalBytes}),
|