lighthouse 11.7.1 → 12.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/CONTRIBUTING.md +2 -2
- package/cli/bin.js +0 -7
- package/cli/cli-flags.d.ts +1 -5
- package/cli/cli-flags.js +4 -8
- package/cli/test/smokehouse/__snapshots__/report-assert-test.js.snap +14 -14
- package/cli/test/smokehouse/config/exclusions.js +3 -0
- package/cli/test/smokehouse/core-tests.js +6 -20
- package/cli/test/smokehouse/frontends/smokehouse-bin.js +2 -2
- package/core/audits/accessibility/aria-conditional-attr.d.ts +10 -0
- package/core/audits/accessibility/aria-conditional-attr.js +43 -0
- package/core/audits/accessibility/{duplicate-id-active.d.ts → aria-deprecated-role.d.ts} +3 -3
- package/core/audits/accessibility/aria-deprecated-role.js +43 -0
- package/core/audits/accessibility/aria-prohibited-attr.d.ts +10 -0
- package/core/audits/accessibility/aria-prohibited-attr.js +44 -0
- package/core/audits/accessibility/target-size.js +0 -1
- package/core/audits/byte-efficiency/byte-efficiency-audit.d.ts +0 -16
- package/core/audits/byte-efficiency/byte-efficiency-audit.js +1 -38
- package/core/audits/byte-efficiency/offscreen-images.d.ts +0 -11
- package/core/audits/byte-efficiency/offscreen-images.js +0 -15
- package/core/audits/byte-efficiency/render-blocking-resources.js +27 -26
- package/core/audits/byte-efficiency/unminified-css.js +2 -2
- package/core/audits/byte-efficiency/unused-css-rules.js +3 -1
- package/core/audits/dobetterweb/uses-http2.d.ts +0 -13
- package/core/audits/dobetterweb/uses-http2.js +4 -38
- package/core/audits/font-display.js +2 -2
- package/core/audits/layout-shifts.js +1 -1
- package/core/audits/preload-fonts.d.ts +1 -5
- package/core/audits/preload-fonts.js +1 -10
- package/core/audits/prioritize-lcp-image.js +2 -2
- package/core/audits/redirects-http.d.ts +19 -0
- package/core/audits/redirects-http.js +75 -0
- package/core/audits/resource-summary.d.ts +2 -0
- package/core/audits/resource-summary.js +5 -4
- package/core/audits/seo/is-crawlable.d.ts +2 -1
- package/core/audits/seo/link-text.js +12 -0
- package/core/audits/uses-rel-preload.d.ts +1 -5
- package/core/audits/uses-rel-preload.js +5 -15
- package/core/audits/work-during-interaction.d.ts +2 -2
- package/core/audits/work-during-interaction.js +2 -2
- package/core/computed/js-bundles.d.ts +1 -1
- package/core/computed/metrics/lantern-first-contentful-paint.d.ts +13 -82
- package/core/computed/metrics/lantern-first-contentful-paint.js +16 -178
- package/core/computed/metrics/lantern-first-meaningful-paint.d.ts +13 -12
- package/core/computed/metrics/lantern-first-meaningful-paint.js +11 -49
- package/core/computed/metrics/lantern-interactive.d.ts +13 -21
- package/core/computed/metrics/lantern-interactive.js +12 -84
- package/core/computed/metrics/lantern-largest-contentful-paint.d.ts +13 -25
- package/core/computed/metrics/lantern-largest-contentful-paint.js +13 -80
- package/core/computed/metrics/lantern-max-potential-fid.d.ts +13 -24
- package/core/computed/metrics/lantern-max-potential-fid.js +12 -64
- package/core/computed/metrics/lantern-metric.d.ts +14 -18
- package/core/computed/metrics/lantern-metric.js +34 -30
- package/core/computed/metrics/lantern-speed-index.d.ts +13 -32
- package/core/computed/metrics/lantern-speed-index.js +13 -116
- package/core/computed/metrics/lantern-total-blocking-time.d.ts +13 -25
- package/core/computed/metrics/lantern-total-blocking-time.js +10 -94
- package/core/computed/metrics/metric.js +1 -3
- package/core/computed/module-duplication.d.ts +1 -1
- package/core/computed/navigation-insights.d.ts +36 -0
- package/core/computed/navigation-insights.js +35 -0
- package/core/computed/page-dependency-graph.js +3 -7
- package/core/computed/resource-summary.d.ts +10 -12
- package/core/computed/resource-summary.js +12 -19
- package/core/computed/trace-engine-result.d.ts +16 -3
- package/core/computed/trace-engine-result.js +19 -14
- package/core/computed/unused-css.d.ts +3 -1
- package/core/computed/unused-css.js +6 -5
- package/core/config/config-helpers.js +0 -4
- package/core/config/constants.js +0 -1
- package/core/config/default-config.js +63 -142
- package/core/config/experimental-config.js +11 -0
- package/core/config/filters.js +0 -1
- package/core/gather/driver/navigation.js +4 -1
- package/core/gather/driver/prepare.js +1 -1
- package/core/gather/driver/target-manager.js +4 -3
- package/core/gather/driver/wait-for-condition.js +2 -3
- package/core/gather/driver.d.ts +12 -0
- package/core/gather/driver.js +27 -0
- package/core/gather/gatherers/accessibility.js +4 -6
- package/core/gather/gatherers/css-usage.d.ts +0 -21
- package/core/gather/gatherers/css-usage.js +9 -119
- package/core/gather/gatherers/root-causes.d.ts +2 -2
- package/core/gather/gatherers/root-causes.js +6 -5
- package/core/gather/gatherers/stylesheets.d.ts +26 -0
- package/core/gather/gatherers/stylesheets.js +138 -0
- package/core/gather/gatherers/trace-elements.d.ts +2 -12
- package/core/gather/gatherers/trace-elements.js +2 -21
- package/core/gather/navigation-runner.js +3 -1
- package/core/gather/session.d.ts +8 -0
- package/core/gather/session.js +14 -1
- package/core/lib/emulation.js +2 -2
- package/core/lib/i18n/i18n.d.ts +0 -1
- package/core/lib/i18n/i18n.js +0 -2
- package/core/lib/lantern/cpu-node.d.ts +7 -1
- package/core/lib/lantern/cpu-node.js +12 -2
- package/core/lib/lantern/lantern-error.d.ts +8 -0
- package/core/lib/lantern/lantern-error.js +9 -0
- package/core/lib/lantern/metric.js +2 -6
- package/core/lib/lantern/metrics/first-contentful-paint.d.ts +79 -0
- package/core/lib/lantern/metrics/first-contentful-paint.js +200 -0
- package/core/lib/lantern/metrics/first-meaningful-paint.d.ts +6 -0
- package/core/lib/lantern/metrics/first-meaningful-paint.js +64 -0
- package/core/lib/lantern/metrics/interactive.d.ts +26 -0
- package/core/lib/lantern/metrics/interactive.js +112 -0
- package/core/lib/lantern/metrics/largest-contentful-paint.d.ts +19 -0
- package/core/lib/lantern/metrics/largest-contentful-paint.js +108 -0
- package/core/lib/lantern/metrics/max-potential-fid.d.ts +30 -0
- package/core/lib/lantern/metrics/max-potential-fid.js +92 -0
- package/core/lib/lantern/metrics/speed-index.d.ts +38 -0
- package/core/lib/lantern/metrics/speed-index.js +144 -0
- package/core/lib/lantern/metrics/total-blocking-time.d.ts +31 -0
- package/core/lib/lantern/metrics/total-blocking-time.js +128 -0
- package/core/lib/lantern/network-node.js +28 -4
- package/core/lib/lantern/page-dependency-graph.d.ts +4 -4
- package/core/lib/lantern/page-dependency-graph.js +19 -7
- package/core/lib/lantern/simulator/connection-pool.d.ts +2 -12
- package/core/lib/lantern/simulator/connection-pool.js +3 -22
- package/core/lib/lantern/simulator/network-analyzer.js +1 -12
- package/core/lib/lantern/simulator/simulator.d.ts +2 -4
- package/core/lib/lantern/simulator/simulator.js +7 -14
- package/core/lib/lantern/types/lantern.d.ts +5 -3
- package/core/lib/lantern-trace-saver.js +0 -1
- package/core/lib/lh-error.d.ts +9 -0
- package/core/lib/lh-error.js +13 -3
- package/core/lib/lighthouse-compatibility.js +53 -10
- package/core/lib/navigation-error.js +3 -0
- package/core/lib/network-request.d.ts +1 -0
- package/core/lib/network-request.js +28 -0
- package/core/runner.js +18 -25
- package/dist/report/bundle.esm.js +11 -112
- package/dist/report/flow.js +16 -117
- package/dist/report/standalone.js +12 -113
- package/flow-report/src/help-dialog.tsx +0 -1
- package/flow-report/src/i18n/i18n.d.ts +0 -4
- package/flow-report/src/i18n/ui-strings.d.ts +0 -1
- package/flow-report/src/i18n/ui-strings.js +0 -2
- package/flow-report/src/summary/category.tsx +10 -12
- package/package.json +5 -5
- package/readme.md +4 -4
- package/report/assets/styles.css +1 -60
- package/report/assets/templates.html +0 -95
- package/report/renderer/category-renderer.js +1 -1
- package/report/renderer/components.d.ts +2 -2
- package/report/renderer/components.js +2 -103
- package/report/renderer/dom.d.ts +1 -1
- package/report/renderer/dom.js +1 -1
- package/report/renderer/performance-category-renderer.d.ts +0 -7
- package/report/renderer/performance-category-renderer.js +1 -32
- package/report/renderer/report-renderer.js +3 -13
- package/report/renderer/report-ui-features.js +1 -1
- package/report/renderer/report-utils.d.ts +0 -1
- package/report/renderer/report-utils.js +13 -13
- package/shared/localization/locales/ar-XB.json +62 -329
- package/shared/localization/locales/ar.json +62 -329
- package/shared/localization/locales/bg.json +62 -329
- package/shared/localization/locales/ca.json +62 -329
- package/shared/localization/locales/cs.json +62 -329
- package/shared/localization/locales/da.json +62 -329
- package/shared/localization/locales/de.json +62 -329
- package/shared/localization/locales/el.json +62 -329
- package/shared/localization/locales/en-GB.json +62 -329
- package/shared/localization/locales/en-US.json +41 -272
- package/shared/localization/locales/en-XA.json +62 -329
- package/shared/localization/locales/en-XL.json +41 -272
- package/shared/localization/locales/es-419.json +62 -329
- package/shared/localization/locales/es.json +62 -329
- package/shared/localization/locales/fi.json +62 -329
- package/shared/localization/locales/fil.json +61 -328
- package/shared/localization/locales/fr.json +62 -329
- package/shared/localization/locales/he.json +62 -329
- package/shared/localization/locales/hi.json +62 -329
- package/shared/localization/locales/hr.json +63 -330
- package/shared/localization/locales/hu.json +62 -329
- package/shared/localization/locales/id.json +62 -329
- package/shared/localization/locales/it.json +62 -329
- package/shared/localization/locales/ja.json +62 -329
- package/shared/localization/locales/ko.json +62 -329
- package/shared/localization/locales/lt.json +62 -329
- package/shared/localization/locales/lv.json +62 -329
- package/shared/localization/locales/nl.json +62 -329
- package/shared/localization/locales/no.json +62 -329
- package/shared/localization/locales/pl.json +61 -328
- package/shared/localization/locales/pt-PT.json +62 -329
- package/shared/localization/locales/pt.json +64 -331
- package/shared/localization/locales/ro.json +62 -329
- package/shared/localization/locales/ru.json +62 -329
- package/shared/localization/locales/sk.json +62 -329
- package/shared/localization/locales/sl.json +62 -329
- package/shared/localization/locales/sr-Latn.json +62 -329
- package/shared/localization/locales/sr.json +62 -329
- package/shared/localization/locales/sv.json +62 -329
- package/shared/localization/locales/ta.json +61 -328
- package/shared/localization/locales/te.json +62 -329
- package/shared/localization/locales/th.json +62 -329
- package/shared/localization/locales/tr.json +62 -329
- package/shared/localization/locales/uk.json +62 -329
- package/shared/localization/locales/vi.json +61 -328
- package/shared/localization/locales/zh-HK.json +62 -329
- package/shared/localization/locales/zh-TW.json +61 -328
- package/shared/localization/locales/zh.json +62 -329
- package/tsconfig.json +1 -3
- package/types/artifacts.d.ts +21 -110
- package/types/audit.d.ts +0 -10
- package/types/config.d.ts +0 -1
- package/types/externs.d.ts +0 -2
- package/types/gatherer.d.ts +3 -0
- package/types/internal/smokehouse.d.ts +1 -1
- package/types/lh.d.ts +0 -2
- package/types/lhr/audit-details.d.ts +9 -4
- package/types/lhr/lhr.d.ts +0 -4
- package/types/lhr/settings.d.ts +0 -4
- package/core/audits/accessibility/duplicate-id-active.js +0 -42
- package/core/audits/content-width.d.ts +0 -17
- package/core/audits/content-width.js +0 -76
- package/core/audits/installable-manifest.d.ts +0 -111
- package/core/audits/installable-manifest.js +0 -248
- package/core/audits/layout-shift-elements.d.ts +0 -16
- package/core/audits/layout-shift-elements.js +0 -101
- package/core/audits/manual/pwa-cross-browser.d.ts +0 -12
- package/core/audits/manual/pwa-cross-browser.js +0 -40
- package/core/audits/manual/pwa-each-page-has-url.d.ts +0 -12
- package/core/audits/manual/pwa-each-page-has-url.js +0 -38
- package/core/audits/manual/pwa-page-transitions.d.ts +0 -12
- package/core/audits/manual/pwa-page-transitions.js +0 -38
- package/core/audits/maskable-icon.d.ts +0 -25
- package/core/audits/maskable-icon.js +0 -70
- package/core/audits/multi-check-audit.d.ts +0 -28
- package/core/audits/multi-check-audit.js +0 -82
- package/core/audits/no-unload-listeners.d.ts +0 -16
- package/core/audits/no-unload-listeners.js +0 -86
- package/core/audits/performance-budget.d.ts +0 -39
- package/core/audits/performance-budget.js +0 -154
- package/core/audits/script-elements-test-audit.d.ts +0 -14
- package/core/audits/script-elements-test-audit.js +0 -29
- package/core/audits/seo/plugins.d.ts +0 -15
- package/core/audits/seo/plugins.js +0 -150
- package/core/audits/seo/tap-targets.d.ts +0 -50
- package/core/audits/seo/tap-targets.js +0 -352
- package/core/audits/splash-screen.d.ts +0 -37
- package/core/audits/splash-screen.js +0 -98
- package/core/audits/themed-omnibox.d.ts +0 -42
- package/core/audits/themed-omnibox.js +0 -102
- package/core/audits/timing-budget.d.ts +0 -43
- package/core/audits/timing-budget.js +0 -175
- package/core/computed/manifest-values.d.ts +0 -24
- package/core/computed/manifest-values.js +0 -136
- package/core/config/budget.d.ts +0 -74
- package/core/config/budget.js +0 -340
- package/core/config/metrics-to-audits.d.ts +0 -19
- package/core/config/metrics-to-audits.js +0 -62
- package/core/gather/driver/service-workers.d.ts +0 -16
- package/core/gather/driver/service-workers.js +0 -52
- package/core/gather/gatherers/dobetterweb/tags-blocking-first-paint.d.ts +0 -47
- package/core/gather/gatherers/dobetterweb/tags-blocking-first-paint.js +0 -233
- package/core/gather/gatherers/global-listeners.d.ts +0 -27
- package/core/gather/gatherers/global-listeners.js +0 -108
- package/core/gather/gatherers/installability-errors.d.ts +0 -17
- package/core/gather/gatherers/installability-errors.js +0 -56
- package/core/gather/gatherers/script-elements.d.ts +0 -21
- package/core/gather/gatherers/script-elements.js +0 -100
- package/core/gather/gatherers/seo/embedded-content.d.ts +0 -10
- package/core/gather/gatherers/seo/embedded-content.js +0 -63
- package/core/gather/gatherers/seo/tap-targets.d.ts +0 -21
- package/core/gather/gatherers/seo/tap-targets.js +0 -389
- package/core/gather/gatherers/service-worker.d.ts +0 -10
- package/core/gather/gatherers/service-worker.js +0 -32
- package/core/gather/gatherers/web-app-manifest.d.ts +0 -32
- package/core/gather/gatherers/web-app-manifest.js +0 -106
- package/report/renderer/pwa-category-renderer.d.ts +0 -55
- package/report/renderer/pwa-category-renderer.js +0 -184
- package/third-party/chromium-synchronization/installability-errors-test.js +0 -79
- package/types/lhr/budget.d.ts +0 -60
|
@@ -25,7 +25,6 @@ declare function useI18n(): {
|
|
|
25
25
|
categoryAccessibility: string;
|
|
26
26
|
categoryBestPractices: string;
|
|
27
27
|
categorySeo: string;
|
|
28
|
-
categoryProgressiveWebApp: string;
|
|
29
28
|
desktop: string;
|
|
30
29
|
mobile: string;
|
|
31
30
|
ratingPass: string;
|
|
@@ -110,7 +109,6 @@ declare function useI18n(): {
|
|
|
110
109
|
firstPartyChipLabel: string;
|
|
111
110
|
openInANewTabTooltip: string;
|
|
112
111
|
unattributable: string;
|
|
113
|
-
pwaRemovalMessage: string;
|
|
114
112
|
};
|
|
115
113
|
};
|
|
116
114
|
declare function useLocalizedStrings(): {
|
|
@@ -131,7 +129,6 @@ declare function useLocalizedStrings(): {
|
|
|
131
129
|
categoryAccessibility: string;
|
|
132
130
|
categoryBestPractices: string;
|
|
133
131
|
categorySeo: string;
|
|
134
|
-
categoryProgressiveWebApp: string;
|
|
135
132
|
desktop: string;
|
|
136
133
|
mobile: string;
|
|
137
134
|
ratingPass: string;
|
|
@@ -216,7 +213,6 @@ declare function useLocalizedStrings(): {
|
|
|
216
213
|
firstPartyChipLabel: string;
|
|
217
214
|
openInANewTabTooltip: string;
|
|
218
215
|
unattributable: string;
|
|
219
|
-
pwaRemovalMessage: string;
|
|
220
216
|
};
|
|
221
217
|
declare function useStringFormatter(): (str: string, values?: Record<string, string | number>) => string;
|
|
222
218
|
declare const I18nProvider: FunctionComponent;
|
|
@@ -16,7 +16,6 @@ export namespace UIStrings {
|
|
|
16
16
|
const categoryAccessibility: string;
|
|
17
17
|
const categoryBestPractices: string;
|
|
18
18
|
const categorySeo: string;
|
|
19
|
-
const categoryProgressiveWebApp: string;
|
|
20
19
|
const desktop: string;
|
|
21
20
|
const mobile: string;
|
|
22
21
|
const ratingPass: string;
|
|
@@ -43,8 +43,6 @@ export const UIStrings = {
|
|
|
43
43
|
categoryBestPractices: 'Best Practices',
|
|
44
44
|
/** Title of the Search Engine Optimization (SEO) category of audits. This is displayed at the top of a list of audits focused on topics related to optimizing a website for indexing by search engines. Also used as a label of a score gauge; try to limit to 20 characters. */
|
|
45
45
|
categorySeo: 'SEO',
|
|
46
|
-
/** Title of the Progressive Web Application (PWA) category of audits. This is displayed at the top of a list of audits focused on topics related to whether or not a site is a progressive web app, e.g. responds offline, uses a service worker, is on https, etc. Also used as a label of a score gauge. */
|
|
47
|
-
categoryProgressiveWebApp: 'Progressive Web App',
|
|
48
46
|
/** Label for a report evaluating a web page. Label indicates that the report refers to the desktop version of the site. */
|
|
49
47
|
desktop: 'Desktop',
|
|
50
48
|
/** Label for a report evaluating a web page. Label indicates that the report refers to the mobile version of the site. */
|
|
@@ -39,13 +39,6 @@ function getScoreToBeGained(audit: ScoredAuditRef): number {
|
|
|
39
39
|
return audit.weight * (1 - audit.result.score);
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
function getOverallSavings(audit: LH.ReportResult.AuditRef): number {
|
|
43
|
-
return (
|
|
44
|
-
audit.result.details &&
|
|
45
|
-
audit.result.details.overallSavingsMs
|
|
46
|
-
) || 0;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
42
|
const SummaryTooltipAudit: FunctionComponent<{audit: LH.ReportResult.AuditRef}> = ({audit}) => {
|
|
50
43
|
const rating = ReportUtils.calculateRating(audit.result.score, audit.result.scoreDisplayMode);
|
|
51
44
|
return (
|
|
@@ -63,10 +56,10 @@ const SummaryTooltipAudits: FunctionComponent<{category: LH.ReportResult.Categor
|
|
|
63
56
|
return audit.result.score !== null &&
|
|
64
57
|
// Metrics should not be displayed in this group.
|
|
65
58
|
audit.group !== 'metrics' &&
|
|
66
|
-
// Audits in
|
|
67
|
-
|
|
68
|
-
// We don't want unweighted audits except for
|
|
69
|
-
(audit.weight > 0 ||
|
|
59
|
+
// Audits in group "hidden" should not be counted.
|
|
60
|
+
audit.group !== 'hidden' &&
|
|
61
|
+
// We don't want unweighted audits except for performance diagnostics.
|
|
62
|
+
(audit.weight > 0 || audit.group === 'diagnostics') &&
|
|
70
63
|
// Passing audits should never be high impact.
|
|
71
64
|
!ReportUtils.showAsPassed(audit.result);
|
|
72
65
|
}
|
|
@@ -79,7 +72,12 @@ const SummaryTooltipAudits: FunctionComponent<{category: LH.ReportResult.Categor
|
|
|
79
72
|
const remainingScoreA = getScoreToBeGained(a);
|
|
80
73
|
const remainingScoreB = getScoreToBeGained(b);
|
|
81
74
|
if (remainingScoreA !== remainingScoreB) return remainingScoreB - remainingScoreA;
|
|
82
|
-
|
|
75
|
+
if (a.result.score !== b.result.score) return a.result.score - b.result.score;
|
|
76
|
+
|
|
77
|
+
// TODO: Sort using overall impact from metric savings, not just LCP
|
|
78
|
+
const aLcpSavings = a.result.metricSavings?.LCP || 0;
|
|
79
|
+
const bLcpSavings = b.result.metricSavings?.LCP || 0;
|
|
80
|
+
return bLcpSavings - aLcpSavings;
|
|
83
81
|
})
|
|
84
82
|
.splice(0, MAX_TOOLTIP_AUDITS);
|
|
85
83
|
if (!audits.length) return null;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lighthouse",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "12.0.0",
|
|
5
5
|
"description": "Automated auditing, performance metrics, and best practices for the web.",
|
|
6
6
|
"main": "./core/index.js",
|
|
7
7
|
"bin": {
|
|
@@ -165,7 +165,7 @@
|
|
|
165
165
|
"pako": "^2.0.3",
|
|
166
166
|
"preact": "^10.7.2",
|
|
167
167
|
"pretty-json-stringify": "^0.0.2",
|
|
168
|
-
"puppeteer": "^22.5
|
|
168
|
+
"puppeteer": "^22.6.5",
|
|
169
169
|
"resolve": "^1.22.1",
|
|
170
170
|
"rollup": "^2.52.7",
|
|
171
171
|
"rollup-plugin-polyfill-node": "^0.12.0",
|
|
@@ -199,12 +199,12 @@
|
|
|
199
199
|
"open": "^8.4.0",
|
|
200
200
|
"parse-cache-control": "1.0.1",
|
|
201
201
|
"ps-list": "^8.0.0",
|
|
202
|
-
"puppeteer-core": "^22.5
|
|
202
|
+
"puppeteer-core": "^22.6.5",
|
|
203
203
|
"robots-parser": "^3.0.1",
|
|
204
204
|
"semver": "^5.3.0",
|
|
205
205
|
"speedline-core": "^1.4.3",
|
|
206
|
-
"third-party-web": "^0.24.
|
|
207
|
-
"tldts-icann": "^6.1.
|
|
206
|
+
"third-party-web": "^0.24.2",
|
|
207
|
+
"tldts-icann": "^6.1.16",
|
|
208
208
|
"ws": "^7.0.0",
|
|
209
209
|
"yargs": "^17.3.1",
|
|
210
210
|
"yargs-parser": "^21.0.0"
|
package/readme.md
CHANGED
|
@@ -103,9 +103,8 @@ Configuration:
|
|
|
103
103
|
--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
104
|
--audit-mode, -A Process saved artifacts from disk. (Artifacts folder path may be provided, otherwise defaults to ./latest-run/)
|
|
105
105
|
--only-audits Only run the specified audits [array]
|
|
106
|
-
--only-categories Only run the specified categories. Available categories: accessibility, best-practices, performance,
|
|
106
|
+
--only-categories Only run the specified categories. Available categories: accessibility, best-practices, performance, seo [array]
|
|
107
107
|
--skip-audits Run everything except these audits [array]
|
|
108
|
-
--budget-path The path to the budget.json file for LightWallet. [string]
|
|
109
108
|
--disable-full-page-screenshot Disables collection of the full page screenshot, which can be quite large [boolean]
|
|
110
109
|
|
|
111
110
|
Output:
|
|
@@ -148,7 +147,7 @@ Examples:
|
|
|
148
147
|
lighthouse <url> --quiet --chrome-flags="--headless" Launch Headless Chrome, turn off logging
|
|
149
148
|
lighthouse <url> --extra-headers "{\"Cookie\":\"monster=blue\", \"x-men\":\"wolverine\"}" Stringify'd JSON HTTP Header key/value pairs to send in requests
|
|
150
149
|
lighthouse <url> --extra-headers=./path/to/file.json Path to JSON file of HTTP Header key/value pairs to send in requests
|
|
151
|
-
lighthouse <url> --only-categories=performance,
|
|
150
|
+
lighthouse <url> --only-categories=performance,seo Only run the specified categories. Available categories: accessibility, best-practices, performance, seo
|
|
152
151
|
|
|
153
152
|
For more information on Lighthouse, see https://developers.google.com/web/tools/lighthouse/.
|
|
154
153
|
```
|
|
@@ -242,7 +241,6 @@ Useful documentation, examples, and recipes to get you started.
|
|
|
242
241
|
- [Developing Plugins](./docs/plugins.md)
|
|
243
242
|
- [Making a New Audit](./docs/new-audits.md)
|
|
244
243
|
- [Testing on a mobile device](./docs/readme.md#testing-on-a-mobile-device)
|
|
245
|
-
- [Setting a performance budget](./docs/performance-budgets.md)
|
|
246
244
|
- [Lighthouse Architecture](./docs/architecture.md)
|
|
247
245
|
|
|
248
246
|
**Recipes**
|
|
@@ -364,6 +362,8 @@ This section details services that have integrated Lighthouse data. If you're wo
|
|
|
364
362
|
|
|
365
363
|
* **[Lighthouse Metrics China](http://lighthousemetricschina.com)** - The first Lighthouse metrics tool specifically designed for China. Experience unparalleled website monitoring capabilities with Lighthouse. Gain insights into the fluctuations of your scores and metrics within the realm of the [Great Firewall of China](https://www.chinafirewalltest.co), enabling a comprehensive understanding of the factors influencing each change. Lighthouse Metrics China offers both free and paid plans.
|
|
366
364
|
|
|
365
|
+
* **[DeploymentHawk](https://deploymenthawk.com)** - DeploymentHawk is an automated site auditing tool powered by Lighthouse. Effortlessly catch performance, accessibility, and SEO issues before they impact your users. DeploymentHawk is a paid product with a free 7-day trial.
|
|
366
|
+
|
|
367
367
|
## Lighthouse Integrations in non-Web Perf services
|
|
368
368
|
|
|
369
369
|
* **[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.
|
package/report/assets/styles.css
CHANGED
|
@@ -103,8 +103,6 @@
|
|
|
103
103
|
--plugin-badge-size-big: calc(var(--gauge-circle-size-big) / 2.7);
|
|
104
104
|
--plugin-badge-size: calc(var(--gauge-circle-size) / 2.7);
|
|
105
105
|
--plugin-icon-size: 65%;
|
|
106
|
-
--pwa-icon-margin: 0 var(--default-padding);
|
|
107
|
-
--pwa-icon-size: var(--topbar-logo-size);
|
|
108
106
|
--report-background-color: #fff;
|
|
109
107
|
--report-border-color-secondary: #ebebeb;
|
|
110
108
|
--report-font-family-monospace: 'Roboto Mono', 'Menlo', 'dejavu sans mono', 'Consolas', 'Lucida Console', monospace;
|
|
@@ -157,15 +155,6 @@
|
|
|
157
155
|
--fail-icon-url: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><title>warn</title><path fill="%23C7221F" d="M2 42h44L24 4 2 42zm24-6h-4v-4h4v4zm0-8h-4v-8h4v8z"/></svg>');
|
|
158
156
|
--error-icon-url: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 3 15"><title>error</title><path d="M0 15H 3V 12H 0V" fill="%23FF4E42"/><path d="M0 9H 3V 0H 0V" fill="%23FF4E42"/></svg>');
|
|
159
157
|
|
|
160
|
-
--pwa-installable-gray-url: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="nonzero"><circle fill="%23DAE0E3" cx="12" cy="12" r="12"/><path d="M12 5a7 7 0 1 0 0 14 7 7 0 0 0 0-14zm3.5 7.7h-2.8v2.8h-1.4v-2.8H8.5v-1.4h2.8V8.5h1.4v2.8h2.8v1.4z" fill="%23FFF"/></g></svg>');
|
|
161
|
-
--pwa-optimized-gray-url: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><rect fill="%23DAE0E3" width="24" height="24" rx="12"/><path fill="%23FFF" d="M12 15.07l3.6 2.18-.95-4.1 3.18-2.76-4.2-.36L12 6.17l-1.64 3.86-4.2.36 3.2 2.76-.96 4.1z"/><path d="M5 5h14v14H5z"/></g></svg>');
|
|
162
|
-
|
|
163
|
-
--pwa-installable-gray-url-dark: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="nonzero"><circle fill="%23424242" cx="12" cy="12" r="12"/><path d="M12 5a7 7 0 1 0 0 14 7 7 0 0 0 0-14zm3.5 7.7h-2.8v2.8h-1.4v-2.8H8.5v-1.4h2.8V8.5h1.4v2.8h2.8v1.4z" fill="%23FFF"/></g></svg>');
|
|
164
|
-
--pwa-optimized-gray-url-dark: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><rect fill="%23424242" width="24" height="24" rx="12"/><path fill="%23FFF" d="M12 15.07l3.6 2.18-.95-4.1 3.18-2.76-4.2-.36L12 6.17l-1.64 3.86-4.2.36 3.2 2.76-.96 4.1z"/><path d="M5 5h14v14H5z"/></g></svg>');
|
|
165
|
-
|
|
166
|
-
--pwa-installable-color-url: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><g fill-rule="nonzero" fill="none"><circle fill="%230CCE6B" cx="12" cy="12" r="12"/><path d="M12 5a7 7 0 1 0 0 14 7 7 0 0 0 0-14zm3.5 7.7h-2.8v2.8h-1.4v-2.8H8.5v-1.4h2.8V8.5h1.4v2.8h2.8v1.4z" fill="%23FFF"/></g></svg>');
|
|
167
|
-
--pwa-optimized-color-url: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><rect fill="%230CCE6B" width="24" height="24" rx="12"/><path d="M5 5h14v14H5z"/><path fill="%23FFF" d="M12 15.07l3.6 2.18-.95-4.1 3.18-2.76-4.2-.36L12 6.17l-1.64 3.86-4.2.36 3.2 2.76-.96 4.1z"/></g></svg>');
|
|
168
|
-
|
|
169
158
|
--swap-locale-icon-url: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"/></svg>');
|
|
170
159
|
}
|
|
171
160
|
|
|
@@ -207,8 +196,6 @@
|
|
|
207
196
|
|
|
208
197
|
/* SVGs */
|
|
209
198
|
--plugin-icon-url: var(--plugin-icon-url-dark);
|
|
210
|
-
--pwa-installable-gray-url: var(--pwa-installable-gray-url-dark);
|
|
211
|
-
--pwa-optimized-gray-url: var(--pwa-optimized-gray-url-dark);
|
|
212
199
|
}
|
|
213
200
|
}
|
|
214
201
|
|
|
@@ -229,7 +216,6 @@
|
|
|
229
216
|
--header-padding: 16px 0 16px 0;
|
|
230
217
|
--image-preview-size: 24px;
|
|
231
218
|
--plugin-icon-size: 75%;
|
|
232
|
-
--pwa-icon-margin: 0 7px 0 -3px;
|
|
233
219
|
--report-font-size: 14px;
|
|
234
220
|
--report-line-height: 20px;
|
|
235
221
|
--score-icon-margin-left: 2px;
|
|
@@ -261,7 +247,6 @@
|
|
|
261
247
|
--header-padding: 16px 0 16px 0;
|
|
262
248
|
--screenshot-overlay-background: transparent;
|
|
263
249
|
--plugin-icon-size: 75%;
|
|
264
|
-
--pwa-icon-margin: 0 7px 0 -3px;
|
|
265
250
|
--report-font-family-monospace: 'Menlo', 'dejavu sans mono', 'Consolas', 'Lucida Console', monospace;
|
|
266
251
|
--report-font-family: '.SFNSDisplay-Regular', 'Helvetica Neue', 'Lucida Grande', sans-serif;
|
|
267
252
|
--report-font-size: 12px;
|
|
@@ -931,48 +916,6 @@
|
|
|
931
916
|
margin-bottom: calc(var(--audit-group-margin-bottom) / 2);
|
|
932
917
|
}
|
|
933
918
|
|
|
934
|
-
.lh-audit-group__header::before {
|
|
935
|
-
/* By default, groups don't get an icon */
|
|
936
|
-
content: none;
|
|
937
|
-
width: var(--pwa-icon-size);
|
|
938
|
-
height: var(--pwa-icon-size);
|
|
939
|
-
margin: var(--pwa-icon-margin);
|
|
940
|
-
display: inline-block;
|
|
941
|
-
vertical-align: middle;
|
|
942
|
-
}
|
|
943
|
-
|
|
944
|
-
/* Style the "over budget" columns red. */
|
|
945
|
-
.lh-audit-group--budgets #performance-budget tbody tr td:nth-child(4),
|
|
946
|
-
.lh-audit-group--budgets #performance-budget tbody tr td:nth-child(5),
|
|
947
|
-
.lh-audit-group--budgets #timing-budget tbody tr td:nth-child(3) {
|
|
948
|
-
color: var(--color-red-700);
|
|
949
|
-
}
|
|
950
|
-
|
|
951
|
-
/* Align the "over budget request count" text to be close to the "over budget bytes" column. */
|
|
952
|
-
.lh-audit-group--budgets .lh-table tbody tr td:nth-child(4){
|
|
953
|
-
text-align: right;
|
|
954
|
-
}
|
|
955
|
-
|
|
956
|
-
.lh-audit-group--budgets .lh-details--budget {
|
|
957
|
-
width: 100%;
|
|
958
|
-
margin: 0 0 var(--default-padding);
|
|
959
|
-
}
|
|
960
|
-
|
|
961
|
-
.lh-audit-group--pwa-installable .lh-audit-group__header::before {
|
|
962
|
-
content: '';
|
|
963
|
-
background-image: var(--pwa-installable-gray-url);
|
|
964
|
-
}
|
|
965
|
-
.lh-audit-group--pwa-optimized .lh-audit-group__header::before {
|
|
966
|
-
content: '';
|
|
967
|
-
background-image: var(--pwa-optimized-gray-url);
|
|
968
|
-
}
|
|
969
|
-
.lh-audit-group--pwa-installable.lh-badged .lh-audit-group__header::before {
|
|
970
|
-
background-image: var(--pwa-installable-color-url);
|
|
971
|
-
}
|
|
972
|
-
.lh-audit-group--pwa-optimized.lh-badged .lh-audit-group__header::before {
|
|
973
|
-
background-image: var(--pwa-optimized-color-url);
|
|
974
|
-
}
|
|
975
|
-
|
|
976
919
|
.lh-audit-group--metrics .lh-audit-group__summary {
|
|
977
920
|
margin-top: 0;
|
|
978
921
|
margin-bottom: 0;
|
|
@@ -1323,10 +1266,8 @@
|
|
|
1323
1266
|
|
|
1324
1267
|
.lh-scores-header .lh-gauge__wrapper,
|
|
1325
1268
|
.lh-scores-header .lh-fraction__wrapper,
|
|
1326
|
-
.lh-scores-header .lh-gauge--pwa__wrapper,
|
|
1327
1269
|
.lh-sticky-header .lh-gauge__wrapper,
|
|
1328
|
-
.lh-sticky-header .lh-fraction__wrapper
|
|
1329
|
-
.lh-sticky-header .lh-gauge--pwa__wrapper {
|
|
1270
|
+
.lh-sticky-header .lh-fraction__wrapper {
|
|
1330
1271
|
width: var(--gauge-wrapper-width);
|
|
1331
1272
|
}
|
|
1332
1273
|
|
|
@@ -514,101 +514,6 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
514
514
|
</a>
|
|
515
515
|
</template>
|
|
516
516
|
|
|
517
|
-
|
|
518
|
-
<!-- Lighthouse PWA badge gauge -->
|
|
519
|
-
<template id="gaugePwa">
|
|
520
|
-
<style>
|
|
521
|
-
.lh-gauge--pwa .lh-gauge--pwa__component {
|
|
522
|
-
display: none;
|
|
523
|
-
}
|
|
524
|
-
.lh-gauge--pwa__wrapper:not(.lh-badged--all) .lh-gauge--pwa__logo > path {
|
|
525
|
-
/* Gray logo unless everything is passing. */
|
|
526
|
-
fill: #B0B0B0;
|
|
527
|
-
}
|
|
528
|
-
|
|
529
|
-
.lh-gauge--pwa__disc {
|
|
530
|
-
fill: var(--color-gray-200);
|
|
531
|
-
}
|
|
532
|
-
|
|
533
|
-
.lh-gauge--pwa__logo--primary-color {
|
|
534
|
-
fill: #304FFE;
|
|
535
|
-
}
|
|
536
|
-
|
|
537
|
-
.lh-gauge--pwa__logo--secondary-color {
|
|
538
|
-
fill: #3D3D3D;
|
|
539
|
-
}
|
|
540
|
-
.lh-dark .lh-gauge--pwa__logo--secondary-color {
|
|
541
|
-
fill: #D8B6B6;
|
|
542
|
-
}
|
|
543
|
-
|
|
544
|
-
/* No passing groups. */
|
|
545
|
-
.lh-gauge--pwa__wrapper:not([class*='lh-badged--']) .lh-gauge--pwa__na-line {
|
|
546
|
-
display: inline;
|
|
547
|
-
}
|
|
548
|
-
/* Just optimized. Same n/a line as no passing groups. */
|
|
549
|
-
.lh-gauge--pwa__wrapper.lh-badged--pwa-optimized:not(.lh-badged--pwa-installable) .lh-gauge--pwa__na-line {
|
|
550
|
-
display: inline;
|
|
551
|
-
}
|
|
552
|
-
|
|
553
|
-
/* Just installable. */
|
|
554
|
-
.lh-gauge--pwa__wrapper.lh-badged--pwa-installable .lh-gauge--pwa__installable-badge {
|
|
555
|
-
display: inline;
|
|
556
|
-
}
|
|
557
|
-
|
|
558
|
-
/* All passing groups. */
|
|
559
|
-
.lh-gauge--pwa__wrapper.lh-badged--all .lh-gauge--pwa__check-circle {
|
|
560
|
-
display: inline;
|
|
561
|
-
}
|
|
562
|
-
</style>
|
|
563
|
-
|
|
564
|
-
<a class="lh-gauge__wrapper lh-gauge--pwa__wrapper">
|
|
565
|
-
<svg viewBox="0 0 60 60" class="lh-gauge lh-gauge--pwa">
|
|
566
|
-
<defs>
|
|
567
|
-
<linearGradient id="lh-gauge--pwa__check-circle__gradient" x1="50%" y1="0%" x2="50%" y2="100%">
|
|
568
|
-
<stop stop-color="#00C852" offset="0%"></stop>
|
|
569
|
-
<stop stop-color="#009688" offset="100%"></stop>
|
|
570
|
-
</linearGradient>
|
|
571
|
-
<linearGradient id="lh-gauge--pwa__installable__shadow-gradient" x1="76.056%" x2="24.111%" y1="82.995%" y2="24.735%">
|
|
572
|
-
<stop stop-color="#A5D6A7" offset="0%"></stop>
|
|
573
|
-
<stop stop-color="#80CBC4" offset="100%"></stop>
|
|
574
|
-
</linearGradient>
|
|
575
|
-
|
|
576
|
-
<g id="lh-gauge--pwa__installable-badge">
|
|
577
|
-
<circle fill="#FFFFFF" cx="10" cy="10" r="10"></circle>
|
|
578
|
-
<path fill="#009688" d="M10 4.167A5.835 5.835 0 0 0 4.167 10 5.835 5.835 0 0 0 10 15.833 5.835 5.835 0 0 0 15.833 10 5.835 5.835 0 0 0 10 4.167zm2.917 6.416h-2.334v2.334H9.417v-2.334H7.083V9.417h2.334V7.083h1.166v2.334h2.334v1.166z"/>
|
|
579
|
-
</g>
|
|
580
|
-
</defs>
|
|
581
|
-
|
|
582
|
-
<g stroke="none" fill-rule="nonzero">
|
|
583
|
-
<!-- Background and PWA logo (color by default) -->
|
|
584
|
-
<circle class="lh-gauge--pwa__disc" cx="30" cy="30" r="30"></circle>
|
|
585
|
-
<g class="lh-gauge--pwa__logo">
|
|
586
|
-
<path class="lh-gauge--pwa__logo--secondary-color" d="M35.66 19.39l.7-1.75h2L37.4 15 38.6 12l3.4 9h-2.51l-.58-1.61z"/>
|
|
587
|
-
<path class="lh-gauge--pwa__logo--primary-color" d="M33.52 21l3.65-9h-2.42l-2.5 5.82L30.5 12h-1.86l-1.9 5.82-1.35-2.65-1.21 3.72L25.4 21h2.38l1.72-5.2 1.64 5.2z"/>
|
|
588
|
-
<path class="lh-gauge--pwa__logo--secondary-color" fill-rule="nonzero" d="M20.3 17.91h1.48c.45 0 .85-.05 1.2-.15l.39-1.18 1.07-3.3a2.64 2.64 0 0 0-.28-.37c-.55-.6-1.36-.91-2.42-.91H18v9h2.3V17.9zm1.96-3.84c.22.22.33.5.33.87 0 .36-.1.65-.29.87-.2.23-.59.35-1.15.35h-.86v-2.41h.87c.52 0 .89.1 1.1.32z"/>
|
|
589
|
-
</g>
|
|
590
|
-
|
|
591
|
-
<!-- No badges. -->
|
|
592
|
-
<rect class="lh-gauge--pwa__component lh-gauge--pwa__na-line" fill="#FFFFFF" x="20" y="32" width="20" height="4" rx="2"></rect>
|
|
593
|
-
|
|
594
|
-
<!-- Just installable. -->
|
|
595
|
-
<g class="lh-gauge--pwa__component lh-gauge--pwa__installable-badge" transform="translate(20, 29)">
|
|
596
|
-
<path fill="url(#lh-gauge--pwa__installable__shadow-gradient)" d="M33.629 19.487c-4.272 5.453-10.391 9.39-17.415 10.869L3 17.142 17.142 3 33.63 19.487z"/>
|
|
597
|
-
<use href="#lh-gauge--pwa__installable-badge" />
|
|
598
|
-
</g>
|
|
599
|
-
|
|
600
|
-
<!-- Full PWA. -->
|
|
601
|
-
<g class="lh-gauge--pwa__component lh-gauge--pwa__check-circle" transform="translate(18, 28)">
|
|
602
|
-
<circle fill="#FFFFFF" cx="12" cy="12" r="12"></circle>
|
|
603
|
-
<path fill="url(#lh-gauge--pwa__check-circle__gradient)" d="M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"></path>
|
|
604
|
-
</g>
|
|
605
|
-
</g>
|
|
606
|
-
</svg>
|
|
607
|
-
|
|
608
|
-
<div class="lh-gauge__label"></div>
|
|
609
|
-
</a>
|
|
610
|
-
</template>
|
|
611
|
-
|
|
612
517
|
<!-- Lighthouse crtiical request chains component -->
|
|
613
518
|
<template id="crc">
|
|
614
519
|
<div class="lh-crc-container">
|
|
@@ -239,7 +239,6 @@ export class CategoryRenderer {
|
|
|
239
239
|
|
|
240
240
|
for (const auditRef of auditRefs) {
|
|
241
241
|
const groupId = auditRef.group || notAGroup;
|
|
242
|
-
if (groupId === 'hidden') continue;
|
|
243
242
|
const groupAuditRefs = grouped.get(groupId) || [];
|
|
244
243
|
groupAuditRefs.push(auditRef);
|
|
245
244
|
grouped.set(groupId, groupAuditRefs);
|
|
@@ -531,6 +530,7 @@ export class CategoryRenderer {
|
|
|
531
530
|
|
|
532
531
|
// Sort audits into clumps.
|
|
533
532
|
for (const auditRef of category.auditRefs) {
|
|
533
|
+
if (auditRef.group === 'hidden') continue;
|
|
534
534
|
const clumpId = this._getClumpIdForAuditRef(auditRef);
|
|
535
535
|
const clump = /** @type {Array<LH.ReportResult.AuditRef>} */ (clumps.get(clumpId)); // already defined
|
|
536
536
|
clump.push(auditRef);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @typedef {'3pFilter'|'audit'|'categoryHeader'|'chevron'|'clump'|'crc'|'crcChain'|'elementScreenshot'|'explodeyGauge'|'footer'|'fraction'|'gauge'|'
|
|
1
|
+
/** @typedef {'3pFilter'|'audit'|'categoryHeader'|'chevron'|'clump'|'crc'|'crcChain'|'elementScreenshot'|'explodeyGauge'|'footer'|'fraction'|'gauge'|'heading'|'metric'|'scorescale'|'scoresWrapper'|'snippet'|'snippetContent'|'snippetHeader'|'snippetLine'|'styles'|'topbar'|'warningsToplevel'} ComponentName */
|
|
2
2
|
/**
|
|
3
3
|
* @param {DOM} dom
|
|
4
4
|
* @param {ComponentName} componentName
|
|
@@ -6,5 +6,5 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export function createComponent(dom: DOM, componentName: ComponentName): DocumentFragment;
|
|
8
8
|
export type DOM = import('./dom.js').DOM;
|
|
9
|
-
export type ComponentName = '3pFilter' | 'audit' | 'categoryHeader' | 'chevron' | 'clump' | 'crc' | 'crcChain' | 'elementScreenshot' | 'explodeyGauge' | 'footer' | 'fraction' | 'gauge' | '
|
|
9
|
+
export type ComponentName = '3pFilter' | 'audit' | 'categoryHeader' | 'chevron' | 'clump' | 'crc' | 'crcChain' | 'elementScreenshot' | 'explodeyGauge' | 'footer' | 'fraction' | 'gauge' | 'heading' | 'metric' | 'scorescale' | 'scoresWrapper' | 'snippet' | 'snippetContent' | 'snippetHeader' | 'snippetLine' | 'styles' | 'topbar' | 'warningsToplevel';
|
|
10
10
|
//# sourceMappingURL=components.d.ts.map
|