lighthouse 9.6.7 → 10.0.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/.gitattributes +4 -1
- package/CONTRIBUTING.md +15 -15
- package/build-tracker.config.js +0 -1
- package/cli/bin.d.ts +5 -0
- package/cli/bin.js +140 -0
- package/cli/cli-flags.d.ts +258 -0
- package/cli/cli-flags.js +553 -0
- package/cli/commands/commands.d.ts +4 -0
- package/cli/commands/commands.js +9 -0
- package/cli/commands/list-audits.d.ts +2 -0
- package/cli/commands/list-audits.js +15 -0
- package/cli/commands/list-locales.d.ts +2 -0
- package/cli/commands/list-locales.js +15 -0
- package/cli/commands/list-trace-categories.d.ts +2 -0
- package/cli/commands/list-trace-categories.js +14 -0
- package/cli/index.d.ts +3 -0
- package/cli/index.js +10 -0
- package/cli/printer.d.ts +28 -0
- package/cli/printer.js +99 -0
- package/cli/run.d.ts +24 -0
- package/cli/run.js +284 -0
- package/cli/sentry-prompt.d.ts +5 -0
- package/cli/sentry-prompt.js +78 -0
- package/cli/test/smokehouse/__snapshots__/report-assert-test.js.snap +71 -0
- package/cli/test/smokehouse/config/exclusions.d.ts +12 -0
- package/cli/test/smokehouse/config/exclusions.js +36 -0
- package/cli/test/smokehouse/core-tests.d.ts +4 -0
- package/cli/test/smokehouse/core-tests.js +134 -0
- package/cli/test/smokehouse/frontends/back-compat-util.d.ts +16 -0
- package/cli/test/smokehouse/frontends/back-compat-util.js +41 -0
- package/cli/test/smokehouse/frontends/lib.d.ts +8 -0
- package/cli/test/smokehouse/frontends/lib.js +48 -0
- package/cli/test/smokehouse/frontends/node.d.ts +2 -0
- package/cli/test/smokehouse/frontends/node.js +12 -0
- package/cli/test/smokehouse/frontends/smokehouse-bin.d.ts +3 -0
- package/cli/test/smokehouse/frontends/smokehouse-bin.js +258 -0
- package/cli/test/smokehouse/lib/child-process-error.d.ts +21 -0
- package/cli/test/smokehouse/lib/child-process-error.js +25 -0
- package/cli/test/smokehouse/lib/concurrent-mapper.d.ts +78 -0
- package/cli/test/smokehouse/lib/concurrent-mapper.js +125 -0
- package/cli/test/smokehouse/lib/local-console.d.ts +33 -0
- package/cli/test/smokehouse/lib/local-console.js +50 -0
- package/cli/test/smokehouse/lighthouse-runners/bundle.d.ts +16 -0
- package/cli/test/smokehouse/lighthouse-runners/bundle.js +158 -0
- package/cli/test/smokehouse/lighthouse-runners/cli.d.ts +18 -0
- package/cli/test/smokehouse/lighthouse-runners/cli.js +134 -0
- package/cli/test/smokehouse/lighthouse-runners/devtools.d.ts +23 -0
- package/cli/test/smokehouse/lighthouse-runners/devtools.js +72 -0
- package/cli/test/smokehouse/readme.md +208 -0
- package/cli/test/smokehouse/report-assert-test.d.ts +2 -0
- package/cli/test/smokehouse/report-assert-test.js +298 -0
- package/cli/test/smokehouse/report-assert.d.ts +50 -0
- package/cli/test/smokehouse/report-assert.js +520 -0
- package/cli/test/smokehouse/smokehouse.d.ts +35 -0
- package/cli/test/smokehouse/smokehouse.js +336 -0
- package/cli/test/smokehouse/version-check-test.d.ts +2 -0
- package/cli/test/smokehouse/version-check-test.js +43 -0
- package/cli/test/smokehouse/version-check.d.ts +15 -0
- package/cli/test/smokehouse/version-check.js +48 -0
- package/commitlint.config.js +0 -1
- package/core/audits/accessibility/accesskeys.d.ts +10 -0
- package/core/audits/accessibility/accesskeys.js +44 -0
- package/core/audits/accessibility/aria-allowed-attr.d.ts +10 -0
- package/core/audits/accessibility/aria-allowed-attr.js +44 -0
- package/core/audits/accessibility/aria-command-name.d.ts +10 -0
- package/core/audits/accessibility/aria-command-name.js +42 -0
- package/core/audits/accessibility/aria-hidden-body.d.ts +10 -0
- package/core/audits/accessibility/aria-hidden-body.js +42 -0
- package/core/audits/accessibility/aria-hidden-focus.d.ts +10 -0
- package/core/audits/accessibility/aria-hidden-focus.js +42 -0
- package/core/audits/accessibility/aria-input-field-name.d.ts +10 -0
- package/core/audits/accessibility/aria-input-field-name.js +42 -0
- package/core/audits/accessibility/aria-meter-name.d.ts +10 -0
- package/core/audits/accessibility/aria-meter-name.js +42 -0
- package/core/audits/accessibility/aria-progressbar-name.d.ts +10 -0
- package/core/audits/accessibility/aria-progressbar-name.js +42 -0
- package/core/audits/accessibility/aria-required-attr.d.ts +10 -0
- package/core/audits/accessibility/aria-required-attr.js +43 -0
- package/core/audits/accessibility/aria-required-children.d.ts +10 -0
- package/core/audits/accessibility/aria-required-children.js +47 -0
- package/core/audits/accessibility/aria-required-parent.d.ts +10 -0
- package/core/audits/accessibility/aria-required-parent.js +45 -0
- package/core/audits/accessibility/aria-roles.d.ts +10 -0
- package/core/audits/accessibility/aria-roles.js +44 -0
- package/core/audits/accessibility/aria-toggle-field-name.d.ts +10 -0
- package/core/audits/accessibility/aria-toggle-field-name.js +42 -0
- package/core/audits/accessibility/aria-tooltip-name.d.ts +10 -0
- package/core/audits/accessibility/aria-tooltip-name.js +42 -0
- package/core/audits/accessibility/aria-treeitem-name.d.ts +10 -0
- package/core/audits/accessibility/aria-treeitem-name.js +42 -0
- package/core/audits/accessibility/aria-valid-attr-value.d.ts +10 -0
- package/core/audits/accessibility/aria-valid-attr-value.js +44 -0
- package/core/audits/accessibility/aria-valid-attr.d.ts +10 -0
- package/core/audits/accessibility/aria-valid-attr.js +44 -0
- package/core/audits/accessibility/axe-audit.d.ts +17 -0
- package/core/audits/accessibility/axe-audit.js +113 -0
- package/core/audits/accessibility/button-name.d.ts +10 -0
- package/core/audits/accessibility/button-name.js +44 -0
- package/core/audits/accessibility/bypass.d.ts +10 -0
- package/core/audits/accessibility/bypass.js +46 -0
- package/core/audits/accessibility/color-contrast.d.ts +10 -0
- package/core/audits/accessibility/color-contrast.js +45 -0
- package/core/audits/accessibility/definition-list.d.ts +10 -0
- package/core/audits/accessibility/definition-list.js +46 -0
- package/core/audits/accessibility/dlitem.d.ts +10 -0
- package/core/audits/accessibility/dlitem.js +44 -0
- package/core/audits/accessibility/document-title.d.ts +10 -0
- package/core/audits/accessibility/document-title.js +44 -0
- package/core/audits/accessibility/duplicate-id-active.d.ts +10 -0
- package/core/audits/accessibility/duplicate-id-active.js +42 -0
- package/core/audits/accessibility/duplicate-id-aria.d.ts +10 -0
- package/core/audits/accessibility/duplicate-id-aria.js +42 -0
- package/core/audits/accessibility/form-field-multiple-labels.d.ts +10 -0
- package/core/audits/accessibility/form-field-multiple-labels.js +43 -0
- package/core/audits/accessibility/frame-title.d.ts +10 -0
- package/core/audits/accessibility/frame-title.js +43 -0
- package/core/audits/accessibility/heading-order.d.ts +10 -0
- package/core/audits/accessibility/heading-order.js +42 -0
- package/core/audits/accessibility/html-has-lang.d.ts +10 -0
- package/core/audits/accessibility/html-has-lang.js +46 -0
- package/core/audits/accessibility/html-lang-valid.d.ts +10 -0
- package/core/audits/accessibility/html-lang-valid.js +45 -0
- package/core/audits/accessibility/image-alt.d.ts +10 -0
- package/core/audits/accessibility/image-alt.js +44 -0
- package/core/audits/accessibility/input-image-alt.d.ts +10 -0
- package/core/audits/accessibility/input-image-alt.js +44 -0
- package/core/audits/accessibility/label.d.ts +10 -0
- package/core/audits/accessibility/label.js +44 -0
- package/core/audits/accessibility/link-name.d.ts +10 -0
- package/core/audits/accessibility/link-name.js +45 -0
- package/core/audits/accessibility/list.d.ts +10 -0
- package/core/audits/accessibility/list.js +46 -0
- package/core/audits/accessibility/listitem.d.ts +10 -0
- package/core/audits/accessibility/listitem.js +45 -0
- package/core/audits/accessibility/manual/custom-controls-labels.d.ts +8 -0
- package/core/audits/accessibility/manual/custom-controls-labels.js +27 -0
- package/core/audits/accessibility/manual/custom-controls-roles.d.ts +8 -0
- package/core/audits/accessibility/manual/custom-controls-roles.js +27 -0
- package/core/audits/accessibility/manual/focus-traps.d.ts +8 -0
- package/core/audits/accessibility/manual/focus-traps.js +27 -0
- package/core/audits/accessibility/manual/focusable-controls.d.ts +8 -0
- package/core/audits/accessibility/manual/focusable-controls.js +27 -0
- package/core/audits/accessibility/manual/interactive-element-affordance.d.ts +8 -0
- package/core/audits/accessibility/manual/interactive-element-affordance.js +27 -0
- package/core/audits/accessibility/manual/logical-tab-order.d.ts +8 -0
- package/core/audits/accessibility/manual/logical-tab-order.js +27 -0
- package/core/audits/accessibility/manual/managed-focus.d.ts +8 -0
- package/core/audits/accessibility/manual/managed-focus.js +27 -0
- package/core/audits/accessibility/manual/offscreen-content-hidden.d.ts +9 -0
- package/core/audits/accessibility/manual/offscreen-content-hidden.js +28 -0
- package/core/audits/accessibility/manual/use-landmarks.d.ts +8 -0
- package/core/audits/accessibility/manual/use-landmarks.js +27 -0
- package/core/audits/accessibility/manual/visual-order-follows-dom.d.ts +8 -0
- package/core/audits/accessibility/manual/visual-order-follows-dom.js +27 -0
- package/core/audits/accessibility/meta-refresh.d.ts +10 -0
- package/core/audits/accessibility/meta-refresh.js +45 -0
- package/core/audits/accessibility/meta-viewport.d.ts +10 -0
- package/core/audits/accessibility/meta-viewport.js +46 -0
- package/core/audits/accessibility/object-alt.d.ts +10 -0
- package/core/audits/accessibility/object-alt.js +44 -0
- package/core/audits/accessibility/tabindex.d.ts +10 -0
- package/core/audits/accessibility/tabindex.js +44 -0
- package/core/audits/accessibility/td-headers-attr.d.ts +10 -0
- package/core/audits/accessibility/td-headers-attr.js +48 -0
- package/core/audits/accessibility/th-has-data-cells.d.ts +10 -0
- package/core/audits/accessibility/th-has-data-cells.js +48 -0
- package/core/audits/accessibility/valid-lang.d.ts +10 -0
- package/core/audits/accessibility/valid-lang.js +44 -0
- package/core/audits/accessibility/video-caption.d.ts +10 -0
- package/core/audits/accessibility/video-caption.js +46 -0
- package/core/audits/audit.d.ts +157 -0
- package/core/audits/audit.js +405 -0
- package/core/audits/autocomplete.d.ts +36 -0
- package/core/audits/autocomplete.js +290 -0
- package/core/audits/bf-cache.d.ts +21 -0
- package/core/audits/bf-cache.js +120 -0
- package/core/audits/bootup-time.d.ts +26 -0
- package/core/audits/bootup-time.js +151 -0
- package/core/audits/byte-efficiency/byte-efficiency-audit.d.ts +82 -0
- package/core/audits/byte-efficiency/byte-efficiency-audit.js +260 -0
- package/core/audits/byte-efficiency/duplicated-javascript.d.ts +52 -0
- package/core/audits/byte-efficiency/duplicated-javascript.js +247 -0
- package/core/audits/byte-efficiency/efficient-animated-content.d.ts +23 -0
- package/core/audits/byte-efficiency/efficient-animated-content.js +92 -0
- package/core/audits/byte-efficiency/legacy-javascript.d.ts +100 -0
- package/core/audits/byte-efficiency/legacy-javascript.js +479 -0
- package/core/audits/byte-efficiency/modern-image-formats.d.ts +38 -0
- package/core/audits/byte-efficiency/modern-image-formats.js +186 -0
- package/core/audits/byte-efficiency/offscreen-images.d.ts +75 -0
- package/core/audits/byte-efficiency/offscreen-images.js +253 -0
- package/{lighthouse-core → core}/audits/byte-efficiency/polyfill-graph-data.json +0 -0
- package/core/audits/byte-efficiency/render-blocking-resources.d.ts +55 -0
- package/core/audits/byte-efficiency/render-blocking-resources.js +307 -0
- package/core/audits/byte-efficiency/total-byte-weight.d.ts +21 -0
- package/core/audits/byte-efficiency/total-byte-weight.js +109 -0
- package/core/audits/byte-efficiency/unminified-css.d.ts +36 -0
- package/core/audits/byte-efficiency/unminified-css.js +114 -0
- package/core/audits/byte-efficiency/unminified-javascript.d.ts +37 -0
- package/core/audits/byte-efficiency/unminified-javascript.js +118 -0
- package/core/audits/byte-efficiency/unused-css-rules.d.ts +16 -0
- package/core/audits/byte-efficiency/unused-css-rules.js +69 -0
- package/core/audits/byte-efficiency/unused-javascript.d.ts +27 -0
- package/core/audits/byte-efficiency/unused-javascript.js +163 -0
- package/core/audits/byte-efficiency/uses-long-cache-ttl.d.ts +61 -0
- package/core/audits/byte-efficiency/uses-long-cache-ttl.js +297 -0
- package/core/audits/byte-efficiency/uses-optimized-images.d.ts +33 -0
- package/core/audits/byte-efficiency/uses-optimized-images.js +145 -0
- package/core/audits/byte-efficiency/uses-responsive-images-snapshot.d.ts +16 -0
- package/core/audits/byte-efficiency/uses-responsive-images-snapshot.js +100 -0
- package/core/audits/byte-efficiency/uses-responsive-images.d.ts +45 -0
- package/core/audits/byte-efficiency/uses-responsive-images.js +201 -0
- package/core/audits/byte-efficiency/uses-text-compression.d.ts +14 -0
- package/core/audits/byte-efficiency/uses-text-compression.js +100 -0
- package/core/audits/content-width.d.ts +17 -0
- package/core/audits/content-width.js +76 -0
- package/core/audits/critical-request-chains.d.ts +44 -0
- package/core/audits/critical-request-chains.js +218 -0
- package/core/audits/csp-xss.d.ts +51 -0
- package/core/audits/csp-xss.js +186 -0
- package/core/audits/deprecations.d.ts +19 -0
- package/core/audits/deprecations.js +114 -0
- package/core/audits/diagnostics.d.ts +11 -0
- package/core/audits/diagnostics.js +79 -0
- package/core/audits/dobetterweb/charset.d.ts +19 -0
- package/core/audits/dobetterweb/charset.js +93 -0
- package/core/audits/dobetterweb/doctype.d.ts +21 -0
- package/core/audits/dobetterweb/doctype.js +120 -0
- package/core/audits/dobetterweb/dom-size.d.ts +26 -0
- package/core/audits/dobetterweb/dom-size.js +134 -0
- package/core/audits/dobetterweb/geolocation-on-start.d.ts +16 -0
- package/core/audits/dobetterweb/geolocation-on-start.js +69 -0
- package/core/audits/dobetterweb/inspector-issues.d.ts +45 -0
- package/core/audits/dobetterweb/inspector-issues.js +191 -0
- package/core/audits/dobetterweb/js-libraries.d.ts +15 -0
- package/core/audits/dobetterweb/js-libraries.js +87 -0
- package/core/audits/dobetterweb/no-document-write.d.ts +16 -0
- package/core/audits/dobetterweb/no-document-write.js +84 -0
- package/core/audits/dobetterweb/notification-on-start.d.ts +16 -0
- package/core/audits/dobetterweb/notification-on-start.js +68 -0
- package/core/audits/dobetterweb/paste-preventing-inputs.d.ts +15 -0
- package/core/audits/dobetterweb/paste-preventing-inputs.js +67 -0
- package/core/audits/dobetterweb/uses-http2.d.ts +72 -0
- package/core/audits/dobetterweb/uses-http2.js +264 -0
- package/core/audits/dobetterweb/uses-passive-event-listeners.d.ts +16 -0
- package/core/audits/dobetterweb/uses-passive-event-listeners.js +67 -0
- package/core/audits/errors-in-console.d.ts +31 -0
- package/core/audits/errors-in-console.js +120 -0
- package/core/audits/final-screenshot.d.ts +11 -0
- package/core/audits/final-screenshot.js +58 -0
- package/core/audits/font-display.d.ts +32 -0
- package/core/audits/font-display.js +193 -0
- package/core/audits/image-aspect-ratio.d.ts +30 -0
- package/core/audits/image-aspect-ratio.js +122 -0
- package/core/audits/image-size-responsive.d.ts +28 -0
- package/core/audits/image-size-responsive.js +332 -0
- package/core/audits/installable-manifest.d.ts +118 -0
- package/core/audits/installable-manifest.js +265 -0
- package/core/audits/is-on-https.d.ts +23 -0
- package/core/audits/is-on-https.js +123 -0
- package/core/audits/largest-contentful-paint-element.d.ts +14 -0
- package/core/audits/largest-contentful-paint-element.js +69 -0
- package/core/audits/layout-shift-elements.d.ts +15 -0
- package/core/audits/layout-shift-elements.js +74 -0
- package/core/audits/lcp-lazy-loaded.d.ts +21 -0
- package/core/audits/lcp-lazy-loaded.js +84 -0
- package/core/audits/long-tasks.d.ts +16 -0
- package/core/audits/long-tasks.js +124 -0
- package/core/audits/main-thread-tasks.d.ts +11 -0
- package/core/audits/main-thread-tasks.js +58 -0
- package/core/audits/mainthread-work-breakdown.d.ts +28 -0
- package/core/audits/mainthread-work-breakdown.js +135 -0
- package/core/audits/manual/manual-audit.d.ts +13 -0
- package/core/audits/manual/manual-audit.js +36 -0
- package/core/audits/manual/pwa-cross-browser.d.ts +12 -0
- package/core/audits/manual/pwa-cross-browser.js +40 -0
- package/core/audits/manual/pwa-each-page-has-url.d.ts +12 -0
- package/core/audits/manual/pwa-each-page-has-url.js +38 -0
- package/core/audits/manual/pwa-page-transitions.d.ts +12 -0
- package/core/audits/manual/pwa-page-transitions.js +38 -0
- package/core/audits/maskable-icon.d.ts +25 -0
- package/core/audits/maskable-icon.js +70 -0
- package/core/audits/metrics/cumulative-layout-shift.d.ts +21 -0
- package/core/audits/metrics/cumulative-layout-shift.js +79 -0
- package/core/audits/metrics/experimental-interaction-to-next-paint.d.ts +21 -0
- package/core/audits/metrics/experimental-interaction-to-next-paint.js +88 -0
- package/core/audits/metrics/first-contentful-paint-3g.d.ts +15 -0
- package/core/audits/metrics/first-contentful-paint-3g.js +69 -0
- package/core/audits/metrics/first-contentful-paint.d.ts +25 -0
- package/core/audits/metrics/first-contentful-paint.js +85 -0
- package/core/audits/metrics/first-meaningful-paint.d.ts +28 -0
- package/core/audits/metrics/first-meaningful-paint.js +89 -0
- package/core/audits/metrics/interactive.d.ts +31 -0
- package/core/audits/metrics/interactive.js +93 -0
- package/core/audits/metrics/largest-contentful-paint.d.ts +25 -0
- package/core/audits/metrics/largest-contentful-paint.js +94 -0
- package/core/audits/metrics/max-potential-fid.d.ts +23 -0
- package/core/audits/metrics/max-potential-fid.js +77 -0
- package/core/audits/metrics/speed-index.d.ts +27 -0
- package/core/audits/metrics/speed-index.js +88 -0
- package/core/audits/metrics/total-blocking-time.d.ts +32 -0
- package/core/audits/metrics/total-blocking-time.js +118 -0
- package/core/audits/metrics.d.ts +11 -0
- package/core/audits/metrics.js +73 -0
- package/core/audits/multi-check-audit.d.ts +28 -0
- package/core/audits/multi-check-audit.js +82 -0
- package/core/audits/network-requests.d.ts +11 -0
- package/core/audits/network-requests.js +129 -0
- package/core/audits/network-rtt.d.ts +15 -0
- package/core/audits/network-rtt.js +89 -0
- package/core/audits/network-server-latency.d.ts +15 -0
- package/core/audits/network-server-latency.js +88 -0
- package/core/audits/no-unload-listeners.d.ts +16 -0
- package/core/audits/no-unload-listeners.js +86 -0
- package/core/audits/non-composited-animations.d.ts +21 -0
- package/core/audits/non-composited-animations.js +205 -0
- package/core/audits/oopif-iframe-test-audit.d.ts +14 -0
- package/core/audits/oopif-iframe-test-audit.js +29 -0
- package/core/audits/performance-budget.d.ts +39 -0
- package/core/audits/performance-budget.js +154 -0
- package/core/audits/predictive-perf.d.ts +11 -0
- package/core/audits/predictive-perf.js +100 -0
- package/core/audits/preload-fonts.d.ts +29 -0
- package/core/audits/preload-fonts.js +106 -0
- package/core/audits/prioritize-lcp-image.d.ts +76 -0
- package/core/audits/prioritize-lcp-image.js +290 -0
- package/core/audits/redirects.d.ts +33 -0
- package/core/audits/redirects.js +164 -0
- package/core/audits/resource-summary.d.ts +16 -0
- package/core/audits/resource-summary.js +104 -0
- package/core/audits/screenshot-thumbnails.d.ts +33 -0
- package/core/audits/screenshot-thumbnails.js +168 -0
- package/core/audits/script-elements-test-audit.d.ts +14 -0
- package/core/audits/script-elements-test-audit.js +29 -0
- package/core/audits/script-treemap-data.d.ts +42 -0
- package/core/audits/script-treemap-data.js +287 -0
- package/core/audits/seo/canonical.d.ts +51 -0
- package/core/audits/seo/canonical.js +217 -0
- package/core/audits/seo/crawlable-anchors.d.ts +16 -0
- package/core/audits/seo/crawlable-anchors.js +93 -0
- package/core/audits/seo/font-size.d.ts +24 -0
- package/core/audits/seo/font-size.js +344 -0
- package/core/audits/seo/hreflang.d.ts +28 -0
- package/core/audits/seo/hreflang.js +148 -0
- package/core/audits/seo/http-status-code.d.ts +16 -0
- package/core/audits/seo/http-status-code.js +68 -0
- package/core/audits/seo/is-crawlable.d.ts +38 -0
- package/core/audits/seo/is-crawlable.js +223 -0
- package/core/audits/seo/link-text.d.ts +16 -0
- package/core/audits/seo/link-text.js +160 -0
- package/core/audits/seo/manual/structured-data.d.ts +12 -0
- package/core/audits/seo/manual/structured-data.js +37 -0
- package/core/audits/seo/meta-description.d.ts +16 -0
- package/core/audits/seo/meta-description.js +66 -0
- package/core/audits/seo/plugins.d.ts +15 -0
- package/core/audits/seo/plugins.js +150 -0
- package/core/audits/seo/robots-txt.d.ts +18 -0
- package/core/audits/seo/robots-txt.js +255 -0
- package/core/audits/seo/tap-targets.d.ts +50 -0
- package/core/audits/seo/tap-targets.js +352 -0
- package/core/audits/server-response-time.d.ts +21 -0
- package/core/audits/server-response-time.js +90 -0
- package/core/audits/service-worker.d.ts +46 -0
- package/core/audits/service-worker.js +182 -0
- package/core/audits/splash-screen.d.ts +37 -0
- package/core/audits/splash-screen.js +98 -0
- package/core/audits/themed-omnibox.d.ts +42 -0
- package/core/audits/themed-omnibox.js +102 -0
- package/core/audits/third-party-facades.d.ts +42 -0
- package/core/audits/third-party-facades.js +224 -0
- package/core/audits/third-party-summary.d.ts +59 -0
- package/core/audits/third-party-summary.js +257 -0
- package/core/audits/timing-budget.d.ts +43 -0
- package/core/audits/timing-budget.js +174 -0
- package/core/audits/unsized-images.d.ts +39 -0
- package/core/audits/unsized-images.js +162 -0
- package/core/audits/user-timings.d.ts +43 -0
- package/core/audits/user-timings.js +118 -0
- package/core/audits/uses-rel-preconnect.d.ts +37 -0
- package/core/audits/uses-rel-preconnect.js +253 -0
- package/core/audits/uses-rel-preload.d.ts +61 -0
- package/core/audits/uses-rel-preload.js +269 -0
- package/core/audits/valid-source-maps.d.ts +29 -0
- package/core/audits/valid-source-maps.js +160 -0
- package/core/audits/viewport.d.ts +17 -0
- package/core/audits/viewport.js +64 -0
- package/core/audits/violation-audit.d.ts +14 -0
- package/core/audits/violation-audit.js +49 -0
- package/core/audits/work-during-interaction.d.ts +82 -0
- package/core/audits/work-during-interaction.js +279 -0
- package/core/computed/computed-artifact.d.ts +15 -0
- package/core/computed/computed-artifact.js +62 -0
- package/core/computed/critical-request-chains.d.ts +40 -0
- package/core/computed/critical-request-chains.js +143 -0
- package/core/computed/entity-classification.d.ts +29 -0
- package/core/computed/entity-classification.js +103 -0
- package/core/computed/image-records.d.ts +24 -0
- package/core/computed/image-records.js +64 -0
- package/core/computed/js-bundles.d.ts +13 -0
- package/core/computed/js-bundles.js +120 -0
- package/core/computed/load-simulator.d.ts +28 -0
- package/core/computed/load-simulator.js +92 -0
- package/core/computed/main-resource.d.ts +25 -0
- package/core/computed/main-resource.js +35 -0
- package/core/computed/main-thread-tasks.d.ts +15 -0
- package/core/computed/main-thread-tasks.js +25 -0
- package/core/computed/manifest-values.d.ts +24 -0
- package/core/computed/manifest-values.js +136 -0
- package/core/computed/metrics/cumulative-layout-shift.d.ts +53 -0
- package/core/computed/metrics/cumulative-layout-shift.js +125 -0
- package/core/computed/metrics/first-contentful-paint-all-frames.d.ts +19 -0
- package/core/computed/metrics/first-contentful-paint-all-frames.js +37 -0
- package/core/computed/metrics/first-contentful-paint.d.ts +15 -0
- package/core/computed/metrics/first-contentful-paint.js +40 -0
- package/core/computed/metrics/first-meaningful-paint.d.ts +15 -0
- package/core/computed/metrics/first-meaningful-paint.js +44 -0
- package/core/computed/metrics/interactive.d.ts +61 -0
- package/core/computed/metrics/interactive.js +192 -0
- package/core/computed/metrics/lantern-first-contentful-paint.d.ts +48 -0
- package/core/computed/metrics/lantern-first-contentful-paint.js +204 -0
- package/core/computed/metrics/lantern-first-meaningful-paint.d.ts +12 -0
- package/core/computed/metrics/lantern-first-meaningful-paint.js +83 -0
- package/core/computed/metrics/lantern-interactive.d.ts +31 -0
- package/core/computed/metrics/lantern-interactive.js +113 -0
- package/core/computed/metrics/lantern-largest-contentful-paint.d.ts +25 -0
- package/core/computed/metrics/lantern-largest-contentful-paint.js +111 -0
- package/core/computed/metrics/lantern-max-potential-fid.d.ts +30 -0
- package/core/computed/metrics/lantern-max-potential-fid.js +93 -0
- package/core/computed/metrics/lantern-metric.d.ts +78 -0
- package/core/computed/metrics/lantern-metric.js +162 -0
- package/core/computed/metrics/lantern-speed-index.d.ts +38 -0
- package/core/computed/metrics/lantern-speed-index.js +150 -0
- package/core/computed/metrics/lantern-total-blocking-time.d.ts +31 -0
- package/core/computed/metrics/lantern-total-blocking-time.js +126 -0
- package/core/computed/metrics/largest-contentful-paint-all-frames.d.ts +20 -0
- package/core/computed/metrics/largest-contentful-paint-all-frames.js +45 -0
- package/core/computed/metrics/largest-contentful-paint.d.ts +15 -0
- package/core/computed/metrics/largest-contentful-paint.js +52 -0
- package/core/computed/metrics/max-potential-fid.d.ts +15 -0
- package/core/computed/metrics/max-potential-fid.js +45 -0
- package/core/computed/metrics/metric.d.ts +38 -0
- package/core/computed/metrics/metric.js +100 -0
- package/core/computed/metrics/navigation-metric.d.ts +16 -0
- package/core/computed/metrics/navigation-metric.js +46 -0
- package/core/computed/metrics/responsiveness.d.ts +87 -0
- package/core/computed/metrics/responsiveness.js +160 -0
- package/core/computed/metrics/speed-index.d.ts +10 -0
- package/core/computed/metrics/speed-index.js +40 -0
- package/core/computed/metrics/tbt-utils.d.ts +18 -0
- package/core/computed/metrics/tbt-utils.js +56 -0
- package/core/computed/metrics/timing-summary.d.ts +46 -0
- package/core/computed/metrics/timing-summary.js +157 -0
- package/core/computed/metrics/total-blocking-time.d.ts +23 -0
- package/core/computed/metrics/total-blocking-time.js +74 -0
- package/core/computed/module-duplication.d.ts +37 -0
- package/core/computed/module-duplication.js +138 -0
- package/core/computed/network-analysis.d.ts +20 -0
- package/core/computed/network-analysis.js +64 -0
- package/core/computed/network-records.d.ts +15 -0
- package/core/computed/network-records.js +22 -0
- package/core/computed/page-dependency-graph.d.ts +88 -0
- package/core/computed/page-dependency-graph.js +516 -0
- package/core/computed/processed-navigation.d.ts +21 -0
- package/core/computed/processed-navigation.js +37 -0
- package/core/computed/processed-trace.d.ts +14 -0
- package/core/computed/processed-trace.js +21 -0
- package/core/computed/resource-summary.d.ts +46 -0
- package/core/computed/resource-summary.js +118 -0
- package/core/computed/screenshots.d.ts +20 -0
- package/core/computed/screenshots.js +29 -0
- package/core/computed/speedline.d.ts +15 -0
- package/core/computed/speedline.js +55 -0
- package/core/computed/unused-css.d.ts +62 -0
- package/core/computed/unused-css.js +153 -0
- package/core/computed/unused-javascript-summary.d.ts +71 -0
- package/core/computed/unused-javascript-summary.js +155 -0
- package/core/computed/user-timings.d.ts +31 -0
- package/core/computed/user-timings.js +83 -0
- package/core/computed/viewport-meta.d.ts +35 -0
- package/core/computed/viewport-meta.js +56 -0
- package/core/config/budget.d.ts +74 -0
- package/core/config/budget.js +340 -0
- package/core/config/config-helpers.d.ts +94 -0
- package/core/config/config-helpers.js +630 -0
- package/core/config/config-plugin.d.ts +46 -0
- package/core/config/config-plugin.js +250 -0
- package/core/config/config.d.ts +28 -0
- package/core/config/config.js +344 -0
- package/core/config/constants.d.ts +86 -0
- package/core/config/constants.js +175 -0
- package/core/config/default-config.d.ts +5 -0
- package/core/config/default-config.js +637 -0
- package/core/config/desktop-config.d.ts +5 -0
- package/core/config/desktop-config.js +21 -0
- package/core/config/experimental-config.d.ts +13 -0
- package/core/config/experimental-config.js +29 -0
- package/core/config/filters.d.ts +83 -0
- package/core/config/filters.js +344 -0
- package/core/config/full-config.d.ts +9 -0
- package/core/config/full-config.js +13 -0
- package/core/config/lr-desktop-config.d.ts +4 -0
- package/core/config/lr-desktop-config.js +28 -0
- package/core/config/lr-mobile-config.d.ts +9 -0
- package/core/config/lr-mobile-config.js +33 -0
- package/core/config/metrics-to-audits.d.ts +19 -0
- package/core/config/metrics-to-audits.js +61 -0
- package/core/config/perf-config.d.ts +9 -0
- package/core/config/perf-config.js +16 -0
- package/core/config/validation.d.ts +77 -0
- package/core/config/validation.js +312 -0
- package/core/gather/base-artifacts.d.ts +16 -0
- package/core/gather/base-artifacts.js +95 -0
- package/core/gather/base-gatherer.d.ts +72 -0
- package/core/gather/base-gatherer.js +108 -0
- package/core/gather/driver/dom.d.ts +20 -0
- package/core/gather/driver/dom.js +57 -0
- package/core/gather/driver/environment.d.ts +35 -0
- package/core/gather/driver/environment.js +105 -0
- package/core/gather/driver/execution-context.d.ts +101 -0
- package/core/gather/driver/execution-context.js +262 -0
- package/core/gather/driver/navigation.d.ts +33 -0
- package/core/gather/driver/navigation.js +182 -0
- package/core/gather/driver/network-monitor.d.ts +82 -0
- package/core/gather/driver/network-monitor.js +260 -0
- package/core/gather/driver/network.d.ts +10 -0
- package/core/gather/driver/network.js +27 -0
- package/core/gather/driver/prepare.d.ts +52 -0
- package/core/gather/driver/prepare.js +244 -0
- package/core/gather/driver/service-workers.d.ts +16 -0
- package/core/gather/driver/service-workers.js +52 -0
- package/core/gather/driver/storage.d.ts +24 -0
- package/core/gather/driver/storage.js +149 -0
- package/core/gather/driver/target-manager.d.ts +61 -0
- package/core/gather/driver/target-manager.js +209 -0
- package/core/gather/driver/wait-for-condition.d.ts +116 -0
- package/core/gather/driver/wait-for-condition.js +544 -0
- package/core/gather/driver.d.ts +30 -0
- package/core/gather/driver.js +92 -0
- package/core/gather/fetcher.d.ts +63 -0
- package/core/gather/fetcher.js +143 -0
- package/core/gather/gatherers/accessibility.d.ts +23 -0
- package/core/gather/gatherers/accessibility.js +199 -0
- package/core/gather/gatherers/anchor-elements.d.ts +10 -0
- package/core/gather/gatherers/anchor-elements.js +132 -0
- package/core/gather/gatherers/bf-cache-failures.d.ts +43 -0
- package/core/gather/gatherers/bf-cache-failures.js +179 -0
- package/core/gather/gatherers/cache-contents.d.ts +11 -0
- package/core/gather/gatherers/cache-contents.js +58 -0
- package/core/gather/gatherers/console-messages.d.ts +39 -0
- package/core/gather/gatherers/console-messages.js +174 -0
- package/core/gather/gatherers/css-usage.d.ts +39 -0
- package/core/gather/gatherers/css-usage.js +150 -0
- package/core/gather/gatherers/devtools-log-compat.d.ts +13 -0
- package/core/gather/gatherers/devtools-log-compat.js +35 -0
- package/core/gather/gatherers/devtools-log.d.ts +48 -0
- package/core/gather/gatherers/devtools-log.js +115 -0
- package/core/gather/gatherers/dobetterweb/doctype.d.ts +10 -0
- package/core/gather/gatherers/dobetterweb/doctype.js +47 -0
- package/core/gather/gatherers/dobetterweb/domstats.d.ts +10 -0
- package/core/gather/gatherers/dobetterweb/domstats.js +102 -0
- package/core/gather/gatherers/dobetterweb/optimized-images.d.ts +61 -0
- package/core/gather/gatherers/dobetterweb/optimized-images.js +193 -0
- package/core/gather/gatherers/dobetterweb/response-compression.d.ts +30 -0
- package/core/gather/gatherers/dobetterweb/response-compression.js +155 -0
- package/core/gather/gatherers/dobetterweb/tags-blocking-first-paint.d.ts +53 -0
- package/core/gather/gatherers/dobetterweb/tags-blocking-first-paint.js +237 -0
- package/core/gather/gatherers/full-page-screenshot.d.ts +35 -0
- package/core/gather/gatherers/full-page-screenshot.js +258 -0
- package/core/gather/gatherers/gatherer.d.ts +46 -0
- package/core/gather/gatherers/gatherer.js +58 -0
- package/core/gather/gatherers/global-listeners.d.ts +27 -0
- package/core/gather/gatherers/global-listeners.js +91 -0
- package/core/gather/gatherers/iframe-elements.d.ts +11 -0
- package/core/gather/gatherers/iframe-elements.js +67 -0
- package/core/gather/gatherers/image-elements.d.ts +35 -0
- package/core/gather/gatherers/image-elements.js +378 -0
- package/core/gather/gatherers/inputs.d.ts +10 -0
- package/core/gather/gatherers/inputs.js +118 -0
- package/core/gather/gatherers/inspector-issues.d.ts +38 -0
- package/core/gather/gatherers/inspector-issues.js +126 -0
- package/core/gather/gatherers/installability-errors.d.ts +17 -0
- package/core/gather/gatherers/installability-errors.js +56 -0
- package/core/gather/gatherers/js-usage.d.ts +22 -0
- package/core/gather/gatherers/js-usage.js +74 -0
- package/core/gather/gatherers/link-elements.d.ts +39 -0
- package/core/gather/gatherers/link-elements.js +181 -0
- package/core/gather/gatherers/main-document-content.d.ts +27 -0
- package/core/gather/gatherers/main-document-content.js +53 -0
- package/core/gather/gatherers/meta-elements.d.ts +10 -0
- package/core/gather/gatherers/meta-elements.js +67 -0
- package/core/gather/gatherers/network-user-agent.d.ts +18 -0
- package/core/gather/gatherers/network-user-agent.js +41 -0
- package/core/gather/gatherers/script-elements.d.ts +26 -0
- package/core/gather/gatherers/script-elements.js +110 -0
- package/core/gather/gatherers/scripts.d.ts +27 -0
- package/core/gather/gatherers/scripts.js +139 -0
- package/core/gather/gatherers/seo/embedded-content.d.ts +10 -0
- package/core/gather/gatherers/seo/embedded-content.js +63 -0
- package/core/gather/gatherers/seo/font-size.d.ts +131 -0
- package/core/gather/gatherers/seo/font-size.js +339 -0
- package/core/gather/gatherers/seo/robots-txt.d.ts +10 -0
- package/core/gather/gatherers/seo/robots-txt.js +27 -0
- package/core/gather/gatherers/seo/tap-targets.d.ts +21 -0
- package/core/gather/gatherers/seo/tap-targets.js +389 -0
- package/core/gather/gatherers/service-worker.d.ts +16 -0
- package/core/gather/gatherers/service-worker.js +44 -0
- package/core/gather/gatherers/source-maps.d.ts +50 -0
- package/core/gather/gatherers/source-maps.js +155 -0
- package/core/gather/gatherers/stacks.d.ts +38 -0
- package/core/gather/gatherers/stacks.js +137 -0
- package/core/gather/gatherers/trace-compat.d.ts +13 -0
- package/core/gather/gatherers/trace-compat.js +35 -0
- package/core/gather/gatherers/trace-elements.d.ts +83 -0
- package/core/gather/gatherers/trace-elements.js +349 -0
- package/core/gather/gatherers/trace.d.ts +23 -0
- package/core/gather/gatherers/trace.js +130 -0
- package/core/gather/gatherers/viewport-dimensions.d.ts +10 -0
- package/core/gather/gatherers/viewport-dimensions.js +57 -0
- package/core/gather/gatherers/web-app-manifest.d.ts +32 -0
- package/core/gather/gatherers/web-app-manifest.js +106 -0
- package/core/gather/navigation-runner.d.ts +94 -0
- package/core/gather/navigation-runner.js +386 -0
- package/core/gather/runner-helpers.d.ts +39 -0
- package/core/gather/runner-helpers.js +159 -0
- package/core/gather/session.d.ts +50 -0
- package/core/gather/session.js +114 -0
- package/core/gather/snapshot-runner.d.ts +10 -0
- package/core/gather/snapshot-runner.js +67 -0
- package/core/gather/timespan-runner.d.ts +12 -0
- package/core/gather/timespan-runner.js +85 -0
- package/core/index.cjs +21 -0
- package/core/index.d.cts +4 -0
- package/core/index.d.ts +88 -0
- package/core/index.js +172 -0
- package/core/legacy/config/config.d.ts +107 -0
- package/core/legacy/config/config.js +566 -0
- package/core/legacy/config/legacy-default-config.d.ts +4 -0
- package/core/legacy/config/legacy-default-config.js +87 -0
- package/core/legacy/gather/connections/connection.d.ts +75 -0
- package/core/legacy/gather/connections/connection.js +181 -0
- package/core/legacy/gather/connections/cri.d.ts +27 -0
- package/core/legacy/gather/connections/cri.js +162 -0
- package/core/legacy/gather/connections/raw.d.ts +20 -0
- package/core/legacy/gather/connections/raw.js +57 -0
- package/core/legacy/gather/driver.d.ts +215 -0
- package/core/legacy/gather/driver.js +469 -0
- package/core/legacy/gather/gather-runner.d.ts +166 -0
- package/core/legacy/gather/gather-runner.js +590 -0
- package/core/lib/arbitrary-equality-map.d.ts +47 -0
- package/core/lib/arbitrary-equality-map.js +80 -0
- package/core/lib/asset-saver.d.ts +101 -0
- package/core/lib/asset-saver.js +451 -0
- package/core/lib/axe.d.ts +2 -0
- package/core/lib/axe.js +17 -0
- package/core/lib/bf-cache-strings.d.ts +121 -0
- package/core/lib/bf-cache-strings.js +661 -0
- package/core/lib/cdt/Common.d.ts +3 -0
- package/core/lib/cdt/Common.js +12 -0
- package/core/lib/cdt/Platform.d.ts +26 -0
- package/core/lib/cdt/Platform.js +57 -0
- package/core/lib/cdt/SDK.d.ts +2 -0
- package/core/lib/cdt/SDK.js +28 -0
- package/core/lib/cdt/generated/ParsedURL.d.ts +28 -0
- package/core/lib/cdt/generated/ParsedURL.js +178 -0
- package/core/lib/cdt/generated/SourceMap.d.ts +100 -0
- package/core/lib/cdt/generated/SourceMap.js +527 -0
- package/core/lib/cdt/package.json +4 -0
- package/core/lib/csp-evaluator.d.ts +41 -0
- package/core/lib/csp-evaluator.js +170 -0
- package/core/lib/dependency-graph/base-node.d.ts +161 -0
- package/core/lib/dependency-graph/base-node.js +364 -0
- package/core/lib/dependency-graph/cpu-node.d.ts +34 -0
- package/core/lib/dependency-graph/cpu-node.js +86 -0
- package/core/lib/dependency-graph/network-node.d.ts +43 -0
- package/core/lib/dependency-graph/network-node.js +99 -0
- package/core/lib/dependency-graph/simulator/connection-pool.d.ts +58 -0
- package/core/lib/dependency-graph/simulator/connection-pool.js +171 -0
- package/core/lib/dependency-graph/simulator/dns-cache.d.ts +42 -0
- package/core/lib/dependency-graph/simulator/dns-cache.js +74 -0
- package/core/lib/dependency-graph/simulator/network-analyzer.d.ts +166 -0
- package/core/lib/dependency-graph/simulator/network-analyzer.js +479 -0
- package/core/lib/dependency-graph/simulator/simulator-timing-map.d.ts +153 -0
- package/core/lib/dependency-graph/simulator/simulator-timing-map.js +220 -0
- package/core/lib/dependency-graph/simulator/simulator.d.ts +154 -0
- package/core/lib/dependency-graph/simulator/simulator.js +540 -0
- package/core/lib/dependency-graph/simulator/tcp-connection.d.ts +89 -0
- package/core/lib/dependency-graph/simulator/tcp-connection.js +230 -0
- package/core/lib/deprecations-strings.d.ts +66 -0
- package/core/lib/deprecations-strings.js +654 -0
- package/core/lib/emulation.d.ts +43 -0
- package/core/lib/emulation.js +163 -0
- package/core/lib/i18n/README.md +290 -0
- package/core/lib/i18n/i18n.d.ts +81 -0
- package/core/lib/i18n/i18n.js +229 -0
- package/core/lib/icons.d.ts +22 -0
- package/core/lib/icons.js +82 -0
- package/core/lib/lantern-trace-saver.d.ts +20 -0
- package/core/lib/lantern-trace-saver.js +260 -0
- package/core/lib/lh-env.d.ts +2 -0
- package/core/lib/lh-env.js +15 -0
- package/core/lib/lh-error.d.ts +328 -0
- package/core/lib/lh-error.js +425 -0
- package/core/lib/lh-trace-processor.d.ts +5 -0
- package/core/lib/lh-trace-processor.js +45 -0
- package/core/lib/lighthouse-compatibility.d.ts +8 -0
- package/core/lib/lighthouse-compatibility.js +139 -0
- package/core/lib/manifest-parser.d.ts +186 -0
- package/core/lib/manifest-parser.js +495 -0
- package/core/lib/median-run.d.ts +17 -0
- package/core/lib/median-run.js +92 -0
- package/core/lib/minification-estimator.d.ts +9 -0
- package/core/lib/minification-estimator.js +192 -0
- package/core/lib/minify-devtoolslog.d.ts +6 -0
- package/core/lib/minify-devtoolslog.js +86 -0
- package/core/lib/navigation-error.d.ts +39 -0
- package/core/lib/navigation-error.js +175 -0
- package/core/lib/network-recorder.d.ts +115 -0
- package/core/lib/network-recorder.js +341 -0
- package/core/lib/network-request.d.ts +247 -0
- package/core/lib/network-request.js +590 -0
- package/core/lib/page-functions.d.ts +149 -0
- package/core/lib/page-functions.js +544 -0
- package/core/lib/proto-preprocessor.d.ts +13 -0
- package/core/lib/proto-preprocessor.js +133 -0
- package/core/lib/rect-helpers.d.ts +100 -0
- package/core/lib/rect-helpers.js +251 -0
- package/core/lib/script-helpers.d.ts +17 -0
- package/core/lib/script-helpers.js +31 -0
- package/core/lib/sentry.d.ts +32 -0
- package/core/lib/sentry.js +143 -0
- package/core/lib/stack-packs.d.ts +16 -0
- package/core/lib/stack-packs.js +126 -0
- package/core/lib/statistics.d.ts +28 -0
- package/core/lib/statistics.js +103 -0
- package/core/lib/tappable-rects.d.ts +8 -0
- package/core/lib/tappable-rects.js +98 -0
- package/core/lib/third-party-web.d.ts +32 -0
- package/core/lib/third-party-web.js +52 -0
- package/core/lib/timing-trace-saver.d.ts +21 -0
- package/core/lib/timing-trace-saver.js +96 -0
- package/core/lib/tracehouse/cpu-profile-model.d.ts +228 -0
- package/core/lib/tracehouse/cpu-profile-model.js +591 -0
- package/core/lib/tracehouse/main-thread-tasks.d.ts +162 -0
- package/core/lib/tracehouse/main-thread-tasks.js +688 -0
- package/core/lib/tracehouse/task-groups.d.ts +66 -0
- package/core/lib/tracehouse/task-groups.js +111 -0
- package/core/lib/tracehouse/task-summary.d.ts +18 -0
- package/core/lib/tracehouse/task-summary.js +86 -0
- package/core/lib/tracehouse/trace-processor.d.ts +284 -0
- package/core/lib/tracehouse/trace-processor.js +1016 -0
- package/core/lib/traces/metric-trace-events.d.ts +65 -0
- package/core/lib/traces/metric-trace-events.js +200 -0
- package/core/lib/url-utils.d.ts +100 -0
- package/core/lib/url-utils.js +266 -0
- package/core/runner.d.ts +114 -0
- package/core/runner.js +563 -0
- package/core/scoring.d.ts +26 -0
- package/core/scoring.js +91 -0
- package/core/scripts/download-chrome.sh +36 -0
- package/core/scripts/manual-chrome-launcher.js +50 -0
- package/core/user-flow.d.ts +106 -0
- package/core/user-flow.js +354 -0
- package/dist/report/bundle.esm.js +1485 -1281
- package/dist/report/flow.js +37 -25
- package/dist/report/standalone.js +35 -19
- package/eslint-local-rules.cjs +106 -0
- package/eslint-local-rules.d.cts +6 -0
- package/esm-utils.d.ts +14 -0
- package/esm-utils.js +38 -0
- package/flow-report/api.d.ts +7 -0
- package/flow-report/assets/standalone-flow-template.html +1 -1
- package/flow-report/clients/standalone.d.ts +7 -0
- package/flow-report/src/app.d.ts +11 -0
- package/flow-report/src/app.tsx +1 -1
- package/flow-report/src/common.d.ts +20 -0
- package/flow-report/src/common.tsx +3 -3
- package/flow-report/src/header.d.ts +10 -0
- package/flow-report/src/header.tsx +1 -1
- package/flow-report/src/help-dialog.d.ts +10 -0
- package/flow-report/src/i18n/i18n.d.ts +212 -0
- package/flow-report/src/i18n/i18n.tsx +24 -19
- package/flow-report/src/i18n/localized-strings.d.ts +9 -0
- package/flow-report/src/i18n/ui-strings.d.ts +48 -0
- package/flow-report/src/icons.d.ts +18 -0
- package/flow-report/src/sidebar/flow.d.ts +8 -0
- package/flow-report/src/sidebar/sidebar.d.ts +17 -0
- package/flow-report/src/sidebar/sidebar.tsx +7 -4
- package/flow-report/src/summary/category.d.ts +19 -0
- package/flow-report/src/summary/category.tsx +10 -10
- package/flow-report/src/summary/summary.d.ts +18 -0
- package/flow-report/src/summary/summary.tsx +4 -4
- package/flow-report/src/topbar.d.ts +15 -0
- package/flow-report/src/topbar.tsx +14 -30
- package/flow-report/src/util.d.ts +30 -0
- package/flow-report/src/util.ts +2 -13
- package/flow-report/src/wrappers/category-score.d.ts +12 -0
- package/flow-report/src/wrappers/markdown.d.ts +10 -0
- package/flow-report/src/wrappers/report.d.ts +10 -0
- package/flow-report/src/wrappers/report.tsx +1 -1
- package/flow-report/src/wrappers/styles.d.ts +8 -0
- package/flow-report/test/app-test.d.ts +7 -0
- package/flow-report/test/common-test.d.ts +7 -0
- package/flow-report/test/common-test.tsx +11 -12
- package/flow-report/test/flow-report-pptr-test.d.ts +7 -0
- package/flow-report/test/flow-report-pptr-test.ts +21 -8
- package/flow-report/test/header-test.d.ts +7 -0
- package/flow-report/test/run-flow-report-tests.sh +20 -0
- package/flow-report/test/sample-flow.d.ts +7 -0
- package/flow-report/test/sample-flow.ts +1 -1
- package/flow-report/test/setup/env-setup.d.ts +11 -0
- package/flow-report/test/setup/env-setup.ts +47 -24
- package/flow-report/test/sidebar/flow-test.d.ts +7 -0
- package/flow-report/test/sidebar/sidebar-test.d.ts +7 -0
- package/flow-report/test/sidebar/sidebar-test.tsx +30 -3
- package/flow-report/test/summary/category-test.d.ts +7 -0
- package/flow-report/test/summary/summary-test.d.ts +7 -0
- package/flow-report/test/summary/summary-test.tsx +1 -1
- package/flow-report/test/topbar-test.d.ts +7 -0
- package/flow-report/test/topbar-test.tsx +11 -12
- package/flow-report/test/util-test.d.ts +7 -0
- package/flow-report/test/util-test.tsx +3 -3
- package/flow-report/test/wrappers/category-score-test.d.ts +7 -0
- package/flow-report/test/wrappers/markdown-test.d.ts +7 -0
- package/flow-report/tsconfig.json +5 -3
- package/flow-report/types/flow-report.d.ts +8 -1
- package/package.json +86 -80
- package/readme.md +27 -40
- package/report/README.md +8 -9
- package/report/assets/standalone-template.html +1 -1
- package/report/assets/styles.css +35 -17
- package/report/assets/templates.html +14 -37
- package/report/clients/bundle.d.ts +6 -0
- package/report/clients/bundle.js +1 -2
- package/report/clients/standalone.d.ts +2 -0
- package/report/clients/standalone.js +0 -1
- package/report/generator/file-namer.d.ts +35 -0
- package/report/generator/file-namer.js +7 -3
- package/report/generator/flow-report-assets.d.ts +9 -0
- package/report/generator/flow-report-assets.js +10 -6
- package/report/generator/report-assets.d.ts +8 -0
- package/report/generator/report-assets.js +8 -5
- package/report/generator/report-generator.d.ts +59 -0
- package/report/generator/report-generator.js +76 -34
- package/report/generator/tsconfig.json +1 -2
- package/report/renderer/api.d.ts +31 -0
- package/report/renderer/api.js +0 -2
- package/report/renderer/category-renderer.d.ts +176 -0
- package/report/renderer/category-renderer.js +39 -41
- package/report/renderer/components.d.ts +10 -0
- package/report/renderer/components.js +364 -448
- package/report/renderer/crc-details-renderer.d.ts +73 -0
- package/report/renderer/crc-details-renderer.js +28 -30
- package/report/renderer/details-renderer.d.ts +141 -0
- package/report/renderer/details-renderer.js +44 -92
- package/report/renderer/dom.d.ts +125 -0
- package/report/renderer/dom.js +13 -10
- package/report/renderer/drop-down-menu.d.ts +70 -0
- package/report/renderer/drop-down-menu.js +0 -1
- package/report/renderer/element-screenshot-renderer.d.ts +79 -0
- package/report/renderer/element-screenshot-renderer.js +11 -12
- package/report/renderer/features-util.d.ts +13 -0
- package/report/renderer/features-util.js +0 -1
- package/report/renderer/i18n-formatter.d.ts +100 -0
- package/report/renderer/i18n-formatter.js +263 -0
- package/report/renderer/logger.d.ts +47 -0
- package/report/renderer/logger.js +0 -1
- package/report/renderer/open-tab.d.ts +19 -0
- package/report/renderer/open-tab.js +4 -4
- package/report/renderer/performance-category-renderer.d.ts +56 -0
- package/report/renderer/performance-category-renderer.js +29 -26
- package/report/renderer/pwa-category-renderer.d.ts +55 -0
- package/report/renderer/pwa-category-renderer.js +8 -8
- package/report/renderer/report-globals.d.ts +21 -0
- package/report/renderer/report-globals.js +49 -0
- package/report/renderer/report-renderer.d.ts +57 -0
- package/report/renderer/report-renderer.js +54 -52
- package/report/renderer/report-ui-features.d.ts +71 -0
- package/report/renderer/report-ui-features.js +44 -39
- package/report/renderer/report-utils.d.ts +129 -0
- package/report/renderer/report-utils.js +448 -0
- package/report/renderer/snippet-renderer.d.ts +85 -0
- package/report/renderer/snippet-renderer.js +5 -5
- package/report/renderer/swap-locale-feature.d.ts +31 -0
- package/report/renderer/swap-locale-feature.js +2 -3
- package/report/renderer/text-encoding.d.ts +26 -0
- package/report/renderer/text-encoding.js +0 -1
- package/report/renderer/topbar-features.d.ts +82 -0
- package/report/renderer/topbar-features.js +2 -2
- package/report/test/clients/bundle-test.js +5 -10
- package/report/test/generator/file-namer-test.js +3 -4
- package/report/test/generator/report-generator-test.js +49 -24
- package/report/test/renderer/category-renderer-test.js +19 -15
- package/report/test/renderer/components-test.js +36 -37
- package/report/test/renderer/crc-details-renderer-test.js +11 -10
- package/report/test/renderer/details-renderer-test.js +91 -41
- package/report/test/renderer/dom-test.js +38 -14
- package/report/test/renderer/element-screenshot-renderer-test.js +14 -12
- package/report/test/renderer/i18n-formatter-test.js +179 -0
- package/report/test/renderer/performance-category-renderer-test.js +43 -31
- package/report/test/renderer/pwa-category-renderer-test.js +17 -13
- package/report/test/renderer/report-renderer-axe-test.js +12 -15
- package/report/test/renderer/report-renderer-test.js +17 -15
- package/report/test/renderer/report-ui-features-test.js +304 -89
- package/report/test/renderer/report-utils-test.js +219 -0
- package/report/test/renderer/snippet-renderer-test.js +11 -10
- package/report/test/renderer/text-encoding-test.js +2 -5
- package/report/test-assets/faux-psi.d.ts +34 -0
- package/report/tsconfig.json +1 -2
- package/report/types/augment-dom.d.ts +1 -1
- package/root.d.ts +3 -0
- package/root.js +9 -19
- package/shared/localization/format.d.ts +106 -0
- package/shared/localization/format.js +27 -21
- package/shared/localization/i18n-module.d.ts +4 -0
- package/shared/localization/i18n-module.js +7 -3
- package/shared/localization/locales/ar-XB.json +1658 -1007
- package/shared/localization/locales/ar.json +1659 -1008
- package/shared/localization/locales/bg.json +1657 -1006
- package/shared/localization/locales/ca.json +1664 -1013
- package/shared/localization/locales/cs.json +1659 -1008
- package/shared/localization/locales/da.json +1658 -1007
- package/shared/localization/locales/de.json +1794 -1143
- package/shared/localization/locales/el.json +1657 -1006
- package/shared/localization/locales/en-GB.json +1658 -1007
- package/shared/localization/locales/en-US.json +1570 -1207
- package/shared/localization/locales/en-XA.json +1658 -1007
- package/shared/localization/locales/en-XL.json +1570 -1207
- package/shared/localization/locales/es-419.json +1660 -1009
- package/shared/localization/locales/es.json +1665 -1014
- package/shared/localization/locales/fi.json +1658 -1007
- package/shared/localization/locales/fil.json +1659 -1008
- package/shared/localization/locales/fr.json +1660 -1009
- package/shared/localization/locales/he.json +1678 -1027
- package/shared/localization/locales/hi.json +1661 -1010
- package/shared/localization/locales/hr.json +1658 -1007
- package/shared/localization/locales/hu.json +1657 -1006
- package/shared/localization/locales/id.json +1658 -1007
- package/shared/localization/locales/it.json +1678 -1027
- package/shared/localization/locales/ja.json +1657 -1006
- package/shared/localization/locales/ko.json +1658 -1007
- package/shared/localization/locales/lt.json +1658 -1007
- package/shared/localization/locales/lv.json +1658 -1007
- package/shared/localization/locales/nl.json +1659 -1008
- package/shared/localization/locales/no.json +1662 -1011
- package/shared/localization/locales/pl.json +1657 -1006
- package/shared/localization/locales/pt-PT.json +1678 -1027
- package/shared/localization/locales/pt.json +1659 -1008
- package/shared/localization/locales/ro.json +1657 -1006
- package/shared/localization/locales/ru.json +1657 -1006
- package/shared/localization/locales/sk.json +1657 -1006
- package/shared/localization/locales/sl.json +1657 -1006
- package/shared/localization/locales/sr-Latn.json +1658 -1007
- package/shared/localization/locales/sr.json +1658 -1007
- package/shared/localization/locales/sv.json +1664 -1013
- package/shared/localization/locales/ta.json +1658 -1007
- package/shared/localization/locales/te.json +1688 -1037
- package/shared/localization/locales/th.json +1666 -1015
- package/shared/localization/locales/tr.json +1658 -1007
- package/shared/localization/locales/uk.json +1657 -1006
- package/shared/localization/locales/vi.json +1659 -1008
- package/shared/localization/locales/zh-HK.json +1658 -1007
- package/shared/localization/locales/zh-TW.json +1661 -1010
- package/shared/localization/locales/zh.json +1658 -1007
- package/shared/localization/locales.d.ts +7 -0
- package/shared/localization/locales.js +54 -51
- package/shared/localization/swap-flow-locale.d.ts +6 -0
- package/shared/localization/swap-flow-locale.js +6 -3
- package/shared/localization/swap-locale.d.ts +39 -0
- package/shared/localization/swap-locale.js +7 -8
- package/shared/test/localization/format-test.js +73 -56
- package/shared/test/localization/locales-test.js +2 -4
- package/shared/test/localization/swap-locale-test.js +10 -11
- package/shared/test/util-test.js +214 -0
- package/shared/tsconfig.json +1 -2
- package/shared/type-verifiers.d.ts +23 -0
- package/shared/type-verifiers.js +1 -2
- package/shared/types/shared.d.ts +2 -2
- package/shared/util.d.ts +122 -0
- package/shared/util.js +332 -0
- package/third-party/axe/valid-langs.d.ts +9 -0
- package/third-party/axe/valid-langs.js +1 -1
- package/third-party/chromium-synchronization/inspector-issueAdded-types-test.js +5 -7
- package/third-party/chromium-synchronization/installability-errors-test.js +4 -8
- package/third-party/download-content-shell/README.md +1 -0
- package/third-party/download-content-shell/download-content-shell.js +12 -6
- package/third-party/download-content-shell/utils.js +8 -8
- package/tsconfig-base.json +6 -1
- package/tsconfig.json +84 -90
- package/types/artifacts.d.ts +135 -78
- package/types/audit.d.ts +9 -8
- package/types/config.d.ts +26 -38
- package/types/externs.d.ts +9 -101
- package/types/gatherer.d.ts +35 -27
- package/types/internal/cssstyle.d.ts +23 -0
- package/types/{enquirer.d.ts → internal/enquirer.d.ts} +0 -0
- package/types/{es-main.d.ts → internal/es-main.d.ts} +0 -0
- package/types/internal/global.d.ts +15 -0
- package/types/{http-link-header/index.d.ts → internal/http-link-header.d.ts} +0 -0
- package/types/{jsonlint-mod.d.ts → internal/jsonlint-mod.d.ts} +0 -0
- package/types/internal/lighthouse-logger.d.ts +34 -0
- package/types/internal/lookup-closest-locale.d.ts +13 -0
- package/types/{metaviewport-parser/index.d.ts → internal/metaviewport-parser.d.ts} +0 -0
- package/types/{node-fetch.d.ts → internal/node-fetch.d.ts} +0 -0
- package/types/internal/node.d.ts +44 -0
- package/types/{parse-cache-control/index.d.ts → internal/parse-cache-control.d.ts} +0 -0
- package/types/{pretty-json-stringify/index.d.ts → internal/pretty-json-stringify.d.ts} +0 -0
- package/types/internal/query-selector.d.ts +36 -0
- package/types/{rollup-plugin-postprocess.d.ts → internal/rollup-plugin-postprocess.d.ts} +0 -0
- package/types/internal/smokehouse.d.ts +83 -0
- package/types/internal/test.d.ts +53 -0
- package/types/lh.d.ts +81 -0
- package/types/lh.js +13 -0
- package/types/lhr/audit-details.d.ts +6 -53
- package/types/lhr/audit-result.d.ts +2 -2
- package/types/lhr/flow-result.d.ts +28 -0
- package/types/lhr/lhr.d.ts +53 -6
- package/types/lhr/settings.d.ts +18 -1
- package/types/lhr/treemap.d.ts +5 -4
- package/types/lhr/tsconfig.json +0 -2
- package/types/protocol.d.ts +32 -18
- package/types/puppeteer.d.ts +27 -0
- package/types/user-flow.d.ts +27 -6
- package/types/utility-types.d.ts +72 -0
- package/vercel.json +6 -0
- package/eslint-local-rules.js +0 -106
- package/flow-report/.eslintrc.cjs +0 -51
- package/flow-report/jest.config.js +0 -24
- package/flow-report/package.json +0 -4
- package/flow-report/test/setup/global-setup.ts +0 -11
- package/jest.config.js +0 -30
- package/lighthouse-cli/.eslintrc.cjs +0 -29
- package/lighthouse-cli/bin.js +0 -152
- package/lighthouse-cli/cli-flags.js +0 -530
- package/lighthouse-cli/commands/commands.js +0 -10
- package/lighthouse-cli/commands/list-audits.js +0 -16
- package/lighthouse-cli/commands/list-locales.js +0 -16
- package/lighthouse-cli/commands/list-trace-categories.js +0 -16
- package/lighthouse-cli/index.js +0 -14
- package/lighthouse-cli/package.json +0 -4
- package/lighthouse-cli/printer.js +0 -100
- package/lighthouse-cli/run.js +0 -286
- package/lighthouse-cli/sentry-prompt.js +0 -79
- package/lighthouse-cli/test/smokehouse/core-tests.js +0 -129
- package/lighthouse-cli/test/smokehouse/frontends/back-compat-util.js +0 -42
- package/lighthouse-cli/test/smokehouse/frontends/lib.js +0 -49
- package/lighthouse-cli/test/smokehouse/frontends/node.js +0 -13
- package/lighthouse-cli/test/smokehouse/frontends/smokehouse-bin.js +0 -262
- package/lighthouse-cli/test/smokehouse/lib/child-process-error.js +0 -26
- package/lighthouse-cli/test/smokehouse/lib/concurrent-mapper.js +0 -126
- package/lighthouse-cli/test/smokehouse/lib/local-console.js +0 -51
- package/lighthouse-cli/test/smokehouse/lighthouse-runners/bundle.js +0 -68
- package/lighthouse-cli/test/smokehouse/lighthouse-runners/cli.js +0 -151
- package/lighthouse-cli/test/smokehouse/lighthouse-runners/devtools.js +0 -106
- package/lighthouse-cli/test/smokehouse/readme.md +0 -204
- package/lighthouse-cli/test/smokehouse/report-assert.js +0 -493
- package/lighthouse-cli/test/smokehouse/smokehouse.js +0 -284
- package/lighthouse-cli/test/smokehouse/version-check-test.js +0 -46
- package/lighthouse-cli/test/smokehouse/version-check.js +0 -49
- package/lighthouse-core/audits/accessibility/accesskeys.js +0 -45
- package/lighthouse-core/audits/accessibility/aria-allowed-attr.js +0 -45
- package/lighthouse-core/audits/accessibility/aria-command-name.js +0 -43
- package/lighthouse-core/audits/accessibility/aria-hidden-body.js +0 -43
- package/lighthouse-core/audits/accessibility/aria-hidden-focus.js +0 -43
- package/lighthouse-core/audits/accessibility/aria-input-field-name.js +0 -43
- package/lighthouse-core/audits/accessibility/aria-meter-name.js +0 -43
- package/lighthouse-core/audits/accessibility/aria-progressbar-name.js +0 -43
- package/lighthouse-core/audits/accessibility/aria-required-attr.js +0 -44
- package/lighthouse-core/audits/accessibility/aria-required-children.js +0 -48
- package/lighthouse-core/audits/accessibility/aria-required-parent.js +0 -46
- package/lighthouse-core/audits/accessibility/aria-roles.js +0 -45
- package/lighthouse-core/audits/accessibility/aria-toggle-field-name.js +0 -43
- package/lighthouse-core/audits/accessibility/aria-tooltip-name.js +0 -43
- package/lighthouse-core/audits/accessibility/aria-treeitem-name.js +0 -43
- package/lighthouse-core/audits/accessibility/aria-valid-attr-value.js +0 -45
- package/lighthouse-core/audits/accessibility/aria-valid-attr.js +0 -45
- package/lighthouse-core/audits/accessibility/axe-audit.js +0 -114
- package/lighthouse-core/audits/accessibility/button-name.js +0 -45
- package/lighthouse-core/audits/accessibility/bypass.js +0 -46
- package/lighthouse-core/audits/accessibility/color-contrast.js +0 -46
- package/lighthouse-core/audits/accessibility/definition-list.js +0 -47
- package/lighthouse-core/audits/accessibility/dlitem.js +0 -45
- package/lighthouse-core/audits/accessibility/document-title.js +0 -45
- package/lighthouse-core/audits/accessibility/duplicate-id-active.js +0 -43
- package/lighthouse-core/audits/accessibility/duplicate-id-aria.js +0 -43
- package/lighthouse-core/audits/accessibility/form-field-multiple-labels.js +0 -44
- package/lighthouse-core/audits/accessibility/frame-title.js +0 -44
- package/lighthouse-core/audits/accessibility/heading-order.js +0 -43
- package/lighthouse-core/audits/accessibility/html-has-lang.js +0 -47
- package/lighthouse-core/audits/accessibility/html-lang-valid.js +0 -46
- package/lighthouse-core/audits/accessibility/image-alt.js +0 -45
- package/lighthouse-core/audits/accessibility/input-image-alt.js +0 -45
- package/lighthouse-core/audits/accessibility/label.js +0 -45
- package/lighthouse-core/audits/accessibility/link-name.js +0 -46
- package/lighthouse-core/audits/accessibility/list.js +0 -47
- package/lighthouse-core/audits/accessibility/listitem.js +0 -46
- package/lighthouse-core/audits/accessibility/manual/custom-controls-labels.js +0 -28
- package/lighthouse-core/audits/accessibility/manual/custom-controls-roles.js +0 -28
- package/lighthouse-core/audits/accessibility/manual/focus-traps.js +0 -28
- package/lighthouse-core/audits/accessibility/manual/focusable-controls.js +0 -28
- package/lighthouse-core/audits/accessibility/manual/interactive-element-affordance.js +0 -28
- package/lighthouse-core/audits/accessibility/manual/logical-tab-order.js +0 -28
- package/lighthouse-core/audits/accessibility/manual/managed-focus.js +0 -28
- package/lighthouse-core/audits/accessibility/manual/offscreen-content-hidden.js +0 -29
- package/lighthouse-core/audits/accessibility/manual/use-landmarks.js +0 -28
- package/lighthouse-core/audits/accessibility/manual/visual-order-follows-dom.js +0 -28
- package/lighthouse-core/audits/accessibility/meta-refresh.js +0 -46
- package/lighthouse-core/audits/accessibility/meta-viewport.js +0 -47
- package/lighthouse-core/audits/accessibility/object-alt.js +0 -45
- package/lighthouse-core/audits/accessibility/tabindex.js +0 -45
- package/lighthouse-core/audits/accessibility/td-headers-attr.js +0 -49
- package/lighthouse-core/audits/accessibility/th-has-data-cells.js +0 -48
- package/lighthouse-core/audits/accessibility/valid-lang.js +0 -45
- package/lighthouse-core/audits/accessibility/video-caption.js +0 -46
- package/lighthouse-core/audits/apple-touch-icon.js +0 -72
- package/lighthouse-core/audits/audit.js +0 -391
- package/lighthouse-core/audits/autocomplete.js +0 -290
- package/lighthouse-core/audits/bootup-time.js +0 -152
- package/lighthouse-core/audits/byte-efficiency/byte-efficiency-audit.js +0 -258
- package/lighthouse-core/audits/byte-efficiency/duplicated-javascript.js +0 -249
- package/lighthouse-core/audits/byte-efficiency/efficient-animated-content.js +0 -92
- package/lighthouse-core/audits/byte-efficiency/legacy-javascript.js +0 -472
- package/lighthouse-core/audits/byte-efficiency/modern-image-formats.js +0 -186
- package/lighthouse-core/audits/byte-efficiency/offscreen-images.js +0 -252
- package/lighthouse-core/audits/byte-efficiency/render-blocking-resources.js +0 -309
- package/lighthouse-core/audits/byte-efficiency/total-byte-weight.js +0 -111
- package/lighthouse-core/audits/byte-efficiency/unminified-css.js +0 -117
- package/lighthouse-core/audits/byte-efficiency/unminified-javascript.js +0 -120
- package/lighthouse-core/audits/byte-efficiency/unused-css-rules.js +0 -71
- package/lighthouse-core/audits/byte-efficiency/unused-javascript.js +0 -161
- package/lighthouse-core/audits/byte-efficiency/uses-long-cache-ttl.js +0 -298
- package/lighthouse-core/audits/byte-efficiency/uses-optimized-images.js +0 -145
- package/lighthouse-core/audits/byte-efficiency/uses-responsive-images-snapshot.js +0 -100
- package/lighthouse-core/audits/byte-efficiency/uses-responsive-images.js +0 -177
- package/lighthouse-core/audits/byte-efficiency/uses-text-compression.js +0 -100
- package/lighthouse-core/audits/content-width.js +0 -77
- package/lighthouse-core/audits/critical-request-chains.js +0 -220
- package/lighthouse-core/audits/csp-xss.js +0 -186
- package/lighthouse-core/audits/deprecations.js +0 -684
- package/lighthouse-core/audits/diagnostics.js +0 -79
- package/lighthouse-core/audits/dobetterweb/charset.js +0 -96
- package/lighthouse-core/audits/dobetterweb/doctype.js +0 -94
- package/lighthouse-core/audits/dobetterweb/dom-size.js +0 -123
- package/lighthouse-core/audits/dobetterweb/geolocation-on-start.js +0 -70
- package/lighthouse-core/audits/dobetterweb/inspector-issues.js +0 -192
- package/lighthouse-core/audits/dobetterweb/js-libraries.js +0 -88
- package/lighthouse-core/audits/dobetterweb/no-document-write.js +0 -85
- package/lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js +0 -225
- package/lighthouse-core/audits/dobetterweb/notification-on-start.js +0 -69
- package/lighthouse-core/audits/dobetterweb/password-inputs-can-be-pasted-into.js +0 -66
- package/lighthouse-core/audits/dobetterweb/uses-http2.js +0 -258
- package/lighthouse-core/audits/dobetterweb/uses-passive-event-listeners.js +0 -68
- package/lighthouse-core/audits/errors-in-console.js +0 -118
- package/lighthouse-core/audits/final-screenshot.js +0 -59
- package/lighthouse-core/audits/font-display.js +0 -193
- package/lighthouse-core/audits/full-page-screenshot.js +0 -43
- package/lighthouse-core/audits/image-aspect-ratio.js +0 -122
- package/lighthouse-core/audits/image-size-responsive.js +0 -331
- package/lighthouse-core/audits/installable-manifest.js +0 -266
- package/lighthouse-core/audits/is-on-https.js +0 -125
- package/lighthouse-core/audits/largest-contentful-paint-element.js +0 -70
- package/lighthouse-core/audits/layout-shift-elements.js +0 -75
- package/lighthouse-core/audits/lcp-lazy-loaded.js +0 -85
- package/lighthouse-core/audits/long-tasks.js +0 -124
- package/lighthouse-core/audits/main-thread-tasks.js +0 -59
- package/lighthouse-core/audits/mainthread-work-breakdown.js +0 -134
- package/lighthouse-core/audits/manual/manual-audit.js +0 -37
- package/lighthouse-core/audits/manual/pwa-cross-browser.js +0 -41
- package/lighthouse-core/audits/manual/pwa-each-page-has-url.js +0 -39
- package/lighthouse-core/audits/manual/pwa-page-transitions.js +0 -39
- package/lighthouse-core/audits/maskable-icon.js +0 -71
- package/lighthouse-core/audits/metrics/cumulative-layout-shift.js +0 -79
- package/lighthouse-core/audits/metrics/experimental-interaction-to-next-paint.js +0 -88
- package/lighthouse-core/audits/metrics/first-contentful-paint-3g.js +0 -67
- package/lighthouse-core/audits/metrics/first-contentful-paint.js +0 -85
- package/lighthouse-core/audits/metrics/first-meaningful-paint.js +0 -89
- package/lighthouse-core/audits/metrics/interactive.js +0 -93
- package/lighthouse-core/audits/metrics/largest-contentful-paint.js +0 -114
- package/lighthouse-core/audits/metrics/max-potential-fid.js +0 -76
- package/lighthouse-core/audits/metrics/speed-index.js +0 -88
- package/lighthouse-core/audits/metrics/total-blocking-time.js +0 -117
- package/lighthouse-core/audits/metrics.js +0 -73
- package/lighthouse-core/audits/multi-check-audit.js +0 -83
- package/lighthouse-core/audits/network-requests.js +0 -129
- package/lighthouse-core/audits/network-rtt.js +0 -90
- package/lighthouse-core/audits/network-server-latency.js +0 -89
- package/lighthouse-core/audits/no-unload-listeners.js +0 -95
- package/lighthouse-core/audits/non-composited-animations.js +0 -206
- package/lighthouse-core/audits/oopif-iframe-test-audit.js +0 -30
- package/lighthouse-core/audits/performance-budget.js +0 -154
- package/lighthouse-core/audits/predictive-perf.js +0 -101
- package/lighthouse-core/audits/preload-fonts.js +0 -107
- package/lighthouse-core/audits/preload-lcp-image.js +0 -272
- package/lighthouse-core/audits/redirects.js +0 -163
- package/lighthouse-core/audits/resource-summary.js +0 -104
- package/lighthouse-core/audits/screenshot-thumbnails.js +0 -163
- package/lighthouse-core/audits/script-treemap-data.js +0 -288
- package/lighthouse-core/audits/seo/canonical.js +0 -218
- package/lighthouse-core/audits/seo/crawlable-anchors.js +0 -94
- package/lighthouse-core/audits/seo/font-size.js +0 -344
- package/lighthouse-core/audits/seo/hreflang.js +0 -149
- package/lighthouse-core/audits/seo/http-status-code.js +0 -70
- package/lighthouse-core/audits/seo/is-crawlable.js +0 -155
- package/lighthouse-core/audits/seo/link-text.js +0 -158
- package/lighthouse-core/audits/seo/manual/structured-data.js +0 -38
- package/lighthouse-core/audits/seo/meta-description.js +0 -67
- package/lighthouse-core/audits/seo/plugins.js +0 -152
- package/lighthouse-core/audits/seo/robots-txt.js +0 -256
- package/lighthouse-core/audits/seo/tap-targets.js +0 -352
- package/lighthouse-core/audits/server-response-time.js +0 -106
- package/lighthouse-core/audits/service-worker.js +0 -179
- package/lighthouse-core/audits/splash-screen.js +0 -99
- package/lighthouse-core/audits/themed-omnibox.js +0 -110
- package/lighthouse-core/audits/third-party-facades.js +0 -221
- package/lighthouse-core/audits/third-party-summary.js +0 -259
- package/lighthouse-core/audits/timing-budget.js +0 -174
- package/lighthouse-core/audits/unsized-images.js +0 -163
- package/lighthouse-core/audits/user-timings.js +0 -120
- package/lighthouse-core/audits/uses-rel-preconnect.js +0 -254
- package/lighthouse-core/audits/uses-rel-preload.js +0 -267
- package/lighthouse-core/audits/valid-source-maps.js +0 -157
- package/lighthouse-core/audits/viewport.js +0 -65
- package/lighthouse-core/audits/violation-audit.js +0 -50
- package/lighthouse-core/audits/work-during-interaction.js +0 -280
- package/lighthouse-core/computed/computed-artifact.js +0 -62
- package/lighthouse-core/computed/critical-request-chains.js +0 -146
- package/lighthouse-core/computed/image-records.js +0 -63
- package/lighthouse-core/computed/js-bundles.js +0 -119
- package/lighthouse-core/computed/load-simulator.js +0 -92
- package/lighthouse-core/computed/main-resource.js +0 -34
- package/lighthouse-core/computed/main-thread-tasks.js +0 -25
- package/lighthouse-core/computed/manifest-values.js +0 -135
- package/lighthouse-core/computed/metrics/cumulative-layout-shift.js +0 -129
- package/lighthouse-core/computed/metrics/first-contentful-paint-all-frames.js +0 -37
- package/lighthouse-core/computed/metrics/first-contentful-paint.js +0 -40
- package/lighthouse-core/computed/metrics/first-meaningful-paint.js +0 -44
- package/lighthouse-core/computed/metrics/interactive.js +0 -193
- package/lighthouse-core/computed/metrics/lantern-first-contentful-paint.js +0 -204
- package/lighthouse-core/computed/metrics/lantern-first-meaningful-paint.js +0 -83
- package/lighthouse-core/computed/metrics/lantern-interactive.js +0 -113
- package/lighthouse-core/computed/metrics/lantern-largest-contentful-paint.js +0 -111
- package/lighthouse-core/computed/metrics/lantern-max-potential-fid.js +0 -93
- package/lighthouse-core/computed/metrics/lantern-metric.js +0 -167
- package/lighthouse-core/computed/metrics/lantern-speed-index.js +0 -150
- package/lighthouse-core/computed/metrics/lantern-total-blocking-time.js +0 -126
- package/lighthouse-core/computed/metrics/largest-contentful-paint-all-frames.js +0 -45
- package/lighthouse-core/computed/metrics/largest-contentful-paint.js +0 -52
- package/lighthouse-core/computed/metrics/max-potential-fid.js +0 -45
- package/lighthouse-core/computed/metrics/metric.js +0 -100
- package/lighthouse-core/computed/metrics/navigation-metric.js +0 -46
- package/lighthouse-core/computed/metrics/responsiveness.js +0 -157
- package/lighthouse-core/computed/metrics/speed-index.js +0 -40
- package/lighthouse-core/computed/metrics/tbt-utils.js +0 -57
- package/lighthouse-core/computed/metrics/timing-summary.js +0 -150
- package/lighthouse-core/computed/metrics/total-blocking-time.js +0 -74
- package/lighthouse-core/computed/module-duplication.js +0 -136
- package/lighthouse-core/computed/network-analysis.js +0 -64
- package/lighthouse-core/computed/network-records.js +0 -21
- package/lighthouse-core/computed/page-dependency-graph.js +0 -488
- package/lighthouse-core/computed/processed-navigation.js +0 -21
- package/lighthouse-core/computed/processed-trace.js +0 -21
- package/lighthouse-core/computed/resource-summary.js +0 -114
- package/lighthouse-core/computed/screenshots.js +0 -29
- package/lighthouse-core/computed/speedline.js +0 -54
- package/lighthouse-core/computed/trace-of-tab.js +0 -30
- package/lighthouse-core/computed/unused-css.js +0 -154
- package/lighthouse-core/computed/unused-javascript-summary.js +0 -175
- package/lighthouse-core/computed/user-timings.js +0 -83
- package/lighthouse-core/computed/viewport-meta.js +0 -56
- package/lighthouse-core/config/budget.js +0 -341
- package/lighthouse-core/config/config-helpers.js +0 -590
- package/lighthouse-core/config/config-plugin.js +0 -225
- package/lighthouse-core/config/config.js +0 -544
- package/lighthouse-core/config/constants.js +0 -169
- package/lighthouse-core/config/default-config.js +0 -632
- package/lighthouse-core/config/desktop-config.js +0 -21
- package/lighthouse-core/config/experimental-config.js +0 -30
- package/lighthouse-core/config/full-config.js +0 -14
- package/lighthouse-core/config/lr-desktop-config.js +0 -25
- package/lighthouse-core/config/lr-mobile-config.js +0 -31
- package/lighthouse-core/config/metrics-to-audits.js +0 -61
- package/lighthouse-core/config/perf-config.js +0 -17
- package/lighthouse-core/fraggle-rock/api.js +0 -77
- package/lighthouse-core/fraggle-rock/config/config.js +0 -281
- package/lighthouse-core/fraggle-rock/config/default-config.js +0 -205
- package/lighthouse-core/fraggle-rock/config/filters.js +0 -335
- package/lighthouse-core/fraggle-rock/config/validation.js +0 -313
- package/lighthouse-core/fraggle-rock/gather/base-artifacts.js +0 -99
- package/lighthouse-core/fraggle-rock/gather/base-gatherer.js +0 -107
- package/lighthouse-core/fraggle-rock/gather/driver.js +0 -88
- package/lighthouse-core/fraggle-rock/gather/navigation-runner.js +0 -339
- package/lighthouse-core/fraggle-rock/gather/runner-helpers.js +0 -160
- package/lighthouse-core/fraggle-rock/gather/session.js +0 -182
- package/lighthouse-core/fraggle-rock/gather/snapshot-runner.js +0 -68
- package/lighthouse-core/fraggle-rock/gather/timespan-runner.js +0 -82
- package/lighthouse-core/fraggle-rock/user-flow.js +0 -229
- package/lighthouse-core/gather/connections/connection.js +0 -179
- package/lighthouse-core/gather/connections/cri.js +0 -171
- package/lighthouse-core/gather/connections/raw.js +0 -58
- package/lighthouse-core/gather/devtools-log.js +0 -61
- package/lighthouse-core/gather/driver/dom.js +0 -58
- package/lighthouse-core/gather/driver/environment.js +0 -105
- package/lighthouse-core/gather/driver/execution-context.js +0 -249
- package/lighthouse-core/gather/driver/navigation.js +0 -179
- package/lighthouse-core/gather/driver/network-monitor.js +0 -290
- package/lighthouse-core/gather/driver/network.js +0 -28
- package/lighthouse-core/gather/driver/prepare.js +0 -226
- package/lighthouse-core/gather/driver/service-workers.js +0 -53
- package/lighthouse-core/gather/driver/storage.js +0 -125
- package/lighthouse-core/gather/driver/target-manager.js +0 -125
- package/lighthouse-core/gather/driver/wait-for-condition.js +0 -535
- package/lighthouse-core/gather/driver.js +0 -482
- package/lighthouse-core/gather/fetcher.js +0 -318
- package/lighthouse-core/gather/gather-runner.js +0 -622
- package/lighthouse-core/gather/gatherers/accessibility.js +0 -172
- package/lighthouse-core/gather/gatherers/anchor-elements.js +0 -133
- package/lighthouse-core/gather/gatherers/cache-contents.js +0 -59
- package/lighthouse-core/gather/gatherers/console-messages.js +0 -173
- package/lighthouse-core/gather/gatherers/css-usage.js +0 -149
- package/lighthouse-core/gather/gatherers/devtools-log-compat.js +0 -36
- package/lighthouse-core/gather/gatherers/devtools-log.js +0 -66
- package/lighthouse-core/gather/gatherers/dobetterweb/doctype.js +0 -46
- package/lighthouse-core/gather/gatherers/dobetterweb/domstats.js +0 -103
- package/lighthouse-core/gather/gatherers/dobetterweb/optimized-images.js +0 -192
- package/lighthouse-core/gather/gatherers/dobetterweb/password-inputs-with-prevented-paste.js +0 -50
- package/lighthouse-core/gather/gatherers/dobetterweb/response-compression.js +0 -154
- package/lighthouse-core/gather/gatherers/dobetterweb/tags-blocking-first-paint.js +0 -238
- package/lighthouse-core/gather/gatherers/full-page-screenshot.js +0 -235
- package/lighthouse-core/gather/gatherers/gatherer.js +0 -59
- package/lighthouse-core/gather/gatherers/global-listeners.js +0 -92
- package/lighthouse-core/gather/gatherers/iframe-elements.js +0 -65
- package/lighthouse-core/gather/gatherers/image-elements.js +0 -375
- package/lighthouse-core/gather/gatherers/inputs.js +0 -113
- package/lighthouse-core/gather/gatherers/inspector-issues.js +0 -127
- package/lighthouse-core/gather/gatherers/installability-errors.js +0 -48
- package/lighthouse-core/gather/gatherers/js-usage.js +0 -145
- package/lighthouse-core/gather/gatherers/link-elements.js +0 -184
- package/lighthouse-core/gather/gatherers/main-document-content.js +0 -56
- package/lighthouse-core/gather/gatherers/meta-elements.js +0 -68
- package/lighthouse-core/gather/gatherers/network-user-agent.js +0 -42
- package/lighthouse-core/gather/gatherers/script-elements.js +0 -160
- package/lighthouse-core/gather/gatherers/seo/embedded-content.js +0 -64
- package/lighthouse-core/gather/gatherers/seo/font-size.js +0 -380
- package/lighthouse-core/gather/gatherers/seo/robots-txt.js +0 -56
- package/lighthouse-core/gather/gatherers/seo/tap-targets.js +0 -370
- package/lighthouse-core/gather/gatherers/service-worker.js +0 -45
- package/lighthouse-core/gather/gatherers/source-maps.js +0 -150
- package/lighthouse-core/gather/gatherers/stacks.js +0 -125
- package/lighthouse-core/gather/gatherers/trace-compat.js +0 -36
- package/lighthouse-core/gather/gatherers/trace-elements.js +0 -349
- package/lighthouse-core/gather/gatherers/trace.js +0 -131
- package/lighthouse-core/gather/gatherers/viewport-dimensions.js +0 -58
- package/lighthouse-core/gather/gatherers/web-app-manifest.js +0 -102
- package/lighthouse-core/index.js +0 -80
- package/lighthouse-core/lib/arbitrary-equality-map.js +0 -81
- package/lighthouse-core/lib/asset-saver.js +0 -341
- package/lighthouse-core/lib/axe.js +0 -13
- package/lighthouse-core/lib/cdt/Platform.js +0 -55
- package/lighthouse-core/lib/cdt/SDK.js +0 -28
- package/lighthouse-core/lib/cdt/generated/SourceMap.js +0 -346
- package/lighthouse-core/lib/csp-evaluator.js +0 -173
- package/lighthouse-core/lib/dependency-graph/base-node.js +0 -363
- package/lighthouse-core/lib/dependency-graph/cpu-node.js +0 -86
- package/lighthouse-core/lib/dependency-graph/network-node.js +0 -99
- package/lighthouse-core/lib/dependency-graph/simulator/connection-pool.js +0 -171
- package/lighthouse-core/lib/dependency-graph/simulator/dns-cache.js +0 -73
- package/lighthouse-core/lib/dependency-graph/simulator/network-analyzer.js +0 -498
- package/lighthouse-core/lib/dependency-graph/simulator/simulator-timing-map.js +0 -212
- package/lighthouse-core/lib/dependency-graph/simulator/simulator.js +0 -523
- package/lighthouse-core/lib/dependency-graph/simulator/tcp-connection.js +0 -206
- package/lighthouse-core/lib/emulation.js +0 -164
- package/lighthouse-core/lib/i18n/README.md +0 -273
- package/lighthouse-core/lib/i18n/i18n.js +0 -221
- package/lighthouse-core/lib/icons.js +0 -85
- package/lighthouse-core/lib/lantern-trace-saver.js +0 -198
- package/lighthouse-core/lib/lh-env.js +0 -14
- package/lighthouse-core/lib/lh-error.js +0 -421
- package/lighthouse-core/lib/lh-trace-processor.js +0 -46
- package/lighthouse-core/lib/manifest-parser.js +0 -513
- package/lighthouse-core/lib/median-run.js +0 -92
- package/lighthouse-core/lib/minification-estimator.js +0 -193
- package/lighthouse-core/lib/minify-devtoolslog.js +0 -87
- package/lighthouse-core/lib/minify-trace.js +0 -173
- package/lighthouse-core/lib/navigation-error.js +0 -145
- package/lighthouse-core/lib/network-recorder.js +0 -337
- package/lighthouse-core/lib/network-request.js +0 -540
- package/lighthouse-core/lib/page-functions.js +0 -559
- package/lighthouse-core/lib/proto-preprocessor.js +0 -133
- package/lighthouse-core/lib/rect-helpers.js +0 -252
- package/lighthouse-core/lib/script-helpers.js +0 -24
- package/lighthouse-core/lib/sentry.js +0 -144
- package/lighthouse-core/lib/stack-packs.js +0 -120
- package/lighthouse-core/lib/statistics.js +0 -104
- package/lighthouse-core/lib/tappable-rects.js +0 -99
- package/lighthouse-core/lib/third-party-web.js +0 -53
- package/lighthouse-core/lib/timing-trace-saver.js +0 -97
- package/lighthouse-core/lib/tracehouse/cpu-profile-model.js +0 -592
- package/lighthouse-core/lib/tracehouse/main-thread-tasks.js +0 -688
- package/lighthouse-core/lib/tracehouse/task-groups.js +0 -112
- package/lighthouse-core/lib/tracehouse/task-summary.js +0 -87
- package/lighthouse-core/lib/tracehouse/trace-processor.js +0 -962
- package/lighthouse-core/lib/traces/pwmetrics-events.js +0 -200
- package/lighthouse-core/lib/url-shim.js +0 -274
- package/lighthouse-core/runner.js +0 -518
- package/lighthouse-core/scoring.js +0 -93
- package/lighthouse-core/scripts/download-chrome.sh +0 -36
- package/lighthouse-core/scripts/manual-chrome-launcher.js +0 -51
- package/lighthouse-core/scripts/package.json +0 -4
- package/lighthouse-core/util-commonjs.js +0 -708
- package/now.json +0 -14
- package/report/.eslintrc.cjs +0 -35
- package/report/generator/package.json +0 -4
- package/report/package.json +0 -4
- package/report/renderer/i18n.js +0 -198
- package/report/renderer/util.js +0 -705
- package/report/test/generator/package.json +0 -4
- package/report/test/renderer/i18n-test.js +0 -140
- package/report/test/renderer/util-test.js +0 -479
- package/report/test-assets/faux-psi-template.html +0 -177
- package/report/test-assets/faux-psi.js +0 -153
- package/third-party/snyk/snapshot.json +0 -182
- package/types/cssstyle/index.d.ts +0 -23
- package/types/global-lh.d.ts +0 -81
- package/types/jest.d.ts +0 -25
- package/types/jsonld/index.d.ts +0 -19
- package/types/lhr/flow.d.ts +0 -32
- package/types/lighthouse-logger/index.d.ts +0 -33
- package/types/lookup-closest-locale/index.d.ts +0 -11
- package/types/node.d.ts +0 -12
- package/types/query-selector.d.ts +0 -36
- package/types/smokehouse.d.ts +0 -80
- package/types/structured-data.d.ts +0 -36
package/package.json
CHANGED
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lighthouse",
|
|
3
|
-
"
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "10.0.0",
|
|
4
5
|
"description": "Automated auditing, performance metrics, and best practices for the web.",
|
|
5
|
-
"main": "./
|
|
6
|
+
"main": "./core/index.js",
|
|
6
7
|
"bin": {
|
|
7
|
-
"lighthouse": "./
|
|
8
|
-
"chrome-debug": "./
|
|
9
|
-
"smokehouse": "./
|
|
8
|
+
"lighthouse": "./cli/index.js",
|
|
9
|
+
"chrome-debug": "./core/scripts/manual-chrome-launcher.js",
|
|
10
|
+
"smokehouse": "./cli/test/smokehouse/frontends/smokehouse-bin.js"
|
|
10
11
|
},
|
|
11
12
|
"engines": {
|
|
12
|
-
"node": ">=
|
|
13
|
+
"node": ">=16.16"
|
|
13
14
|
},
|
|
14
15
|
"scripts": {
|
|
15
|
-
"prepack": "yarn build-report --standalone --flow --esm",
|
|
16
|
+
"prepack": "yarn build-report --standalone --flow --esm && yarn build-types",
|
|
17
|
+
"postpack": "yarn clean-types",
|
|
16
18
|
"build-all": "npm-run-posix-or-windows build-all:task",
|
|
17
19
|
"build-all:task": "yarn build-report && yarn build-cdt-lib && yarn build-devtools && concurrently 'yarn build-extension' 'yarn build-lr' 'yarn build-viewer' 'yarn build-treemap' 'yarn build-smokehouse-bundle' && yarn build-pack",
|
|
18
20
|
"build-all:task:windows": "yarn build-report && yarn build-cdt-lib && yarn build-extension && yarn build-devtools && yarn build-lr && yarn build-viewer && yarn build-treemap && yarn build-smokehouse-bundle",
|
|
@@ -24,35 +26,37 @@
|
|
|
24
26
|
"build-smokehouse-bundle": "node ./build/build-smokehouse-bundle.js",
|
|
25
27
|
"build-lr": "yarn reset-link && node ./build/build-lightrider-bundles.js",
|
|
26
28
|
"build-pack": "bash build/build-pack.sh",
|
|
27
|
-
"build-report": "node build/build-report-components.js &&
|
|
29
|
+
"build-report": "node build/build-report-components.js && node build/build-report.js",
|
|
28
30
|
"build-sample-reports": "yarn build-report && node build/build-sample-reports.js",
|
|
29
31
|
"build-treemap": "node ./build/build-treemap.js",
|
|
30
32
|
"build-viewer": "node ./build/build-viewer.js",
|
|
33
|
+
"build-types": "yarn type-check && rsync -a .tmp/tsbuildinfo/ ./ --include='*.d.ts' --include='*.d.cts' --exclude='*.map' --exclude='*.tsbuildinfo'",
|
|
31
34
|
"reset-link": "(yarn unlink || true) && yarn link && yarn link lighthouse",
|
|
32
|
-
"c8": "bash
|
|
35
|
+
"c8": "bash core/scripts/c8.sh",
|
|
33
36
|
"clean": "rm -r dist proto/scripts/*.json proto/scripts/*_pb2.* proto/scripts/*_pb.* proto/scripts/__pycache__ proto/scripts/*.pyc *.report.html *.report.dom.html *.report.json *.devtoolslog.json *.trace.json shared/localization/locales/*.ctc.json || true",
|
|
37
|
+
"clean-types": "git clean -xfq '*.d.ts' '*.d.cts' -e 'node_modules/' -e 'dist/' -e '.tmp/' -e '**/types/'",
|
|
34
38
|
"lint": "[ \"$CI\" = true ] && eslint --quiet -f codeframe . || eslint .",
|
|
35
|
-
"smoke": "node
|
|
36
|
-
"debug": "node --inspect-brk ./
|
|
37
|
-
"start": "yarn build-report --standalone && node ./
|
|
38
|
-
"
|
|
39
|
+
"smoke": "node cli/test/smokehouse/frontends/smokehouse-bin.js",
|
|
40
|
+
"debug": "node --inspect-brk ./cli/index.js",
|
|
41
|
+
"start": "yarn build-report --standalone && node ./cli/index.js",
|
|
42
|
+
"mocha": "node --loader=testdouble core/test/scripts/run-mocha-tests.js",
|
|
39
43
|
"test": "yarn diff:sample-json && yarn lint --quiet && yarn unit && yarn type-check",
|
|
40
|
-
"test-bundle": "yarn smoke --runner bundle
|
|
41
|
-
"test-clients": "yarn
|
|
42
|
-
"test-viewer": "yarn unit-viewer && yarn
|
|
43
|
-
"test-treemap": "yarn unit-treemap && yarn
|
|
44
|
-
"test-lantern": "bash
|
|
45
|
-
"test-legacy-javascript": "bash
|
|
44
|
+
"test-bundle": "yarn smoke --runner bundle --retries=2",
|
|
45
|
+
"test-clients": "yarn mocha --testMatch clients/**/*-test.js && yarn mocha --testMatch clients/**/*-test-pptr.js",
|
|
46
|
+
"test-viewer": "yarn unit-viewer && yarn mocha --testMatch viewer/**/*-test-pptr.js --timeout 35000",
|
|
47
|
+
"test-treemap": "yarn unit-treemap && yarn mocha --testMatch treemap/**/*-test-pptr.js --timeout 35000",
|
|
48
|
+
"test-lantern": "bash core/scripts/test-lantern.sh",
|
|
49
|
+
"test-legacy-javascript": "bash core/scripts/test-legacy-javascript.sh",
|
|
46
50
|
"test-docs": "yarn --cwd docs/recipes/ test",
|
|
47
51
|
"test-proto": "yarn compile-proto && yarn build-proto-roundtrip",
|
|
48
|
-
"unit-core": "yarn
|
|
49
|
-
"unit-cli": "yarn
|
|
50
|
-
"unit-report": "yarn
|
|
51
|
-
"unit-treemap": "yarn
|
|
52
|
-
"unit-viewer": "yarn
|
|
53
|
-
"unit-flow": "
|
|
54
|
-
"unit": "yarn
|
|
55
|
-
"unit:ci": "NODE_OPTIONS=--max-old-space-size=8192 npm run
|
|
52
|
+
"unit-core": "yarn mocha core",
|
|
53
|
+
"unit-cli": "yarn mocha --testMatch cli/**/*-test.js",
|
|
54
|
+
"unit-report": "yarn mocha --testMatch report/**/*-test.js",
|
|
55
|
+
"unit-treemap": "yarn mocha --testMatch treemap/**/*-test.js",
|
|
56
|
+
"unit-viewer": "yarn mocha --testMatch viewer/**/*-test.js",
|
|
57
|
+
"unit-flow": "bash flow-report/test/run-flow-report-tests.sh",
|
|
58
|
+
"unit": "yarn unit-flow && yarn mocha",
|
|
59
|
+
"unit:ci": "NODE_OPTIONS=--max-old-space-size=8192 npm run unit --forbid-only",
|
|
56
60
|
"core-unit": "yarn unit-core",
|
|
57
61
|
"cli-unit": "yarn unit-cli",
|
|
58
62
|
"viewer-unit": "yarn unit-viewer",
|
|
@@ -60,42 +64,42 @@
|
|
|
60
64
|
"unit:cicoverage": "yarn c8 --all yarn unit:ci",
|
|
61
65
|
"coverage": "yarn unit:cicoverage && c8 report --reporter html",
|
|
62
66
|
"coverage:smoke": "yarn c8 yarn smoke -j=1 && c8 report --reporter html",
|
|
63
|
-
"devtools": "bash
|
|
64
|
-
"chrome": "node
|
|
65
|
-
"fast": "node ./
|
|
67
|
+
"devtools": "bash core/scripts/roll-to-devtools.sh",
|
|
68
|
+
"chrome": "node core/scripts/manual-chrome-launcher.js",
|
|
69
|
+
"fast": "node ./cli/index.js --preset=desktop --throttlingMethod=provided",
|
|
66
70
|
"deploy-treemap": "yarn build-treemap --deploy",
|
|
67
71
|
"deploy-viewer": "yarn build-viewer --deploy",
|
|
68
72
|
"vercel-build": "yarn build-sample-reports && yarn build-viewer && yarn build-treemap",
|
|
69
|
-
"dogfood-lhci": "./
|
|
70
|
-
"timing-trace": "node
|
|
71
|
-
"changelog": "conventional-changelog --config ./build/changelog-generator/index.
|
|
73
|
+
"dogfood-lhci": "./core/scripts/dogfood-lhci.sh",
|
|
74
|
+
"timing-trace": "node core/scripts/generate-timing-trace.js",
|
|
75
|
+
"changelog": "conventional-changelog --config ./build/changelog-generator/index.cjs --infile changelog.md --same-file",
|
|
72
76
|
"type-check": "tsc --build ./tsconfig-all.json",
|
|
73
|
-
"i18n:checks": "./
|
|
74
|
-
"i18n:collect-strings": "node
|
|
75
|
-
"update:lantern-baseline": "node
|
|
76
|
-
"update:sample-artifacts": "node
|
|
77
|
-
"update:sample-json": "yarn i18n:collect-strings && node ./
|
|
78
|
-
"update:flow-sample-json": "node ./
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
"
|
|
90
|
-
"
|
|
91
|
-
"serve-dist": "cd dist && python -m SimpleHTTPServer",
|
|
92
|
-
"serve-gh-pages": "cd dist/gh-pages && python -m SimpleHTTPServer",
|
|
77
|
+
"i18n:checks": "./core/scripts/i18n/assert-strings-collected.sh",
|
|
78
|
+
"i18n:collect-strings": "node core/scripts/i18n/collect-strings.js",
|
|
79
|
+
"update:lantern-baseline": "node core/scripts/lantern/update-baseline-lantern-values.js",
|
|
80
|
+
"update:sample-artifacts": "node core/scripts/update-report-fixtures.js",
|
|
81
|
+
"update:sample-json": "yarn i18n:collect-strings && node ./cli -A=./core/test/results/artifacts --config-path=./core/test/results/sample-config.js --output=json --output-path=./core/test/results/sample_v2.json && node core/scripts/cleanup-LHR-for-diff.js ./core/test/results/sample_v2.json --only-remove-timing && node ./core/scripts/update-flow-fixtures.js",
|
|
82
|
+
"update:flow-sample-json": "yarn i18n:collect-strings && node ./core/scripts/update-flow-fixtures.js",
|
|
83
|
+
"test-devtools": "bash core/test/devtools-tests/test-locally.sh",
|
|
84
|
+
"open-devtools": "bash core/scripts/open-devtools.sh",
|
|
85
|
+
"run-devtools": "node core/scripts/pptr-run-devtools.js",
|
|
86
|
+
"diff:sample-json": "yarn i18n:checks && bash core/scripts/assert-golden-lhr-unchanged.sh",
|
|
87
|
+
"diff:flow-sample-json": "yarn i18n:collect-strings && bash core/scripts/assert-baseline-flow-result-unchanged.sh",
|
|
88
|
+
"computeBenchmarkIndex": "./core/scripts/benchmark.js",
|
|
89
|
+
"save-latest-run": "./core/scripts/save-latest-run.sh",
|
|
90
|
+
"compile-proto": "protoc --python_out=./ ./proto/lighthouse-result.proto && mv ./proto/*_pb2.py ./proto/scripts || (echo \"❌ Install protobuf = 3.20.x to compile the proto file.\" && false)",
|
|
91
|
+
"build-proto-roundtrip": "mkdir -p .tmp && python3 proto/scripts/json_roundtrip_via_proto.py",
|
|
92
|
+
"static-server": "node cli/test/fixtures/static-server.js",
|
|
93
|
+
"serve-dist": "cd dist && python3 -m http.server 7878",
|
|
94
|
+
"serve-gh-pages": "cd dist/gh-pages && python3 -m http.server 7333",
|
|
93
95
|
"serve-treemap": "yarn serve-gh-pages",
|
|
94
96
|
"serve-viewer": "yarn serve-gh-pages",
|
|
95
|
-
"flow-report": "yarn build-report --flow && node ./
|
|
97
|
+
"flow-report": "yarn build-report --flow && node ./core/scripts/build-test-flow-report.js"
|
|
96
98
|
},
|
|
97
99
|
"devDependencies": {
|
|
98
100
|
"@build-tracker/cli": "^1.0.0-beta.15",
|
|
101
|
+
"@esbuild-kit/esm-loader": "^2.1.1",
|
|
102
|
+
"@jest/fake-timers": "^28.1.0",
|
|
99
103
|
"@rollup/plugin-alias": "^3.1.2",
|
|
100
104
|
"@rollup/plugin-commonjs": "^20.0.0",
|
|
101
105
|
"@rollup/plugin-dynamic-import-vars": "^1.1.1",
|
|
@@ -103,7 +107,7 @@
|
|
|
103
107
|
"@rollup/plugin-node-resolve": "^13.0.4",
|
|
104
108
|
"@rollup/plugin-typescript": "^8.2.5",
|
|
105
109
|
"@stadtlandnetz/rollup-plugin-postprocess": "^1.1.0",
|
|
106
|
-
"@testing-library/preact": "^
|
|
110
|
+
"@testing-library/preact": "^3.1.1",
|
|
107
111
|
"@testing-library/preact-hooks": "^1.1.0",
|
|
108
112
|
"@types/archiver": "^2.1.2",
|
|
109
113
|
"@types/chrome": "^0.0.154",
|
|
@@ -113,10 +117,10 @@
|
|
|
113
117
|
"@types/estree": "^0.0.50",
|
|
114
118
|
"@types/gh-pages": "^2.0.0",
|
|
115
119
|
"@types/google.analytics": "0.0.39",
|
|
116
|
-
"@types/jest": "^27.0.3",
|
|
117
120
|
"@types/jpeg-js": "^0.3.7",
|
|
118
121
|
"@types/jsdom": "^16.2.13",
|
|
119
122
|
"@types/lodash": "^4.14.178",
|
|
123
|
+
"@types/mocha": "^9.0.0",
|
|
120
124
|
"@types/node": "*",
|
|
121
125
|
"@types/pako": "^1.0.1",
|
|
122
126
|
"@types/resize-observer-browser": "^0.1.1",
|
|
@@ -125,20 +129,20 @@
|
|
|
125
129
|
"@types/ws": "^7.0.0",
|
|
126
130
|
"@types/yargs": "^17.0.8",
|
|
127
131
|
"@types/yargs-parser": "^20.2.1",
|
|
128
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
129
|
-
"@typescript-eslint/parser": "^5.
|
|
132
|
+
"@typescript-eslint/eslint-plugin": "^5.48.0",
|
|
133
|
+
"@typescript-eslint/parser": "^5.48.0",
|
|
130
134
|
"acorn": "^8.5.0",
|
|
131
135
|
"angular": "^1.7.4",
|
|
132
136
|
"archiver": "^3.0.0",
|
|
133
|
-
"c8": "^7.
|
|
137
|
+
"c8": "^7.11.3",
|
|
134
138
|
"chalk": "^2.4.1",
|
|
135
|
-
"chrome-devtools-frontend": "1.0.
|
|
139
|
+
"chrome-devtools-frontend": "1.0.1070764",
|
|
136
140
|
"concurrently": "^6.4.0",
|
|
137
141
|
"conventional-changelog-cli": "^2.1.1",
|
|
138
142
|
"cpy": "^8.1.2",
|
|
139
143
|
"cross-env": "^7.0.2",
|
|
140
144
|
"csv-validator": "^0.0.3",
|
|
141
|
-
"devtools-protocol": "0.0.
|
|
145
|
+
"devtools-protocol": "0.0.1081726",
|
|
142
146
|
"es-main": "^1.0.2",
|
|
143
147
|
"eslint": "^8.4.1",
|
|
144
148
|
"eslint-config-google": "^0.14.0",
|
|
@@ -146,24 +150,25 @@
|
|
|
146
150
|
"eslint-plugin-import": "^2.25.3",
|
|
147
151
|
"eslint-plugin-local-rules": "1.1.0",
|
|
148
152
|
"event-target-shim": "^6.0.2",
|
|
153
|
+
"expect": "^28.1.0",
|
|
149
154
|
"firebase": "^9.0.2",
|
|
150
155
|
"gh-pages": "^2.0.1",
|
|
151
156
|
"glob": "^7.1.3",
|
|
152
157
|
"idb-keyval": "2.2.0",
|
|
153
158
|
"intl-messageformat-parser": "^1.8.1",
|
|
154
|
-
"jest": "27.
|
|
159
|
+
"jest-mock": "^27.3.0",
|
|
160
|
+
"jest-snapshot": "^28.1.0",
|
|
155
161
|
"jsdom": "^12.2.0",
|
|
156
|
-
"
|
|
157
|
-
"jsonlint-mod": "^1.7.6",
|
|
158
|
-
"lighthouse-plugin-publisher-ads": "^1.5.4",
|
|
162
|
+
"lighthouse-plugin-publisher-ads": "1.5.7-beta",
|
|
159
163
|
"magic-string": "^0.25.7",
|
|
160
164
|
"mime-types": "^2.1.30",
|
|
165
|
+
"mocha": "^10.0.0",
|
|
161
166
|
"node-fetch": "^2.6.1",
|
|
162
167
|
"npm-run-posix-or-windows": "^2.0.2",
|
|
163
168
|
"pako": "^2.0.3",
|
|
164
|
-
"preact": "^10.
|
|
169
|
+
"preact": "^10.7.2",
|
|
165
170
|
"pretty-json-stringify": "^0.0.2",
|
|
166
|
-
"puppeteer": "
|
|
171
|
+
"puppeteer": "^19.6.0",
|
|
167
172
|
"resolve": "^1.20.0",
|
|
168
173
|
"rollup": "^2.52.7",
|
|
169
174
|
"rollup-plugin-node-resolve": "^5.2.0",
|
|
@@ -173,44 +178,45 @@
|
|
|
173
178
|
"rollup-plugin-terser": "^7.0.2",
|
|
174
179
|
"tabulator-tables": "^4.9.3",
|
|
175
180
|
"terser": "^5.3.8",
|
|
176
|
-
"
|
|
181
|
+
"testdouble": "^3.16.5",
|
|
177
182
|
"typed-query-selector": "^2.6.1",
|
|
178
|
-
"typescript": "^4.
|
|
183
|
+
"typescript": "^4.9.4",
|
|
179
184
|
"wait-for-expect": "^3.0.2",
|
|
180
185
|
"webtreemap-cdt": "^3.2.1"
|
|
181
186
|
},
|
|
182
187
|
"dependencies": {
|
|
183
188
|
"@sentry/node": "^6.17.4",
|
|
184
|
-
"axe-core": "4.
|
|
185
|
-
"chrome-launcher": "^0.15.
|
|
189
|
+
"axe-core": "4.6.3",
|
|
190
|
+
"chrome-launcher": "^0.15.1",
|
|
186
191
|
"configstore": "^5.0.1",
|
|
187
192
|
"csp_evaluator": "1.1.1",
|
|
188
|
-
"cssstyle": "1.2.1",
|
|
189
193
|
"enquirer": "^2.3.6",
|
|
190
194
|
"http-link-header": "^0.8.0",
|
|
191
195
|
"intl-messageformat": "^4.4.0",
|
|
192
|
-
"jpeg-js": "^0.4.
|
|
193
|
-
"js-library-detector": "^6.
|
|
196
|
+
"jpeg-js": "^0.4.4",
|
|
197
|
+
"js-library-detector": "^6.6.0",
|
|
194
198
|
"lighthouse-logger": "^1.3.0",
|
|
195
|
-
"lighthouse-stack-packs": "1.
|
|
199
|
+
"lighthouse-stack-packs": "1.9.1",
|
|
196
200
|
"lodash": "^4.17.21",
|
|
197
201
|
"lookup-closest-locale": "6.2.0",
|
|
198
|
-
"metaviewport-parser": "0.
|
|
202
|
+
"metaviewport-parser": "0.3.0",
|
|
199
203
|
"open": "^8.4.0",
|
|
200
204
|
"parse-cache-control": "1.0.1",
|
|
201
205
|
"ps-list": "^8.0.0",
|
|
202
|
-
"puppeteer-core": "^
|
|
206
|
+
"puppeteer-core": "^19.6.0",
|
|
207
|
+
"quibble": "connorjclark/quibble#fork",
|
|
203
208
|
"robots-parser": "^3.0.0",
|
|
204
209
|
"semver": "^5.3.0",
|
|
205
210
|
"speedline-core": "^1.4.3",
|
|
206
|
-
"third-party-web": "^0.
|
|
211
|
+
"third-party-web": "^0.20.2",
|
|
207
212
|
"ws": "^7.0.0",
|
|
208
213
|
"yargs": "^17.3.1",
|
|
209
214
|
"yargs-parser": "^21.0.0"
|
|
210
215
|
},
|
|
211
216
|
"resolutions": {
|
|
212
|
-
"puppeteer/**/devtools-protocol": "0.0.
|
|
213
|
-
"puppeteer-core/**/devtools-protocol": "0.0.
|
|
217
|
+
"puppeteer/**/devtools-protocol": "0.0.1081726",
|
|
218
|
+
"puppeteer-core/**/devtools-protocol": "0.0.1081726",
|
|
219
|
+
"testdouble/**/quibble": "connorjclark/quibble#fork"
|
|
214
220
|
},
|
|
215
221
|
"repository": "GoogleChrome/lighthouse",
|
|
216
222
|
"keywords": [
|
package/readme.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Lighthouse [](https://github.com/GoogleChrome/lighthouse/actions/workflows/ci.yml) [](https://github.com/GoogleChrome/lighthouse/actions/workflows/unit.yml) [](https://github.com/GoogleChrome/lighthouse/actions/workflows/smoke.yml) [](https://github.com/GoogleChrome/lighthouse/actions/workflows/ci.yml) [](https://github.com/GoogleChrome/lighthouse/actions/workflows/unit.yml) [](https://github.com/GoogleChrome/lighthouse/actions/workflows/smoke.yml) [](https://codecov.io/gh/GoogleChrome/lighthouse) [](https://lh-build-tracker.herokuapp.com/) [](https://npmjs.org/package/lighthouse)
|
|
2
2
|
|
|
3
3
|
> Lighthouse analyzes web apps and web pages, collecting modern performance metrics and insights on developer best practices.
|
|
4
4
|
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
- [Lighthouse Integrations in Web Perf services](#lighthouse-integrations-in-web-perf-services)
|
|
21
21
|
- [Lighthouse Integrations in non-Web Perf services](#lighthouse-integrations-in-non-web-perf-services)
|
|
22
22
|
- [Plugins](#plugins)
|
|
23
|
-
- [Related
|
|
23
|
+
- [Related projects](#related-projects)
|
|
24
24
|
- [FAQ](#faq)
|
|
25
25
|
* [How does Lighthouse work?](#how-does-lighthouse-work)
|
|
26
26
|
* [Can I configure the lighthouse run?](#can-i-configure-the-lighthouse-run)
|
|
@@ -38,7 +38,7 @@ Lighthouse is integrated directly into the Chrome DevTools, under the "Lighthous
|
|
|
38
38
|
|
|
39
39
|
**Run it**: open Chrome DevTools, select the Lighthouse panel, and hit "Generate report".
|
|
40
40
|
|
|
41
|
-
<img
|
|
41
|
+
<img width="550" alt="Lighthouse integration in Chrome DevTools." src="https://user-images.githubusercontent.com/2766281/204185043-9c49abe5-baee-4b26-b5ce-ece410661213.png">
|
|
42
42
|
|
|
43
43
|
## Using the Chrome extension
|
|
44
44
|
|
|
@@ -52,7 +52,7 @@ The Chrome extension was available prior to Lighthouse being available in Chrome
|
|
|
52
52
|
|
|
53
53
|
The Node CLI provides the most flexibility in how Lighthouse runs can be configured and reported. Users who want more advanced usage, or want to run Lighthouse in an automated fashion should use the Node CLI.
|
|
54
54
|
|
|
55
|
-
_Lighthouse requires Node
|
|
55
|
+
_Lighthouse requires Node 16 LTS (16.x) or later._
|
|
56
56
|
|
|
57
57
|
**Installation**:
|
|
58
58
|
|
|
@@ -69,7 +69,7 @@ By default, Lighthouse writes the report to an HTML file. You can control the ou
|
|
|
69
69
|
### CLI options
|
|
70
70
|
|
|
71
71
|
<!-- To update the help output:
|
|
72
|
-
node
|
|
72
|
+
node cli --help | pbcopy
|
|
73
73
|
-->
|
|
74
74
|
|
|
75
75
|
```
|
|
@@ -85,10 +85,9 @@ Configuration:
|
|
|
85
85
|
--save-assets Save the trace contents & devtools logs to disk [boolean] [default: false]
|
|
86
86
|
--list-all-audits Prints a list of all available audits and exits [boolean] [default: false]
|
|
87
87
|
--list-trace-categories Prints a list of all required trace categories and exits [boolean] [default: false]
|
|
88
|
-
--print-config Print the normalized config for the given config and options, then exit. [boolean] [default: false]
|
|
89
88
|
--additional-trace-categories Additional categories to capture with the trace (comma-delimited). [string]
|
|
90
89
|
--config-path The path to the config JSON.
|
|
91
|
-
An example config file:
|
|
90
|
+
An example config file: core/config/lr-desktop-config.js [string]
|
|
92
91
|
--preset Use a built-in configuration.
|
|
93
92
|
WARNING: If the --config-path flag is provided, this preset will be ignored. [string] [choices: "perf", "experimental", "desktop"]
|
|
94
93
|
--chrome-flags Custom flags to pass to Chrome (space-delimited). For a full list of flags, see https://bit.ly/chrome-flags
|
|
@@ -99,13 +98,14 @@ Configuration:
|
|
|
99
98
|
--screenEmulation Sets screen emulation parameters. See also --preset. Use --screenEmulation.disabled to disable. Otherwise set these 4 parameters individually: --screenEmulation.mobile --screenEmulation.width=360 --screenEmulation.height=640 --screenEmulation.deviceScaleFactor=2
|
|
100
99
|
--emulatedUserAgent Sets useragent emulation [string]
|
|
101
100
|
--max-wait-for-load The timeout (in milliseconds) to wait before the page is considered done loading and the run should continue. WARNING: Very high values can lead to large traces and instability [number]
|
|
102
|
-
--enable-error-reporting Enables error reporting, overriding any saved preference. --no-enable-error-reporting will do the opposite. More: https://
|
|
101
|
+
--enable-error-reporting Enables error reporting, overriding any saved preference. --no-enable-error-reporting will do the opposite. More: https://github.com/GoogleChrome/lighthouse/blob/main/docs/error-reporting.md [boolean]
|
|
103
102
|
--gather-mode, -G Collect artifacts from a connected browser and save to disk. (Artifacts folder path may optionally be provided). If audit-mode is not also enabled, the run will quit early.
|
|
104
103
|
--audit-mode, -A Process saved artifacts from disk. (Artifacts folder path may be provided, otherwise defaults to ./latest-run/)
|
|
105
104
|
--only-audits Only run the specified audits [array]
|
|
106
105
|
--only-categories Only run the specified categories. Available categories: accessibility, best-practices, performance, pwa, seo [array]
|
|
107
106
|
--skip-audits Run everything except these audits [array]
|
|
108
107
|
--budget-path The path to the budget.json file for LightWallet. [string]
|
|
108
|
+
--disable-full-page-screenshot Disables collection of the full page screenshot, which can be quite large [boolean]
|
|
109
109
|
|
|
110
110
|
Output:
|
|
111
111
|
--output Reporter for the results, supports multiple values. choices: "json", "html", "csv" [array] [default: ["html"]]
|
|
@@ -200,7 +200,7 @@ lighthouse -GA=./gmailartifacts https://gmail.com
|
|
|
200
200
|
|
|
201
201
|
#### Notes on Error Reporting
|
|
202
202
|
|
|
203
|
-
The first time you run the CLI you will be prompted with a message asking you if Lighthouse can anonymously report runtime exceptions. The Lighthouse team uses this information to detect new bugs and avoid regressions. Opting out will not affect your ability to use Lighthouse in any way. [Learn more](https://github.com/GoogleChrome/lighthouse/blob/
|
|
203
|
+
The first time you run the CLI you will be prompted with a message asking you if Lighthouse can anonymously report runtime exceptions. The Lighthouse team uses this information to detect new bugs and avoid regressions. Opting out will not affect your ability to use Lighthouse in any way. [Learn more](https://github.com/GoogleChrome/lighthouse/blob/main/docs/error-reporting.md).
|
|
204
204
|
|
|
205
205
|
## Using the Node module
|
|
206
206
|
You can also use Lighthouse programmatically with the Node module.
|
|
@@ -246,7 +246,6 @@ Useful documentation, examples, and recipes to get you started.
|
|
|
246
246
|
|
|
247
247
|
**Recipes**
|
|
248
248
|
|
|
249
|
-
- [gulp](docs/recipes/gulp) - helpful for CI integration
|
|
250
249
|
- [Plugin](./docs/recipes/lighthouse-plugin-example) - example Lighthouse plugin
|
|
251
250
|
- [Custom Audit example](./docs/recipes/custom-audit) - extend Lighthouse, run your own audits
|
|
252
251
|
|
|
@@ -254,14 +253,14 @@ Useful documentation, examples, and recipes to get you started.
|
|
|
254
253
|
|
|
255
254
|
The session from Google I/O 2018 covers the new performance engine, upcoming Lighthouse REST API, and using the Chrome UX report to evaluate real-user data.
|
|
256
255
|
|
|
257
|
-
[](https://www.youtube.com/watch?v=UvK9zAsSM8Q)
|
|
256
|
+
[](https://www.youtube.com/watch?v=UvK9zAsSM8Q)
|
|
258
257
|
|
|
259
258
|
The session from Google I/O 2017 covers architecture, writing custom audits,
|
|
260
259
|
GitHub/Travis/CI integration, headless Chrome, and more:
|
|
261
260
|
|
|
262
|
-
[](https://www.youtube.com/watch?v=NoRYn6gOtVo)
|
|
261
|
+
[](https://www.youtube.com/watch?v=NoRYn6gOtVo)
|
|
263
262
|
|
|
264
|
-
|
|
263
|
+
_Click the image to watch the video on YouTube._
|
|
265
264
|
|
|
266
265
|
## Develop
|
|
267
266
|
|
|
@@ -283,11 +282,11 @@ yarn build-all
|
|
|
283
282
|
### Run
|
|
284
283
|
|
|
285
284
|
```sh
|
|
286
|
-
node
|
|
285
|
+
node cli http://example.com
|
|
287
286
|
# append --chrome-flags="--no-sandbox --headless --disable-gpu" if you run into problems connecting to Chrome
|
|
288
287
|
```
|
|
289
288
|
|
|
290
|
-
> **Getting started tip**: `node --inspect-brk
|
|
289
|
+
> **Getting started tip**: `node --inspect-brk cli http://example.com` to open up Chrome DevTools and step
|
|
291
290
|
through the entire app. See [Debugging Node.js with Chrome
|
|
292
291
|
DevTools](https://medium.com/@paul_irish/debugging-node-js-nightlies-with-chrome-devtools-7c4a1b95ae27#.59rma3ukm)
|
|
293
292
|
for more info.
|
|
@@ -313,12 +312,13 @@ yarn type-check
|
|
|
313
312
|
|
|
314
313
|
### Docs
|
|
315
314
|
|
|
316
|
-
Some of our docs have tests that run only in CI by default.
|
|
315
|
+
Some of our docs have tests that run only in CI by default. To modify our documentation, you'll need to run `yarn build-pack && yarn test-docs` locally to make sure they pass.
|
|
317
316
|
|
|
318
317
|
**Additional Dependencies**
|
|
319
318
|
- `brew install jq`
|
|
320
319
|
|
|
321
320
|
## Lighthouse Integrations in Web Perf services
|
|
321
|
+
|
|
322
322
|
This section details services that have integrated Lighthouse data. If you're working on a cool project integrating Lighthouse and would like to be featured here, file an issue to this repo or tweet at us [@_____lighthouse](https://twitter.com/____lighthouse)!
|
|
323
323
|
|
|
324
324
|
* **[Web Page Test](https://www.webpagetest.org)** — An [open source](https://github.com/WPO-Foundation/webpagetest) tool for measuring and analyzing the performance of web pages on real devices. Users can choose to produce a Lighthouse report alongside the analysis of WebPageTest results.
|
|
@@ -335,14 +335,10 @@ This section details services that have integrated Lighthouse data. If you're wo
|
|
|
335
335
|
|
|
336
336
|
* **[Screpy](https://screpy.com)** - Screpy is a web analysis tool that can analyze all pages of your websites in one dashboard and monitor them with your team. It's powered by Lighthouse and it also includes some different analysis tools (SERP, W3C, Uptime, etc). Screpy has free and paid plans.
|
|
337
337
|
|
|
338
|
-
* **[Lighthouse Keeper](https://lighthouse-keeper.com/)** - Lighthouse Keeper monitors your pages' Lighthouse scores and notifies you if they drop below your thresholds. Lighthouse Keeper is a free service that monitors up to 3 URLs once per day.
|
|
339
|
-
|
|
340
338
|
* **[Siteimprove Performance](https://siteimprove.com/en/performance/)** — Siteimprove Performance is a web Performance monitoring solution that enables a marketer, manager or decision maker to understand and optimize website load times. Get easy-to-use insights with a focus on quick and impactful wins. Siteimprove Performance is a paid product with a free 14-day trial.
|
|
341
339
|
|
|
342
340
|
* **[SpeedCurve](https://speedcurve.com)** — SpeedCurve is a tool for continuously monitoring web performance across different browsers, devices, and regions. It can aggregate any metric including Lighthouse scores across multiple pages and sites, and allows you to set performance budgets with Slack or email alerts. SpeedCurve is a paid product with a free 30-day trial.
|
|
343
341
|
|
|
344
|
-
* **[Speedrank](https://speedrank.app)** - Speedrank monitors the performance of your website in the background. It displays Lighthouse reports over time and delivers recommendations for improvement. Speedrank is a paid product with 14-day-trial.
|
|
345
|
-
|
|
346
342
|
* **[Foo](https://www.foo.software/lighthouse)** - Lighthouse-as-a-service offering free and premium plans. Provides monitoring and historical reporting of Lighthouse audits with CircleCI, GitHub, and other integrations. Features include Slack notifications, PR comment reporting and more.
|
|
347
343
|
|
|
348
344
|
* **[Apdex](https://apdex.co)** - Apdex is a website performance service. The main features are historical Lighthouse report visualizations, mobile/desktop options, alerts, uptime monitoring, and more. There are flexible paid plans and a 30-day free trial.
|
|
@@ -353,22 +349,20 @@ This section details services that have integrated Lighthouse data. If you're wo
|
|
|
353
349
|
|
|
354
350
|
* **[SpeedVitals](https://speedvitals.com)** - SpeedVitals is a Lighthouse powered tool to measure web performance across multiple devices and locations. It has various features like Layout Shift Visualization, Waterfall Chart, Field Data and Resource Graphs. SpeedVitals offers both free and paid plans.
|
|
355
351
|
|
|
352
|
+
* **[Lighthouse Metrics](https://lighthouse-metrics.com/)** - Lighthouse Metrics gives you global performance insights with a single test. You can also monitor your websites on a daily or hourly base. Lighthouse Metrics offers free global one-time tests and performance monitoring as a paid feature with a free 14-day trial.
|
|
353
|
+
|
|
354
|
+
* **[Auditzy](https://auditzy.com)** - Auditzy™ is a robust website auditing & monitoring tool which lets you analyze your web page(s) pre-user journey. Analyze the Competitor Health Metric, Core Web Vitals, and Technology. Compare your web pages with your competitors to understand where you are leading or lagging. Real-time notification with Slack. Have Seamless Collaboration with Multiple Teams. Automate your Audits hourly, daily, weekly, and so on. It has a free trial with pay as you go plans.
|
|
355
|
+
|
|
356
356
|
## Lighthouse Integrations in non-Web Perf services
|
|
357
357
|
|
|
358
358
|
* **[PageWatch](https://pagewatch.dev/)** — PageWatch is a tool to find problem pages on your website. It provides insights into spelling errors, layout issues, slow pages (powered by Lighthouse) and more. PageWatch is offered via free and paid plans.
|
|
359
359
|
|
|
360
|
-
* **[SEO Guard](https://www.seo-guard.com)** — SEO Guard is a website monitoring solution. It provides metrics based on Lighthouse scores. The service is offered via free and paid premium plans.
|
|
361
|
-
|
|
362
360
|
* **[Fluxguard](https://fluxguard.com/)** - Fluxguard provides website DOM change monitoring orchestrated with Google Puppeteer, and audited by Lighthouse. Fluxguard is a freemium product, with monthly monitoring of up to 75 pages for free.
|
|
363
361
|
|
|
364
362
|
* **[Microlink](https://microlink.io)** — Microlink is a cloud browser as API. It offers Lighthouse reports on demand, making it easy to build any service on top. Similar functionality is available via the underlying open-source project named browserless.
|
|
365
363
|
|
|
366
|
-
* **[Peyk](https://peyk.com)** - Peyk is a website change detection & monitoring service. Peyk can detect changes in cookies, network requests, technologies, local & session storage, lighthouse audits, screenshots and so much more. Peyk is offered via free and paid plans.
|
|
367
|
-
|
|
368
364
|
* **[Wattspeed](https://wattspeed.com/)** — Wattspeed is a free tool that generates snapshots - historical captures of your web pages that include Lighthouse scores, a list of technologies, W3C HTML validator results, DOM size, mixed content info, and more.
|
|
369
365
|
|
|
370
|
-
* **[AwesomeTechStack](https://awesometechstack.com)** — AwesomeTechStack is a free to use website tech stack analyzer. AwesomeTechStack provides insights into the security, modernity, and performance of any website's technology stack and guidance to improve performance. Lighthouse insights are a crucial part of a website's tech stack rating.
|
|
371
|
-
|
|
372
366
|
## Plugins
|
|
373
367
|
|
|
374
368
|
* **[lighthouse-plugin-field-performance](https://github.com/treosh/lighthouse-plugin-field-performance)** - a plugin that adds real-user performance metrics for the URL using the data from [Chrome UX Report](https://developers.google.com/web/tools/chrome-user-experience-report/).
|
|
@@ -377,40 +371,33 @@ This section details services that have integrated Lighthouse data. If you're wo
|
|
|
377
371
|
|
|
378
372
|
* **[lighthouse-plugin-crux](https://github.com/dvelasquez/lighthouse-plugin-crux)** - a plugin that quickly gathers real-user-metrics data from the [Chrome UX Report API](https://developers.google.com/web/tools/chrome-user-experience-report/api/reference).
|
|
379
373
|
|
|
380
|
-
## Related
|
|
374
|
+
## Related projects
|
|
375
|
+
|
|
381
376
|
Other awesome open source projects that use Lighthouse.
|
|
382
377
|
|
|
383
378
|
* **[auto-lighthouse](https://github.com/TGiles/auto-lighthouse)** - a CLI for crawling a domain and generating mobile and desktop reports for each page.
|
|
384
379
|
* **[Exthouse](https://github.com/treosh/exthouse)** - Analyze the impact of a browser extension on web performance.
|
|
385
|
-
* **[Garie](https://github.com/boyney123/garie)** - An open source tool for monitoring performance using Lighthouse, PageSpeed Insights, [Prometheus](https://prometheus.io/), [Grafana](https://grafana.com/) and [Docker](https://www.docker.com/).
|
|
386
380
|
* **[Gimbal](https://labs.moduscreate.com/gimbal-web-performance-audit-budgeting)** - An [open source (MIT licensed)](https://github.com/ModusCreateOrg/gimbal) tool used to measure, analyze, and budget aspects of a web application. Gimbal also integrates reports with GitHub pull requests.
|
|
387
381
|
* **[Gradle Lighthouse Plugin](https://github.com/Cognifide/gradle-lighthouse-plugin)** - An open source Gradle plugin that runs Lighthouse tests on multiple URLs and asserts category score thresholds (useful in continuous integration).
|
|
388
|
-
* **[lightcrawler](https://github.com/github/lightcrawler)** - Crawl a website and run each page found through Lighthouse.
|
|
389
382
|
* **[lighthouse-badges](https://github.com/emazzotta/lighthouse-badges)** - Generate gh-badges (shields.io) based on Lighthouse performance.
|
|
390
|
-
* **[lighthouse-batch](https://
|
|
391
|
-
* **[lighthouse-batch-parallel](https://
|
|
383
|
+
* **[lighthouse-batch](https://github.com/mikestead/lighthouse-batch)** - Run Lighthouse over a number of sites and generate a summary of their metrics/scores.
|
|
384
|
+
* **[lighthouse-batch-parallel](https://github.com/Carr1005/lighthouse-batch-parallel)** - Run multiple Lighthouse runs in parallel to accelerate the data collecting process, get the result stream (csv, json, js object) in your own process (warning: performance results may be volatile).
|
|
392
385
|
* **[lighthouse-check-action](https://github.com/foo-software/lighthouse-check-action)** - A GitHub Action to run Lighthouse in a workflow, featuring Slack notifications and report upload to S3.
|
|
393
386
|
* **[lighthouse-check-orb](https://circleci.com/orbs/registry/orb/foo-software/lighthouse-check)** - A CircleCI Orb to run Lighthouse in a workflow, featuring Slack notifications and report upload to S3.
|
|
394
387
|
* **[andreasonny83/lighthouse-ci](https://github.com/andreasonny83/lighthouse-ci)** - Run Lighthouse and assert scores satisfy your custom thresholds.
|
|
395
388
|
* **[GoogleChrome/lighthouse-ci](https://github.com/GoogleChrome/lighthouse-ci)** - (**official**) Automate running Lighthouse for every commit, viewing the changes, and preventing regressions.
|
|
396
389
|
* **[lighthouse-ci-action](https://github.com/treosh/lighthouse-ci-action)** - A GitHub Action that makes it easy to run Lighthouse in CI and keep your pages small using performance budgets.
|
|
397
|
-
* **[lighthouse-cron](https://github.com/thearegee/lighthouse-cron)** - Cron multiple batch Lighthouse audits and emit results for sending to remote server.
|
|
398
390
|
* **[lighthouse-gh-reporter](https://github.com/carlesnunez/lighthouse-gh-reporter)** - Run Lighthouse in CI and report back in a comment on your pull requests
|
|
399
|
-
* **[lighthouse-hue](https://github.com/ebidel/lighthouse-hue)** - Set the color of Philips Hue lights based on a Lighthouse score
|
|
400
391
|
* **[lighthouse-jest-example](https://github.com/justinribeiro/lighthouse-jest-example)** - Gather performance metrics via Lighthouse and assert results with Jest; uses Puppeteer to start Chrome with network emulation settings defined by WebPageTest.
|
|
401
|
-
* **[lighthouse-lambda](https://github.com/
|
|
402
|
-
* **[lighthouse-magic-light](https://github.com/manekinekko/lighthouse-magic-light)** - Set the color of the MagicLight Bluetooth Smart Light Bulb based on Lighthouse score
|
|
392
|
+
* **[lighthouse-lambda](https://github.com/Otterseer/lighthouse-lambda)** - Run Lighthouse on AWS Lambda with prebuilt stable desktop Headless Chrome.
|
|
403
393
|
* **[lighthouse-mocha-example](https://github.com/rishichawda/lighthouse-mocha-example)** - Run Lighthouse performance tests with Mocha and chrome-launcher.
|
|
404
394
|
* **[lighthouse-monitor](https://github.com/verivox/lighthouse-monitor)** - Run Lighthouse against all your URLs. Send metrics to any backend you want, save all reports with automatic data retention, and compare any two results in a web UI.
|
|
405
395
|
* **[lighthouse-persist](https://github.com/foo-software/lighthouse-persist)** - Run Lighthouse and upload HTML reports to an AWS S3 bucket.
|
|
406
396
|
* **[lighthouse-viewer](https://github.com/dvelasquez/lighthouse-viewer/tree/main/packages/lighthouse-viewer)** - Render the Lighthouse JSON into a report, using the Lighthouse Report Renderer repackaged as UMD and ESM. Also available with React, Svelte and Vue wrappers.
|
|
407
397
|
* **[lighthouse4u](https://github.com/godaddy/lighthouse4u)** - LH4U provides Google Lighthouse as a service, surfaced by both a friendly UI+API, and backed by Elastic Search for easy querying and visualization.
|
|
408
|
-
* **[performance-budgets](https://performance-budgets.netlify.com/)** - Easily assert Lighthouse budgets with Docker.
|
|
409
|
-
* **[pwmetrics](https://github.com/paulirish/pwmetrics/)** - Gather performance metrics
|
|
410
398
|
* **[react-lighthouse-viewer](https://www.npmjs.com/package/react-lighthouse-viewer)** - Render a Lighthouse JSON report in a React Component.
|
|
411
399
|
* **[site-audit-seo](https://github.com/viasite/site-audit-seo)** - CLI tool for SEO site audit, crawl site, lighthouse each page. Output to console and tables in csv, xlsx, json, web or Google Drive.
|
|
412
400
|
* **[webpack-lighthouse-plugin](https://github.com/addyosmani/webpack-lighthouse-plugin)** - Run Lighthouse from a Webpack build.
|
|
413
|
-
* **[is-website-vulnerable](https://github.com/lirantal/is-website-vulnerable)** - An open source Node.js CLI tool that finds publicly known security vulnerabilities in a website's frontend JavaScript libraries.
|
|
414
401
|
* **[cypress-audit](https://github.com/mfrachet/cypress-audit)** - Run Lighthouse and Pa11y audits directly in your E2E test suites.
|
|
415
402
|
|
|
416
403
|
## FAQ
|
|
@@ -453,7 +440,7 @@ machine. Report results are never processed or beaconed to a remote server.
|
|
|
453
440
|
|
|
454
441
|
Starting in Lighthouse 8.0, Lighthouse relies entirely on native `Intl` support and no longer uses an `Intl` polyfill. If you're using Node 14 or later, there should be no issue because Node is now [built with `full-icu` by default](https://nodejs.medium.com/node-js-12-to-lts-and-node-js-13-is-here-e28d6a4a2bd#9514).
|
|
455
442
|
|
|
456
|
-
However, if you're using a `small-icu` Node build, you may see Lighthouse log messages about your locale not being available. To remedy this, you can
|
|
443
|
+
However, if you're using a `small-icu` Node build, you may see Lighthouse log messages about your locale not being available. To remedy this, you can manually install ICU data by using the [`full-icu`](https://www.npmjs.com/package/full-icu) module and the [`--icu-data-dir` node flag](https://nodejs.org/api/intl.html#intl_providing_icu_data_at_runtime) at launch.
|
|
457
444
|
|
|
458
445
|
### How do I author custom audits to extend Lighthouse?
|
|
459
446
|
|
|
@@ -474,7 +461,7 @@ See [Contributing](./CONTRIBUTING.md) to get started.
|
|
|
474
461
|
|
|
475
462
|
---
|
|
476
463
|
<p align="center">
|
|
477
|
-
<img src="
|
|
464
|
+
<img src="./assets/lighthouse-logo_512px.png" alt="Lighthouse logo" height="150">
|
|
478
465
|
<br>
|
|
479
466
|
<b>Lighthouse</b>, ˈlītˌhous (n): a <s>tower or other structure</s> tool containing a beacon light
|
|
480
467
|
to warn or guide <s>ships at sea</s> developers.
|
package/report/README.md
CHANGED
|
@@ -8,10 +8,10 @@ Example standalone HTML report, delivered by the CLI: [`dbwtest-3.0.3.html`](htt
|
|
|
8
8
|
|
|
9
9
|
### Report Renderer components
|
|
10
10
|
|
|
11
|
-
1. [`report/generator/report-generator.js`](https://github.com/GoogleChrome/lighthouse/blob/
|
|
11
|
+
1. [`report/generator/report-generator.js`](https://github.com/GoogleChrome/lighthouse/blob/main/report/generator/report-generator.js) is the entry point for generating the HTML from Node. It compiles together the HTML string with everything required within it.
|
|
12
12
|
- It runs natively in Node.js but can run in the browser after a compile step is applied during our bundling pipeline. That compile step uses `inline-fs`, which takes any `fs.readFileSync()` calls and replaces them with the stringified file content.
|
|
13
|
-
1. [`report/renderer`](https://github.com/GoogleChrome/lighthouse/tree/
|
|
14
|
-
1. [`report/assets/standalone-template.html`](https://github.com/GoogleChrome/lighthouse/blob/
|
|
13
|
+
1. [`report/renderer`](https://github.com/GoogleChrome/lighthouse/tree/main/report/renderer) are all client-side JS files. They transform an LHR object into a report DOM tree. They are all executed within the browser.
|
|
14
|
+
1. [`report/assets/standalone-template.html`](https://github.com/GoogleChrome/lighthouse/blob/main/lighthouse-core/report/html/report-template.html) is where the client-side build of the DOM report is typically kicked off ([with these four lines](https://github.com/GoogleChrome/lighthouse/blob/eda3a3e2e271249f261655f9504fd542d6acf0f8/lighthouse-core/report/html/report-template.html#L29-L33)) However, see _Current Uses.._ below for more possibilities.
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
### Data Hydration
|
|
@@ -19,14 +19,13 @@ Example standalone HTML report, delivered by the CLI: [`dbwtest-3.0.3.html`](htt
|
|
|
19
19
|
|
|
20
20
|
Examples:
|
|
21
21
|
|
|
22
|
-
* [`templates.html`](https://github.com/GoogleChrome/lighthouse/blob/
|
|
23
|
-
* [`performance-category-renderer.js`](https://github.com/GoogleChrome/lighthouse/blob/
|
|
22
|
+
* [`templates.html`](https://github.com/GoogleChrome/lighthouse/blob/main/report/assets/templates.html)
|
|
23
|
+
* [`performance-category-renderer.js`](https://github.com/GoogleChrome/lighthouse/blob/main/report/renderer/performance-category-renderer.js)
|
|
24
24
|
|
|
25
25
|
### Current uses of report renderer
|
|
26
26
|
|
|
27
27
|
The renderer was designed to be portable across various environments.
|
|
28
28
|
|
|
29
|
-
1. _LH
|
|
30
|
-
1.
|
|
31
|
-
1.
|
|
32
|
-
1. _Hosted [Lighthouse Viewer](https://googlechrome.github.io/lighthouse/viewer/)_: It's a webapp that has the renderer (along with some [additional features](https://github.com/GoogleChrome/lighthouse/blob/master/report/renderer/report-ui-features.js)) all compiled into a [`viewer.js`](https://googlechrome.github.io/lighthouse/viewer/src/viewer.js) file. Same [basic approach](https://github.com/GoogleChrome/lighthouse/blob/440155cdda377c458c0efce006bc3a69ce2a351c/lighthouse-viewer/app/src/lighthouse-report-viewer.js#L116-L117) there.
|
|
29
|
+
1. _LH CLI_: It [creates the HTML as the runner finishes up](https://github.com/GoogleChrome/lighthouse/blob/da3c865d698abc9365fa7bb087a08ce8c89b0a05/core/runner.js#L130-L131) and [saves it to disk](https://github.com/GoogleChrome/lighthouse/blob/da3c865d698abc9365fa7bb087a08ce8c89b0a05/cli/printer.js#L52-L70).
|
|
30
|
+
1. _Chrome DevTools Lighthouse Panel_: The `renderer` files are rolled into the Chromium repo, and they execute within the DevTools context. The audits panel [receives the LHR object from a WebWorker](https://github.com/ChromeDevTools/devtools-frontend/blob/e540d8037c1f724d61ae70553cc630a0453efebe/front_end/panels/lighthouse/LighthouseProtocolService.ts#L122-L142), through a `postMessage` and then runs [the renderer within DevTools UI](https://github.com/ChromeDevTools/devtools-frontend/blob/e540d8037c1f724d61ae70553cc630a0453efebe/front_end/panels/lighthouse/LighthousePanel.ts#L293-L317), making a few [simplifications](https://github.com/ChromeDevTools/devtools-frontend/blob/main/front_end/panels/lighthouse/LighthouseReportRenderer.ts).
|
|
31
|
+
1. _Hosted [Lighthouse Viewer](https://googlechrome.github.io/lighthouse/viewer/)_: It's a webapp that has the renderer (along with some [additional features](https://github.com/GoogleChrome/lighthouse/blob/main/report/renderer/report-ui-features.js)) all compiled into a [`main-XXX.js`](https://github.com/GoogleChrome/lighthouse/tree/main/viewer/app/src) file. Same [basic approach](https://github.com/GoogleChrome/lighthouse/blob/da3c865d698abc9365fa7bb087a08ce8c89b0a05/viewer/app/src/lighthouse-report-viewer.js#L235-L239) there.
|