Automated auditing, performance metrics, and best practices for the web.
This report summarizes scanner evidence for GoogleChrome/lighthouse, a JavaScript project with 30,988 GitHub stars. SynthScan examined 441,757 lines of code across 1134 source files, recording 407 pattern matches distributed across 11 syntactic categories. The legacy adjusted pattern signal is 1.5 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 389 finding(s).
Are imports declared and package/API names verified? 14 finding(s).
Are wrappers, guards, and repeated structures necessary? 133 finding(s).
Which changes need focused human review? 407 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 407 distinct pattern matches across 11 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | core/test/results/sample_v2.json | 4644 | "description": "A well-formed [accessibility tree](https://developer.chrome.com/docs/lighthouse/agentic-browsing/a | CODE |
| MEDIUM | core/test/results/sample_v2.json | 4865 | "description": "If your llms.txt file does not follow recommendations, large language models may not be able to un | CODE |
| MEDIUM | core/test/results/sample_v2.json | 4893 | "description": "A valid Agentic Resource Discovery (ARD) manifest, served at `/.well-known/ard.json` or linked wit | CODE |
| MEDIUM | core/test/results/sample_v2.json | 7068 | "description": "These checks ensure high-quality, [browsable websites for AI agents](https://goo.gle/lighthouse-ag | CODE |
| MEDIUM | core/audits/agentic/ard-schema.js | 34 | '[Learn more about the ARD audit](https://developer.chrome.com/docs/lighthouse/agentic-browsing/ard).', | CODE |
| MEDIUM | core/audits/agentic/agent-accessibility-tree.js | 17 | '[accessibility tree](https://developer.chrome.com/docs/lighthouse/agentic-browsing/accessibility-for-agents) ' + | CODE |
| MEDIUM | core/audits/agentic/llms-txt.js | 23 | '[Learn more about the llms.txt audit](https://developer.chrome.com/docs/lighthouse/agentic-browsing/llms-txt).', | CODE |
| MEDIUM | core/config/default-config.js | 106 | agenticBrowsingCategoryDescription: 'These checks ensure high-quality, [browsable websites for AI agents](https://goo. | CODE |
| MEDIUM | core/config/agentic-browsing-config.js | 14 | agenticBrowsingCategoryDescription: 'These checks ensure high-quality, [browsable websites for AI agents](https://goo. | CODE |
| MEDIUM | shared/localization/locales/zh.json | 606 | "message": "结构良好的[无障碍功能树](https://developer.chrome.com/docs/lighthouse/agentic-browsing/accessibility-for-agents)可帮助 | CODE |
| MEDIUM | shared/localization/locales/zh.json | 642 | "message": "如果 llms.txt 文件不符合建议的准则,大语言模型可能无法理解您对网站抓取或模型训练的具体意图。[llms.txt](https://llmstxt.org/) 文件应采用 Markdown 格式,并至 | CODE |
| MEDIUM | shared/localization/locales/zh.json | 1458 | "message": "这些检查可确保网站具备高品质且[适合 AI 智能体浏览](https://goo.gle/lighthouse-agentic-web),并验证 WebMCP 集成的正确性。此类别仍在开发中,可能会发生变化。 | CODE |
| MEDIUM | shared/localization/locales/zh.json | 1539 | "message": "这些检查可确保网站具备高品质且[适合 AI 智能体浏览](https://goo.gle/lighthouse-agentic-web),并验证 WebMCP 集成的正确性。此类别仍在开发中,可能会发生变化。 | CODE |
| MEDIUM | shared/localization/locales/en-XL.json | 606 | "message": "Â ẃêĺl̂-f́ôŕm̂éd̂ [áĉćêśŝíb̂íl̂ít̂ý t̂ŕêé](https://developer.chrome.com/docs/lightho | CODE |
| MEDIUM | shared/localization/locales/en-XL.json | 627 | "message": "Â v́âĺîd́ Âǵêńt̂íĉ Ŕêśôúr̂ćê D́îśĉóv̂ér̂ý (ÂŔD̂) ḿâńîf́êśt̂, śêŕv̂éd̂ | CODE |
| MEDIUM | shared/localization/locales/en-XL.json | 651 | "message": "Îf́ ŷóûŕ l̂ĺm̂ś.t̂x́t̂ f́îĺê d́ôéŝ ńôt́ f̂ól̂ĺôẃ r̂éĉóm̂ḿêńd̂át̂íôńŝ, ĺâ | CODE |
| MEDIUM | shared/localization/locales/en-XL.json | 1470 | "message": "T̂h́êśê ćĥéĉḱŝ én̂śûŕê h́îǵĥ-q́ûál̂ít̂ý, [b̂ŕôẃŝáb̂ĺê ẃêb́ŝít̂éŝ f́ôr | CODE |
| MEDIUM | shared/localization/locales/en-XL.json | 1551 | "message": "T̂h́êśê ćĥéĉḱŝ én̂śûŕê h́îǵĥ-q́ûál̂ít̂ý, [b̂ŕôẃŝáb̂ĺê ẃêb́ŝít̂éŝ f́ôr | CODE |
| MEDIUM | shared/localization/locales/tr.json | 606 | "message": "Düzgün biçimlendirilmiş bir [erişilebilirlik ağacı](https://developer.chrome.com/docs/lighthouse/agentic | CODE |
| MEDIUM | shared/localization/locales/tr.json | 642 | "message": "llms.txt dosyanız önerilere uygun değilse büyük dil modelleri, web sitenizin nasıl taranmasını veya eğit | CODE |
| MEDIUM | shared/localization/locales/tr.json | 1458 | "message": "Bu kontroller, [yapay zeka ajanları için yüksek kaliteli, göz atılabilir web siteleri](https://goo.gle/l | CODE |
| MEDIUM | shared/localization/locales/tr.json | 1539 | "message": "Bu kontroller, [yapay zeka ajanları için yüksek kaliteli, göz atılabilir web siteleri](https://goo.gle/l | CODE |
| MEDIUM | shared/localization/locales/sl.json | 606 | "message": "Dobro oblikovano [drevo za dostopnost](https://developer.chrome.com/docs/lighthouse/agentic-browsing/acc | CODE |
| MEDIUM | shared/localization/locales/sl.json | 642 | "message": "Če datoteka llms.txt ne upošteva priporočil, veliki jezikovni modeli morda ne bodo razumeli, kako želite | CODE |
| MEDIUM | shared/localization/locales/sl.json | 1458 | "message": "Ta preverjanja zagotavljajo visokokakovostna [spletna mesta, po katerih lahko brskajo agenti z umetno in | CODE |
| MEDIUM | shared/localization/locales/sl.json | 1539 | "message": "Ta preverjanja zagotavljajo visokokakovostna [spletna mesta, po katerih lahko brskajo agenti z umetno in | CODE |
| MEDIUM | shared/localization/locales/hu.json | 606 | "message": "A [kisegítő lehetőségek megfelelően formázott fája](https://developer.chrome.com/docs/lighthouse/agentic | CODE |
| MEDIUM | shared/localization/locales/hu.json | 642 | "message": "Ha az llms.txt fájl nem követi a javaslatokat, akkor előfordulhat, hogy a nagy nyelvi modellek nem tudjá | CODE |
| MEDIUM | shared/localization/locales/hu.json | 1458 | "message": "Ezek az ellenőrzések biztosítják az [AI-ügynökök számára a jó minőségű, böngészhető webhelyeket](https:/ | CODE |
| MEDIUM | shared/localization/locales/hu.json | 1539 | "message": "Ezek az ellenőrzések biztosítják az [AI-ügynökök számára a jó minőségű, böngészhető webhelyeket](https:/ | CODE |
| MEDIUM | shared/localization/locales/lt.json | 606 | "message": "Kai [pritaikomumo medžio](https://developer.chrome.com/docs/lighthouse/agentic-browsing/accessibility-fo | CODE |
| MEDIUM | shared/localization/locales/lt.json | 642 | "message": "Jei failas „llms.txt“ neatitinka rekomendacijų, didelės apimties kalbos modeliai gali nesuprasti, kaip n | CODE |
| MEDIUM | shared/localization/locales/lt.json | 1458 | "message": "Šios patikros užtikrina aukštos kokybės, [naršomas svetaines DI tarpininkams](https://goo.gle/lighthouse | CODE |
| MEDIUM | shared/localization/locales/lt.json | 1539 | "message": "Šios patikros užtikrina aukštos kokybės, [naršomas svetaines DI tarpininkams](https://goo.gle/lighthouse | CODE |
| MEDIUM | shared/localization/locales/ar-XB.json | 606 | "message": "A well-formed [accessibility tree](https://developer.chrome.com/docs/lighthouse/agen | CODE |
| MEDIUM | shared/localization/locales/ar-XB.json | 642 | "message": "If your llms.txt file does not follow recommendations, large l | CODE |
| MEDIUM | shared/localization/locales/ar-XB.json | 1458 | "message": "These checks ensure high-quality, [browsable websites for AI agent | CODE |
| MEDIUM | shared/localization/locales/ar-XB.json | 1539 | "message": "These checks ensure high-quality, [browsable websites for AI agent | CODE |
| MEDIUM | shared/localization/locales/en-XA.json | 606 | "message": "[Å ŵéļļ-ƒöŕméð ᐅ[ᐊåççéššîбîļîţý ţŕééᐅ](https://developer.chrome.com/docs/lighthouse/agentic-browsing/acc | CODE |
| MEDIUM | shared/localization/locales/en-XA.json | 642 | "message": "[΃ ýöûŕ ļļmš.ţxţ ƒîļé ðöéš ñöţ ƒöļļöŵ ŕéçömméñðåţîöñš, ļåŕĝé ļåñĝûåĝé möðéļš måý ñöţ бé åбļé ţö ûñðéŕšţ | CODE |
| MEDIUM | shared/localization/locales/en-XA.json | 1458 | "message": "[Ţĥéšé çĥéçķš éñšûŕé ĥîĝĥ-qûåļîţý, ᐅ[ᐊбŕöŵšåбļé ŵéбšîţéš ƒöŕ ÅÎ åĝéñţšᐅ](https://goo.gle/lighthouse-agen | CODE |
| MEDIUM | shared/localization/locales/en-XA.json | 1539 | "message": "[Ţĥéšé çĥéçķš éñšûŕé ĥîĝĥ-qûåļîţý, ᐅ[ᐊбŕöŵšåбļé ŵéбšîţéš ƒöŕ ÅÎ åĝéñţšᐅ](https://goo.gle/lighthouse-agen | CODE |
| MEDIUM | shared/localization/locales/nl.json | 606 | "message": "Met een [toegankelijkheidsstructuur](https://developer.chrome.com/docs/lighthouse/agentic-browsing/acces | CODE |
| MEDIUM | shared/localization/locales/nl.json | 642 | "message": "Als je llms.txt-bestand niet de aanbevelingen volgt, begrijpen grote taalmodellen misschien niet hoe je | CODE |
| MEDIUM | shared/localization/locales/nl.json | 1458 | "message": "Deze checks zorgen voor [websites van hoge kwaliteit die AI-agents kunnen doorzoeken](https://goo.gle/li | CODE |
| MEDIUM | shared/localization/locales/nl.json | 1539 | "message": "Deze checks zorgen voor [websites van hoge kwaliteit die AI-agents kunnen doorzoeken](https://goo.gle/li | CODE |
| MEDIUM | shared/localization/locales/ja.json | 606 | "message": "適切な形式の[ユーザー補助ツリー](https://developer.chrome.com/docs/lighthouse/agentic-browsing/accessibility-for-agents | CODE |
| MEDIUM | shared/localization/locales/ja.json | 642 | "message": "llms.txt ファイルが推奨事項に準拠していない場合、大規模言語モデルにウェブサイトのクロールやトレーニングへの使用について指示できない可能性があります。[llms.txt](https://llmstx | CODE |
| MEDIUM | shared/localization/locales/ja.json | 1458 | "message": "これらのチェックを行うことで、[AI エージェントによるブラウジングが可能な質の高いウェブサイト](https://goo.gle/lighthouse-agentic-web)であるかどうかと、WebMCP | CODE |
| MEDIUM | shared/localization/locales/ja.json | 1539 | "message": "これらのチェックを行うことで、[AI エージェントによるブラウジングが可能な質の高いウェブサイト](https://goo.gle/lighthouse-agentic-web)であるかどうかと、WebMCP | CODE |
| MEDIUM | shared/localization/locales/de.json | 606 | "message": "Ein gut strukturierter Baum für [Barrierefreiheit](https://developer.chrome.com/docs/lighthouse/agentic- | CODE |
| MEDIUM | shared/localization/locales/de.json | 642 | "message": "Wenn deine llms.txt-Datei nicht den Empfehlungen entspricht, können Large Language Models möglicherweise | CODE |
| MEDIUM | shared/localization/locales/de.json | 1458 | "message": "Diese Prüfungen helfen dabei, [hochwertige, durchsuchbare Websites für KI-Agenten](https://goo.gle/light | CODE |
| MEDIUM | shared/localization/locales/de.json | 1539 | "message": "Diese Prüfungen helfen dabei, [hochwertige, durchsuchbare Websites für KI-Agenten](https://goo.gle/light | CODE |
| MEDIUM | shared/localization/locales/ru.json | 606 | "message": "Корректно сформированное [дерево доступности](https://developer.chrome.com/docs/lighthouse/agentic-brows | CODE |
| MEDIUM | shared/localization/locales/ru.json | 642 | "message": "Если файл llms.txt не соответствует рекомендациям, большие языковые модели могут не распознать ваши инст | CODE |
| MEDIUM | shared/localization/locales/ru.json | 1458 | "message": "Эти проверки гарантируют высокое качество [сайтов для ИИ-агентов](https://goo.gle/lighthouse-agentic-web | CODE |
| MEDIUM | shared/localization/locales/ru.json | 1539 | "message": "Эти проверки гарантируют высокое качество [сайтов для ИИ-агентов](https://goo.gle/lighthouse-agentic-web | CODE |
| MEDIUM | shared/localization/locales/pl.json | 606 | "message": "Prawidłowe [drzewo ułatwień dostępu](https://developer.chrome.com/docs/lighthouse/agentic-browsing/acces | CODE |
| MEDIUM | shared/localization/locales/pl.json | 642 | "message": "Jeśli plik llms.txt nie jest zgodny z zaleceniami, duże modele językowe (LLM-y) mogą nie wiedzieć, jak m | CODE |
| 156 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | clients/extension/scripts/popup.js | 87 | function onGenerateReportButtonClick(backend, url, settings) { | CODE |
| LOW | clients/extension/scripts/popup.js | 115 | function generateCategoryOptionsList(settings) { | CODE |
| LOW | clients/extension/scripts/popup.js | 132 | function generateBackendOptionsList(settings) { | CODE |
| LOW | clients/extension/scripts/popup.js | 159 | function getLocalizedLanguageRegion(localeString, currentLocale) { | CODE |
| LOW | clients/extension/scripts/popup.js | 195 | function generateLocaleOptionsList(settings) { | CODE |
| LOW | clients/extension/scripts/popup.js | 230 | function readSettingsFromDomAndPersist() { | CODE |
| LOW | core/gather/runner-helpers.js | 139 | async function collectArtifactDependencies(artifact, artifactsById) { | CODE |
| LOW | core/gather/gatherers/accessibility.js | 120 | function createAxeRuleResultArtifact(result) { | CODE |
| LOW | core/gather/gatherers/scripts.js | 162 | function isLighthouseRuntimeEvaluateScript(script) { | CODE |
| LOW | core/gather/gatherers/image-elements.js | 182 | function findMostSpecificMatchedCSSRule(matchedCSSRules = [], isDeclarationOfInterest) { | CODE |
| LOW | core/gather/driver/wait-for-condition.js | 286 | function registerPerformanceObserverInPage() { | CODE |
| LOW | core/gather/driver/wait-for-condition.js | 310 | function checkTimeSinceLastLongTaskInPage() { | CODE |
| LOW | core/gather/driver/navigation.js | 45 | function resolveWaitForFullyLoadedOptions(options) { | CODE |
| LOW | core/gather/driver/dom.js | 11 | function handlePotentialMissingNodeError(err) { | CODE |
| LOW | core/gather/driver/dom.js | 47 | async function resolveDevtoolsNodePathToObjectId(session, path) { | CODE |
| LOW | core/gather/driver/prepare.js | 61 | async function shimRequestIdleCallbackOnNewDocument(driver, settings) { | CODE |
| LOW | core/gather/driver/prepare.js | 119 | async function prepareThrottlingAndNetwork(session, settings) { | CODE |
| LOW | core/gather/driver/prepare.js | 158 | async function prepareTargetForTimespanMode(driver, settings) { | CODE |
| LOW | core/gather/driver/prepare.js | 192 | async function prepareTargetForNavigationMode(driver, settings, requestor) { | CODE |
| LOW | core/gather/driver/network.js | 17 | async function fetchResponseBodyFromCache(session, requestId, timeout = 1000) { | CODE |
| LOW | core/gather/driver/storage.js | 82 | async function getImportantStorageWarning(session, url) { | CODE |
| LOW | core/test/network-records-to-devtools-log.js | 37 | function headersArrayToHeadersDict(headersArray = []) { | CODE |
| LOW | core/test/network-records-to-devtools-log.js | 160 | function getNormalizedRequestTiming(networkRecord) { | CODE |
| LOW | core/test/network-records-to-devtools-log.js | 235 | function getRequestWillBeSentEvent(networkRecord, index, normalizedTiming) { | CODE |
| LOW | core/test/network-records-to-devtools-log.js | 271 | function getRequestServedFromCacheEvent(networkRecord, index) { | CODE |
| LOW | core/test/network-records-to-devtools-log.js | 322 | function getResponseReceivedExtraInfoEvent(networkRecord, index) { | CODE |
| LOW | core/test/network-records-to-devtools-log.js | 418 | function addRedirectResponseIfNeeded(networkRecords, record) { | CODE |
| LOW | core/test/network-records-to-devtools-log.js | 451 | function networkRecordsToDevtoolsLog(networkRecords, options = {}) { | CODE |
| LOW | core/test/test-utils.js | 72 | function loadSourceMapAndUsageFixture(name) { | CODE |
| LOW | core/test/test-utils.js | 181 | async function flushAllTimersAndMicrotasks(ms = 1000) { | CODE |
| LOW | core/test/test-utils.js | 255 | function getURLArtifactFromDevtoolsLog(devtoolsLog) { | CODE |
| LOW | core/test/gather/base-artifacts-test.js | 15 | function getMockDriverForArtifacts() { | CODE |
| LOW | core/test/gather/mock-driver.js | 93 | function createMockGathererInstance(meta) { | CODE |
| LOW | core/test/gather/mock-driver.js | 125 | function createMockExecutionContext() { | CODE |
| LOW | core/test/gather/gatherers/full-page-screenshot-test.js | 392 | async function verifyNodeRectsAlignWithImage(lhr, rectExpectations) { | CODE |
| LOW | core/test/gather/gatherers/trace-elements-test.js | 14 | function makeLayoutShiftTraceEvent(score, impactedNodes, had_recent_input = false) { // eslint-disable-line camelcase | CODE |
| LOW | core/test/gather/driver/execution-context-test.js | 264 | .catch(function wrapRuntimeEvalErrorInBrowser(err) { | CODE |
| LOW | core/test/gather/driver/wait-for-condition-test.js | 37 | function createMockMultipleInvocationWaitForFn() { | CODE |
| LOW | core/test/audits/long-tasks-test.js | 24 | function generateTraceWithLongTasks(args) { | CODE |
| LOW | core/test/audits/user-timing-test.js | 14 | function generateArtifactsWithTrace(trace) { | CODE |
| LOW | …/test/audits/byte-efficiency/unused-javascript-test.js | 64 | function generateScriptWithCoverage(url, ranges) { | CODE |
| LOW | core/test/results/artifacts/artifacts.json | 6790 | "MainDocumentContent": "<!doctype html>\n<!--\n * @license\n * Copyright 2016 Google LLC\n * SPDX-License-Identifier: | CODE |
| LOW | core/test/results/artifacts/artifacts.json | 7206 | "content": "\nfunction stampTemplate(id, location) {\n const template = document.querySelector('#' + id);\n loca | CODE |
| LOW | core/test/results/artifacts/artifacts.json | 7231 | "content": "\n/**\n * Lighthouse backstory:\n * Zone aggressively polyfills promises including rewriting Promise.p | CODE |
| LOW | core/test/lib/navigation-error-test.js | 36 | function getAndExpectError(mainRecord, context) { | CODE |
| LOW | core/test/lib/navigation-error-test.js | 136 | function getAndExpectError(mainRecord, networkRecords) { | CODE |
| LOW | core/test/lib/navigation-error-test.js | 229 | function getAndExpectError(mainRecord) { | CODE |
| LOW | core/test/lib/navigation-error-test.js | 284 | function getAndExpectError(navigationError, context) { | CODE |
| LOW | core/test/lib/csp-evaluator-test.js | 19 | function evaluateRawCspForFailures(rawCsps) { | CODE |
| LOW | core/test/lib/csp-evaluator-test.js | 26 | function evaluateRawCspForWarnings(rawCsps) { | CODE |
| LOW | core/audits/image-size-responsive.js | 132 | function imageHasNaturalDimensions(image) { | CODE |
| LOW | core/audits/non-composited-animations.js | 97 | function getActionableFailureReasons(failureCode, unsupportedProperties) { | CODE |
| LOW | core/audits/insights/insight-audit.js | 53 | async function adaptInsightToAuditProduct(artifacts, context, insightName, createDetails) { | CODE |
| LOW | core/audits/seo/is-crawlable.js | 73 | function getUserAgentFromHeaderDirectives(directives) { | CODE |
| LOW | core/config/config.js | 109 | function resolveArtifactDependencies(artifact, gatherer, artifactDefnsBySymbol) { | CODE |
| LOW | core/config/config.js | 184 | function overrideSettingsForGatherMode(settings, gatherMode) { | CODE |
| LOW | core/config/config.js | 197 | function overrideThrottlingWindows(settings) { | CODE |
| LOW | core/config/config-helpers.js | 111 | function mergeConfigFragmentArrayByKey(baseArray, extensionArray, keyFn) { | CODE |
| LOW | core/config/config-plugin.js | 22 | function isObjectOfUnknownProperties(val) { | CODE |
| LOW | core/config/validation.js | 21 | function isValidArtifactDependency(dependent, dependency) { | CODE |
| 69 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/test/results/artifacts/artifacts.json | 7231 | "content": "\n/**\n * Lighthouse backstory:\n * Zone aggressively polyfills promises including rewriting Promise.p | CODE |
| MEDIUM | shared/localization/locales/ar-XB.json | 3204 | "message": "Use [Ezoic Leap](https://pubdash.ezoic.com/leap) and enable `Optimize Fonts` to | CODE |
| MEDIUM | shared/localization/locales/ar-XB.json | 3321 | "message": "Consider searching the [Magento Marketplace](https://marketplace.magento.com/catalog | CODE |
| MEDIUM | shared/localization/locales/fil.json | 3438 | "message": "[Palitan ang mga animated na GIF ng video](https://web.dev/replace-gifs-with-videos/) para sa mas mabibi | CODE |
| MEDIUM | shared/localization/locales/pt-PT.json | 3552 | "message": "Carregue imagens diretamente a partir da [biblioteca de multimédia](https://wordpress.org/support/articl | CODE |
| MEDIUM | shared/localization/locales/hi.json | 3438 | "message": "वेब पेजों को तेज़ी से लोड करने के लिए, [ऐनिमेट किए गए GIF की जगह वीडियो का इस्तेमाल करें](https://web.de | CODE |
| MEDIUM | shared/localization/locales/en-US.json | 3219 | "message": "Use [Ezoic Leap](https://pubdash.ezoic.com/leap) and enable `Optimize Fonts` to automatically leverage t | CODE |
| MEDIUM | shared/localization/locales/en-US.json | 3336 | "message": "Consider searching the [Magento Marketplace](https://marketplace.magento.com/catalogsearch/result/?q=web | CODE |
| MEDIUM | shared/localization/locales/en-US.json | 3453 | "message": "[Replace animated GIFs with video](https://web.dev/replace-gifs-with-videos/) for faster web page loads | CODE |
| MEDIUM | shared/localization/locales/en-GB.json | 3204 | "message": "Use [Ezoic Leap](https://pubdash.ezoic.com/leap) and enable `Optimize Fonts` to automatically leverage t | CODE |
| MEDIUM | shared/localization/locales/en-GB.json | 3321 | "message": "Consider searching the [Magento Marketplace](https://marketplace.magento.com/catalogsearch/result/?q=web | CODE |
| MEDIUM | shared/localization/locales/en-GB.json | 3438 | "message": "[Replace animated GIFs with video](https://web.dev/replace-gifs-with-videos/) for faster web page loads, | CODE |
| MEDIUM | cli/test/smokehouse/test-definitions/byte-efficiency.js | 27 | // unsized-images is not a byte-efficiency audit but can easily leverage the variety of images present in | COMMENT |
| MEDIUM | viewer/test/viewer-test-pptr.js | 262 | // TODO: Find a more robust fix for this issue. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/test/lib/icons-test.js | 61 | // value: [{ | COMMENT |
| LOW | core/test/lib/tracehouse/trace-processor-test.js | 661 | // All frames | COMMENT |
| LOW | core/audits/metrics/total-blocking-time.js | 41 | // SELECT | COMMENT |
| LOW | core/audits/metrics/largest-contentful-paint.js | 41 | // 25th and 13th percentiles HTTPArchive -> median and p10 points. | COMMENT |
| LOW | core/audits/insights/legacy-javascript-insight.js | 81 | COMMENT | |
| LOW | core/config/config-helpers.js | 461 | // | global | 1. | 1. | | COMMENT |
| LOW | core/config/config-helpers.js | 481 | // 2. | COMMENT |
| LOW | core/config/default-config.js | 481 | manualDescription: str_(UIStrings.a11yCategoryManualDescription), | COMMENT |
| LOW | core/scripts/run-jest.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | core/scripts/roll-to-devtools.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | core/scripts/open-devtools.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | core/scripts/build-devtools.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | …ripts/legacy-javascript/create-polyfill-module-data.js | 61 | 'es.string.fontcolor', | COMMENT |
| LOW | core/lib/page-functions.js | 461 | if (!elem) return null; | COMMENT |
| LOW | core/lib/legacy-javascript/legacy-javascript.js | 301 | // }; | COMMENT |
| LOW | docs/recipes/test-recipes.sh | 21 | yarn custom-gatherer-puppeteer-test | COMMENT |
| LOW | cli/test/smokehouse/test-definitions/byte-efficiency.js | 201 | // url: /lighthouse-1024x680.jpg$/, | COMMENT |
| LOW | …test/smokehouse/test-definitions/forms-autocomplete.js | 461 | }, | COMMENT |
| LOW | …test/smokehouse/test-definitions/forms-autocomplete.js | 481 | // type: 'node', | COMMENT |
| LOW | …test/smokehouse/test-definitions/forms-autocomplete.js | 501 | // type: 'node', | COMMENT |
| LOW | …test/smokehouse/test-definitions/forms-autocomplete.js | 521 | // snippet: '<input type="text" id="zip_shipping">', | COMMENT |
| LOW | …test/smokehouse/test-definitions/forms-autocomplete.js | 541 | // '<input type="text" id="city_billing" name="city_billing" placeholder="city you live in" autocomple | COMMENT |
| LOW | …test/smokehouse/test-definitions/forms-autocomplete.js | 561 | // nodeLabel: 'input', | COMMENT |
| LOW | …rd-party/devtools-tests/e2e/resources/lighthouse/sw.js | 1 | // Used to verify that a service worker is/isn't registered. | COMMENT |
| LOW | …party/devtools-tests/e2e/lighthouse/navigation.test.ts | 241 | } catch (e) { | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | core/config/default-config.js | 486 | // ┌────────────┬───────────────────────────────────────────────┐ | COMMENT |
| MEDIUM⚡ | core/config/default-config.js | 488 | // │ ├──────────────┬─────────────────┬──────────────┤ | COMMENT |
| MEDIUM⚡ | core/config/default-config.js | 491 | // ├────────────┼──────────────┼─────────────────┼──────────────┤ | COMMENT |
| MEDIUM⚡ | core/config/default-config.js | 496 | // └────────────┴──────────────┴─────────────────┴──────────────┘ | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/test/results/artifacts/artifacts.json | 2508 | "placeholder": "", | CODE |
| LOW | core/test/results/artifacts/artifacts.json | 2536 | "placeholder": "", | CODE |
| LOW | core/test/results/artifacts/artifacts.json | 2564 | "placeholder": "", | CODE |
| LOW | core/lib/baseline/web-features-data.json | 430 | "placeholder": "2020-01-15", | CODE |
| LOW | docs/recipes/auth/example-lh-auth.js | 25 | await emailInput.type('admin@example.com'); | CODE |
| LOW | docs/recipes/auth/README.md | 79 | await emailInput.type('admin@example.com'); | CODE |
| LOW | docs/recipes/auth/server/server.js | 53 | if (email !== 'admin@example.com' || password !== 'password') { | CODE |
| LOW | …test/smokehouse/test-definitions/forms-autocomplete.js | 36 | placeholder: 'John Doe', | CODE |
| LOW | …test/smokehouse/test-definitions/forms-autocomplete.js | 131 | placeholder: 'John Doe', | CODE |
| LOW | …test/smokehouse/test-definitions/forms-autocomplete.js | 470 | // '`autocomplete` token(s): "sectio-red shipping cc-namez" is invalid in <textarea type="text" id="name_cc1" | COMMENT |
| LOW | …test/smokehouse/test-definitions/forms-autocomplete.js | 483 | // '<textarea type="text" id="name_cc1" name="name_cc1" autocomplete="sectio-red shipping cc-namez" pl | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | core/config/filters.js | 107 | return artifact.gatherer.instance.meta.supportedModes.includes(mode); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | core/scripts/compare-runs.js | 337 | print(filter(results)); | CODE |
| HIGH | core/scripts/compare-runs.js | 411 | print(filter(results)); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/test/devtools-tests/setup.sh | 10 | # Set SKIP_DOWNLOADS to skip all the downloading and just export variables. | COMMENT |
| LOW | core/test/devtools-tests/setup.sh | 11 | # Set BUILD_FOLDER to use a folder other than 'LighthouseIntegration' (ex: Default to use out/Default). | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/audits/insights/slow-css-selector-insight.js | 41 | // TODO: implement. | COMMENT |
| LOW | core/scripts/generate-insight-audits.js | 84 | // TODO: implement. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | core/scripts/release/prepare-commit.sh | 45 | # Create the changelog entry | COMMENT |