lighthouse 12.6.1 → 12.7.0-dev.20250627

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.
Files changed (162) hide show
  1. package/cli/test/smokehouse/core-tests.js +2 -0
  2. package/cli/test/smokehouse/frontends/lib.js +0 -2
  3. package/cli/test/smokehouse/frontends/smokehouse-bin.js +1 -3
  4. package/cli/test/smokehouse/lighthouse-runners/cli.js +1 -1
  5. package/cli/test/smokehouse/smokehouse.js +0 -2
  6. package/core/audits/audit.d.ts +7 -0
  7. package/core/audits/audit.js +17 -2
  8. package/core/audits/byte-efficiency/byte-efficiency-audit.js +6 -8
  9. package/core/audits/byte-efficiency/legacy-javascript.js +0 -1
  10. package/core/audits/byte-efficiency/render-blocking-resources.js +1 -1
  11. package/core/audits/deprecations.js +0 -2
  12. package/core/audits/insights/cache-insight.js +2 -1
  13. package/core/audits/insights/cls-culprits-insight.js +6 -7
  14. package/core/audits/insights/{interaction-to-next-paint-insight.d.ts → inp-breakdown-insight.d.ts} +3 -3
  15. package/core/audits/insights/{interaction-to-next-paint-insight.js → inp-breakdown-insight.js} +10 -10
  16. package/core/audits/insights/insight-audit.d.ts +7 -4
  17. package/core/audits/insights/insight-audit.js +48 -7
  18. package/core/audits/insights/lcp-breakdown-insight.d.ts +16 -0
  19. package/core/audits/insights/{lcp-phases-insight.js → lcp-breakdown-insight.js} +19 -19
  20. package/core/audits/insights/modern-http-insight.js +0 -2
  21. package/core/audits/insights/network-dependency-tree-insight.js +85 -8
  22. package/core/audits/insights/render-blocking-insight.js +1 -1
  23. package/core/audits/layout-shifts.js +5 -4
  24. package/core/audits/seo/crawlable-anchors.js +27 -0
  25. package/core/audits/seo/link-text.js +130 -83
  26. package/core/audits/third-party-cookies.js +0 -2
  27. package/core/audits/valid-source-maps.js +0 -2
  28. package/core/computed/js-bundles.js +0 -1
  29. package/core/computed/metrics/cumulative-layout-shift.js +1 -1
  30. package/core/computed/metrics/lantern-metric.js +4 -3
  31. package/core/computed/metrics/timing-summary.js +4 -1
  32. package/core/computed/page-dependency-graph.js +3 -3
  33. package/core/computed/trace-engine-result.js +1 -2
  34. package/core/config/config.js +1 -1
  35. package/core/config/default-config.js +4 -4
  36. package/core/config/experimental-config.js +2 -2
  37. package/core/config/filters.js +7 -0
  38. package/core/config/validation.js +4 -0
  39. package/core/gather/base-artifacts.js +3 -0
  40. package/core/gather/driver/environment.d.ts +6 -0
  41. package/core/gather/driver/environment.js +17 -0
  42. package/core/gather/driver/execution-context.d.ts +3 -1
  43. package/core/gather/driver/execution-context.js +3 -1
  44. package/core/gather/driver/navigation.js +1 -3
  45. package/core/gather/driver/wait-for-condition.js +0 -1
  46. package/core/gather/fetcher.js +0 -2
  47. package/core/gather/gatherers/accessibility.js +1 -1
  48. package/core/gather/gatherers/anchor-elements.js +61 -2
  49. package/core/gather/gatherers/cache-contents.js +0 -2
  50. package/core/gather/gatherers/css-usage.js +3 -1
  51. package/core/gather/gatherers/dobetterweb/doctype.js +0 -2
  52. package/core/gather/gatherers/dobetterweb/domstats.js +1 -1
  53. package/core/gather/gatherers/full-page-screenshot.js +1 -1
  54. package/core/gather/gatherers/image-elements.js +1 -1
  55. package/core/gather/gatherers/inspector-issues.js +1 -1
  56. package/core/gather/gatherers/link-elements.js +1 -1
  57. package/core/gather/gatherers/stacks.js +0 -1
  58. package/core/gather/gatherers/stylesheets.js +3 -1
  59. package/core/gather/gatherers/trace-elements.d.ts +3 -4
  60. package/core/gather/gatherers/trace-elements.js +13 -43
  61. package/core/gather/gatherers/viewport-dimensions.js +0 -2
  62. package/core/index.cjs +0 -1
  63. package/core/index.d.cts +5 -0
  64. package/core/lib/asset-saver.d.ts +1 -1
  65. package/core/lib/asset-saver.js +20 -8
  66. package/core/lib/bf-cache-strings.js +4 -1
  67. package/core/lib/deprecations-strings.d.ts +51 -47
  68. package/core/lib/deprecations-strings.js +14 -8
  69. package/core/lib/i18n/i18n.js +0 -2
  70. package/core/lib/lantern-trace-saver.js +1 -1
  71. package/core/lib/lh-error.js +0 -1
  72. package/core/lib/manifest-parser.js +0 -2
  73. package/core/lib/minify-devtoolslog.js +0 -2
  74. package/core/lib/sentry.d.ts +1 -1
  75. package/core/lib/sentry.js +2 -2
  76. package/core/runner.js +11 -8
  77. package/core/scoring.d.ts +186 -15
  78. package/core/scripts/manual-chrome-launcher.js +0 -1
  79. package/dist/report/bundle.esm.js +14 -12
  80. package/dist/report/flow.js +18 -16
  81. package/dist/report/standalone.js +15 -13
  82. package/eslint.config.mjs +242 -0
  83. package/flow-report/src/common.tsx +1 -0
  84. package/flow-report/src/i18n/i18n.tsx +1 -0
  85. package/flow-report/src/util.ts +2 -0
  86. package/package.json +23 -19
  87. package/readme.md +3 -2
  88. package/report/assets/styles.css +11 -9
  89. package/report/assets/templates.html +1 -1
  90. package/report/generator/file-namer.d.ts +5 -0
  91. package/report/generator/file-namer.js +1 -1
  92. package/report/generator/flow-report-assets.js +1 -1
  93. package/report/generator/report-assets.js +1 -1
  94. package/report/generator/report-generator.js +3 -3
  95. package/report/renderer/api.js +1 -0
  96. package/report/renderer/components.js +2 -2
  97. package/report/renderer/details-renderer.d.ts +5 -0
  98. package/report/renderer/details-renderer.js +35 -3
  99. package/report/renderer/dom.d.ts +2 -0
  100. package/report/renderer/dom.js +6 -0
  101. package/report/renderer/i18n-formatter.js +2 -1
  102. package/report/renderer/performance-category-renderer.js +2 -2
  103. package/report/renderer/report-renderer.js +1 -0
  104. package/report/renderer/report-ui-features.d.ts +1 -0
  105. package/report/renderer/report-ui-features.js +16 -0
  106. package/report/renderer/report-utils.js +3 -2
  107. package/report/renderer/text-encoding.js +0 -2
  108. package/report/renderer/topbar-features.js +1 -1
  109. package/report/types/report-renderer.d.ts +5 -0
  110. package/shared/localization/locales/ar-XB.json +57 -69
  111. package/shared/localization/locales/ar.json +57 -69
  112. package/shared/localization/locales/bg.json +57 -69
  113. package/shared/localization/locales/ca.json +57 -69
  114. package/shared/localization/locales/cs.json +57 -69
  115. package/shared/localization/locales/da.json +57 -69
  116. package/shared/localization/locales/de.json +57 -69
  117. package/shared/localization/locales/el.json +57 -69
  118. package/shared/localization/locales/en-GB.json +57 -69
  119. package/shared/localization/locales/en-US.json +73 -61
  120. package/shared/localization/locales/en-XL.json +73 -61
  121. package/shared/localization/locales/es-419.json +57 -69
  122. package/shared/localization/locales/es.json +56 -68
  123. package/shared/localization/locales/fi.json +57 -69
  124. package/shared/localization/locales/fil.json +57 -69
  125. package/shared/localization/locales/fr.json +57 -69
  126. package/shared/localization/locales/he.json +57 -69
  127. package/shared/localization/locales/hi.json +57 -69
  128. package/shared/localization/locales/hr.json +57 -69
  129. package/shared/localization/locales/hu.json +56 -68
  130. package/shared/localization/locales/id.json +57 -69
  131. package/shared/localization/locales/it.json +56 -68
  132. package/shared/localization/locales/ja.json +57 -69
  133. package/shared/localization/locales/ko.json +57 -69
  134. package/shared/localization/locales/lt.json +57 -69
  135. package/shared/localization/locales/lv.json +57 -69
  136. package/shared/localization/locales/nl.json +57 -69
  137. package/shared/localization/locales/no.json +57 -69
  138. package/shared/localization/locales/pl.json +56 -68
  139. package/shared/localization/locales/pt-PT.json +57 -69
  140. package/shared/localization/locales/pt.json +57 -69
  141. package/shared/localization/locales/ro.json +57 -69
  142. package/shared/localization/locales/ru.json +58 -70
  143. package/shared/localization/locales/sk.json +57 -69
  144. package/shared/localization/locales/sl.json +56 -68
  145. package/shared/localization/locales/sr-Latn.json +57 -69
  146. package/shared/localization/locales/sr.json +57 -69
  147. package/shared/localization/locales/sv.json +57 -69
  148. package/shared/localization/locales/ta.json +57 -69
  149. package/shared/localization/locales/te.json +57 -69
  150. package/shared/localization/locales/th.json +56 -68
  151. package/shared/localization/locales/tr.json +57 -69
  152. package/shared/localization/locales/uk.json +57 -69
  153. package/shared/localization/locales/vi.json +57 -69
  154. package/shared/localization/locales/zh-HK.json +57 -69
  155. package/shared/localization/locales/zh-TW.json +56 -68
  156. package/shared/localization/locales/zh.json +57 -69
  157. package/third-party/chromium-synchronization/inspector-issueAdded-types-test.js +1 -1
  158. package/types/artifacts.d.ts +8 -1
  159. package/types/internal/test.d.ts +1 -1
  160. package/types/lhr/audit-details.d.ts +13 -3
  161. package/types/lhr/lhr.d.ts +8 -1
  162. package/core/audits/insights/lcp-phases-insight.d.ts +0 -16
@@ -2171,9 +2171,6 @@
2171
2171
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CanRequestURLHTTPContainingNewline": {
2172
2172
  "message": "如果对应的网址同时包含已移除的空白字符 \\(n|r|t) 和小于字符 (<),资源请求会被屏蔽。请从元素属性值等位置移除换行符并编码小于字符,以便加载这些资源。"
2173
2173
  },
2174
- "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CharsetAutoDetectionISO2022JP": {
2175
- "message": "ISO-2022-JP 字符集的自动检测功能已被弃用,并将在不久的将来停用。请在“内容类型”标头中或通过使用元标记 (https://developer.mozilla.org/zh-CN/docs/Glossary/Character_encoding) 指定字符集。"
2176
- },
2177
2174
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | ChromeLoadTimesConnectionInfo": {
2178
2175
  "message": "chrome.loadTimes() 已被弃用,请改用标准化 API:Navigation Timing 2。"
2179
2176
  },
@@ -2195,9 +2192,6 @@
2195
2192
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CrossOriginWindowConfirm": {
2196
2193
  "message": "从跨源 iframe 触发 window.confirm 的功能已被弃用,日后将被移除。"
2197
2194
  },
2198
- "node_modules/@paulirish/trace_engine/generated/Deprecation.js | DOMMutationEvents": {
2199
- "message": "DOM 变更事件(包括 DOMSubtreeModified、DOMNodeInserted、DOMNodeRemoved、DOMNodeRemovedFromDocument、DOMNodeInsertedIntoDocument 和 DOMCharacterDataModified,详见 https://w3c.github.io/uievents/#legacy-event-types)已被弃用,并将被移除。请改用 MutationObserver。"
2200
- },
2201
2195
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | DataUrlInSvgUse": {
2202
2196
  "message": "对 SVGUseElement 中 data: URL 的支持已被弃用,日后将被移除。"
2203
2197
  },
@@ -2327,6 +2321,9 @@
2327
2321
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | V8SharedArrayBufferConstructedInExtensionWithoutIsolation": {
2328
2322
  "message": "扩展程序应选择启用跨域隔离,以便继续使用 SharedArrayBuffer。请参阅 https://developer.chrome.com/docs/extensions/mv3/cross-origin-isolation/。"
2329
2323
  },
2324
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | WebGPUAdapterIsFallbackAdapter": {
2325
+ "message": "GPUAdapter isFallbackAdapter 属性已弃用,请改用 GPUAdapterInfo isFallbackAdapter 属性。"
2326
+ },
2330
2327
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | XHRJSONEncodingDetection": {
2331
2328
  "message": "XMLHttpRequest 中的响应 JSON 不再支持 UTF-16"
2332
2329
  },
@@ -2339,9 +2336,6 @@
2339
2336
  "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | description": {
2340
2337
  "message": "当元素在没有任何用户互动的情况下移动时,就会发生布局偏移。[调查布局偏移的原因](https://web.dev/articles/optimize-cls),例如在网页加载时添加、移除元素或元素字体发生了变化。"
2341
2338
  },
2342
- "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | fontRequest": {
2343
- "message": "字体请求"
2344
- },
2345
2339
  "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | injectedIframe": {
2346
2340
  "message": "注入的 iframe"
2347
2341
  },
@@ -2360,9 +2354,6 @@
2360
2354
  "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | topCulprits": {
2361
2355
  "message": "导致布局偏移的首要原因"
2362
2356
  },
2363
- "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | unsizedImages": {
2364
- "message": "未设置尺寸的图片"
2365
- },
2366
2357
  "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | worstCluster": {
2367
2358
  "message": "最糟糕的集群"
2368
2359
  },
@@ -2414,12 +2405,21 @@
2414
2405
  "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | description": {
2415
2406
  "message": "您的第一个网络请求最为重要。您可通过避免重定向、确保服务器快速响应以及启用文本压缩,缩短其延迟时间。"
2416
2407
  },
2408
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | failedRedirects": {
2409
+ "message": "有重定向 ({PH1} 次重定向,+{PH2})"
2410
+ },
2411
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | failedServerResponseTime": {
2412
+ "message": "服务器响应缓慢(观察结果:{PH1}) "
2413
+ },
2417
2414
  "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | failedTextCompression": {
2418
2415
  "message": "未应用任何压缩"
2419
2416
  },
2420
2417
  "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | passingRedirects": {
2421
2418
  "message": "避免重定向"
2422
2419
  },
2420
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | passingServerResponseTime": {
2421
+ "message": "服务器响应迅速(观察结果:{PH1}) "
2422
+ },
2423
2423
  "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | passingTextCompression": {
2424
2424
  "message": "应用文本压缩"
2425
2425
  },
@@ -2510,30 +2510,6 @@
2510
2510
  "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useVideoFormat": {
2511
2511
  "message": "使用视频格式而非 GIF 格式可以优化动画内容的下载大小。"
2512
2512
  },
2513
- "node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | description": {
2514
- "message": "请从持续时间最长的阶段开始检查。[几处延迟可降低到最小](https://web.dev/articles/optimize-inp#optimize_interactions)。如需缩短处理时长,请[优化主线程(通常是 JS)成本](https://web.dev/articles/optimize-long-tasks)。"
2515
- },
2516
- "node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | duration": {
2517
- "message": "时长"
2518
- },
2519
- "node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | inputDelay": {
2520
- "message": "输入延迟"
2521
- },
2522
- "node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | noInteractions": {
2523
- "message": "未检测到任何互动"
2524
- },
2525
- "node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | phase": {
2526
- "message": "阶段"
2527
- },
2528
- "node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | presentationDelay": {
2529
- "message": "展示延迟时间"
2530
- },
2531
- "node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | processingDuration": {
2532
- "message": "处理用时"
2533
- },
2534
- "node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | title": {
2535
- "message": "按阶段划分的 INP"
2536
- },
2537
2513
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | description": {
2538
2514
  "message": "使 LCP 图像能够立即从 HTML 中[被发现](https://web.dev/articles/optimize-lcp#1_eliminate_resource_load_delay),并[避免延迟加载](https://web.dev/articles/lcp-lazy-loading),以此优化 LCP"
2539
2515
  },
@@ -2561,36 +2537,6 @@
2561
2537
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | title": {
2562
2538
  "message": "发现 LCP 请求"
2563
2539
  },
2564
- "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | description": {
2565
- "message": "每个[阶段都有特定的改进策略](https://web.dev/articles/optimize-lcp#lcp-breakdown)。理想情况下,大部分 LCP 时间应该花在加载资源上,而不是浪费在延迟上。"
2566
- },
2567
- "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | duration": {
2568
- "message": "时长"
2569
- },
2570
- "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | elementRenderDelay": {
2571
- "message": "元素渲染延迟"
2572
- },
2573
- "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | fieldDuration": {
2574
- "message": "现场数据第 75 百分位数"
2575
- },
2576
- "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | noLcp": {
2577
- "message": "未检测到 LCP"
2578
- },
2579
- "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | phase": {
2580
- "message": "阶段"
2581
- },
2582
- "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | resourceLoadDelay": {
2583
- "message": "资源加载延迟"
2584
- },
2585
- "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | resourceLoadDuration": {
2586
- "message": "资源加载时长"
2587
- },
2588
- "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | timeToFirstByte": {
2589
- "message": "第一字节时间 (Time to First Byte)"
2590
- },
2591
- "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | title": {
2592
- "message": "按阶段划分的 LCP"
2593
- },
2594
2540
  "node_modules/@paulirish/trace_engine/models/trace/insights/LegacyJavaScript.js | columnScript": {
2595
2541
  "message": "脚本"
2596
2542
  },
@@ -2598,7 +2544,7 @@
2598
2544
  "message": "浪费的字节数"
2599
2545
  },
2600
2546
  "node_modules/@paulirish/trace_engine/models/trace/insights/LegacyJavaScript.js | description": {
2601
- "message": "polyfill 和 transform 让旧版浏览器能够使用新的 JavaScript 功能。不过,很多功能对现代浏览器而言并不是必需的。请考虑修改 JavaScript 构建流程,以便不转译 [Baseline](https://web.dev/articles/baseline-and-polyfills) 功能,除非您知道必须支持旧版浏览器。[了解为什么大多数网站可以部署 ES6+ 代码而无需转译](https://philipwalton.com/articles/the-state-of-es5-on-the-web/)"
2547
+ "message": "Polyfill 和 transform 让旧版浏览器能够使用新的 JavaScript 功能。不过,其中的很多函数对现代浏览器而言并不是必需的。请考虑修改 JavaScript 构建流程,以便不转译 [Baseline](https://web.dev/articles/baseline-and-polyfills) 功能,除非您知道必须支持旧版浏览器。[了解为什么大多数网站可以部署 ES6+ 代码而无需转译](https://philipwalton.com/articles/the-state-of-es5-on-the-web/)"
2602
2548
  },
2603
2549
  "node_modules/@paulirish/trace_engine/models/trace/insights/LegacyJavaScript.js | title": {
2604
2550
  "message": "旧版 JavaScript"
@@ -2618,23 +2564,65 @@
2618
2564
  "node_modules/@paulirish/trace_engine/models/trace/insights/ModernHTTP.js | title": {
2619
2565
  "message": "现代 HTTP"
2620
2566
  },
2567
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | columnOrigin": {
2568
+ "message": "源"
2569
+ },
2570
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | columnRequest": {
2571
+ "message": "请求"
2572
+ },
2573
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | columnSource": {
2574
+ "message": "来源"
2575
+ },
2576
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | columnTime": {
2577
+ "message": "时间"
2578
+ },
2579
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | columnWastedMs": {
2580
+ "message": "预计 LCP 节省毫秒数"
2581
+ },
2582
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | crossoriginWarning": {
2583
+ "message": "未使用的 preconnect。请检查并确保正确使用了 crossorigin 属性。"
2584
+ },
2621
2585
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | description": {
2622
2586
  "message": "[避免链接关键请求](https://developer.chrome.com/docs/lighthouse/performance/critical-request-chains),方法是缩短链长、缩减资源的下载文件大小,或者推迟下载不必要的资源,从而提高网页加载速度。"
2623
2587
  },
2588
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | estSavingTableDescription": {
2589
+ "message": "为最重要的源添加 [preconnect](https://developer.chrome.com/docs/lighthouse/performance/uses-rel-preconnect/) 提示,但请尽量少于 4 个。"
2590
+ },
2591
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | estSavingTableTitle": {
2592
+ "message": "预连接候选项"
2593
+ },
2624
2594
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | maxCriticalPathLatency": {
2625
2595
  "message": "关键路径延迟时间上限:"
2626
2596
  },
2627
2597
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | noNetworkDependencyTree": {
2628
2598
  "message": "没有任何渲染任务受到网络依赖项的影响"
2629
2599
  },
2600
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | noPreconnectCandidates": {
2601
+ "message": "没有其他源是预连接的合适候选对象"
2602
+ },
2603
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | noPreconnectOrigins": {
2604
+ "message": "未预连接任何源"
2605
+ },
2606
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | preconnectOriginsTableDescription": {
2607
+ "message": "[preconnect](https://developer.chrome.com/docs/lighthouse/performance/uses-rel-preconnect/) 提示可帮助浏览器在加载网页时尽早建立连接,从而在向该源发出第一个请求时节省时间。以下是该网页预先连接到的源。"
2608
+ },
2609
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | preconnectOriginsTableTitle": {
2610
+ "message": "预连接的源"
2611
+ },
2630
2612
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | title": {
2631
2613
  "message": "网络依赖关系树"
2632
2614
  },
2615
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | tooManyPreconnectLinksWarning": {
2616
+ "message": "发现了超过 4 个 preconnect 连接。此类连接应尽量少用,且应仅用于指向最重要的源。"
2617
+ },
2618
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | unusedWarning": {
2619
+ "message": "未使用的 preconnect。请仅针对网页可能会请求的源使用 preconnect。"
2620
+ },
2633
2621
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | warningDescription": {
2634
2622
  "message": "避免链接关键请求,方法是缩短链长、缩减资源的下载文件大小,或者推迟下载不必要的资源,从而提高网页加载速度。"
2635
2623
  },
2636
2624
  "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | description": {
2637
- "message": "请求正在屏蔽网页的初始渲染,这可能会延迟 LCP。[延迟或内嵌](https://web.dev/learn/performance/understanding-the-critical-path#render-blocking_resources/)可以将这些网络请求移出关键路径。"
2625
+ "message": "请求正在屏蔽网页的初始渲染,这可能会延迟 LCP。[延迟或内嵌](https://web.dev/learn/performance/understanding-the-critical-path#render-blocking_resources)可以将这些网络请求移出关键路径。"
2638
2626
  },
2639
2627
  "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | duration": {
2640
2628
  "message": "时长"
@@ -2682,7 +2670,7 @@
2682
2670
  "message": "传输大小"
2683
2671
  },
2684
2672
  "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | description": {
2685
- "message": "第三方代码可能会显著影响加载性能。[请减少并推迟加载第三方代码](https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/loading-third-party-javascript/),以优先渲染您的网页内容。"
2673
+ "message": "第三方代码可能会显著影响加载性能。[请减少并推迟加载第三方代码](https://web.dev/articles/optimizing-content-efficiency-loading-third-party-javascript/),以优先渲染您的网页内容。"
2686
2674
  },
2687
2675
  "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | noThirdParties": {
2688
2676
  "message": "未找到第三方内容"
@@ -41,6 +41,7 @@ Array [
41
41
  "cookieIssueDetails",
42
42
  "corsIssueDetails",
43
43
  "deprecationIssueDetails",
44
+ "elementAccessibilityIssueDetails",
44
45
  "federatedAuthRequestIssueDetails",
45
46
  "federatedAuthUserInfoRequestIssueDetails",
46
47
  "genericIssueDetails",
@@ -51,7 +52,6 @@ Array [
51
52
  "partitioningBlobURLIssueDetails",
52
53
  "propertyRuleIssueDetails",
53
54
  "quirksModeIssueDetails",
54
- "selectElementAccessibilityIssueDetails",
55
55
  "sharedArrayBufferIssueDetails",
56
56
  "sharedDictionaryIssueDetails",
57
57
  "sriMessageSignatureIssueDetails",
@@ -44,6 +44,8 @@ interface UniversalBaseArtifacts {
44
44
  LighthouseRunWarnings: Array<string | IcuMessage>;
45
45
  /** The benchmark index that indicates rough device class. */
46
46
  BenchmarkIndex: number;
47
+ /** The host's device pixel ratio. */
48
+ HostDPR: number;
47
49
  /** An object containing information about the testing configuration used by Lighthouse. */
48
50
  settings: Config.Settings;
49
51
  /** The timing instrumentation of the gather portion of a run. */
@@ -357,14 +359,19 @@ declare module Artifacts {
357
359
  rawHref: string
358
360
  name?: string
359
361
  text: string
362
+ textLang?: string
360
363
  role: string
361
364
  target: string
362
365
  node: NodeDetails
363
366
  onclick: string
364
367
  id: string
368
+ attributeNames: Array<string>
365
369
  listeners?: Array<{
366
370
  type: Crdp.DOMDebugger.EventListener['type']
367
371
  }>
372
+ ancestorListeners?: Array<{
373
+ type: Crdp.DOMDebugger.EventListener['type']
374
+ }>
368
375
  }
369
376
 
370
377
  type BFCacheReasonMap = {
@@ -507,7 +514,7 @@ declare module Artifacts {
507
514
  }
508
515
 
509
516
  interface TraceEngineResult {
510
- data: TraceEngine.Handlers.Types.ParsedTrace;
517
+ parsedTrace: TraceEngine.Handlers.Types.ParsedTrace;
511
518
  insights: TraceEngine.Insights.Types.TraceInsightSets;
512
519
  }
513
520
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  declare global {
8
8
  var expect: import('expect').Expect;
9
- type Mock<T, Y extends unknown[]> = import('jest-mock').Mock<T, Y>;
9
+ type Mock<T> = import('jest-mock').Mock<(...args: any) => T>;
10
10
  }
11
11
 
12
12
  declare module 'expect' {
@@ -94,11 +94,20 @@ declare module Details {
94
94
  }[];
95
95
  }
96
96
 
97
+ // NOTE: any `Details` type *should* be usable in `items`, but check
98
+ // styles/report-ui-features are good before adding.
99
+ type ListableDetail = Table | Checklist | NetworkTree | NodeValue | TextValue | DebugData;
100
+
101
+ interface ListSectionItem {
102
+ type: 'list-section';
103
+ title?: IcuMessage | string;
104
+ description?: IcuMessage | string;
105
+ value: ListableDetail;
106
+ }
107
+
97
108
  interface List extends BaseDetails {
98
109
  type: 'list';
99
- // NOTE: any `Details` type *should* be usable in `items`, but check
100
- // styles/report-ui-features are good before adding.
101
- items: Array<Table | Checklist | NodeValue | DebugData>;
110
+ items: Array<ListSectionItem | ListableDetail>;
102
111
  }
103
112
 
104
113
  interface Opportunity extends BaseDetails {
@@ -296,6 +305,7 @@ declare module Details {
296
305
  line: number;
297
306
  column: number;
298
307
  };
308
+ functionName?: string;
299
309
  }
300
310
 
301
311
  /**
@@ -41,7 +41,14 @@ interface Result {
41
41
  /** List of top-level warnings for this Lighthouse run. */
42
42
  runWarnings: string[];
43
43
  /** A top-level error message that, if present, indicates a serious enough problem that this Lighthouse result may need to be discarded. */
44
- runtimeError?: {code: string, message: string};
44
+ runtimeError?: {
45
+ code: string;
46
+ message: string;
47
+ /** Error stack from any fatal error. */
48
+ errorStack?: string;
49
+ /** Artifact the threw the fatal error. */
50
+ artifactKey?: string;
51
+ };
45
52
  /** The User-Agent string of the browser used run Lighthouse for these results. */
46
53
  userAgent: string;
47
54
  /** Information about the environment in which Lighthouse was run. */
@@ -1,16 +0,0 @@
1
- export default LCPPhasesInsight;
2
- declare class LCPPhasesInsight extends Audit {
3
- /**
4
- * @param {Required<import('@paulirish/trace_engine/models/trace/insights/LCPPhases.js').LCPPhasesInsightModel>['phases']} phases
5
- * @return {LH.Audit.Details.Table}
6
- */
7
- static makePhaseTable(phases: Required<import("@paulirish/trace_engine/models/trace/insights/LCPPhases.js").LCPPhasesInsightModel>["phases"]): LH.Audit.Details.Table;
8
- /**
9
- * @param {LH.Artifacts} artifacts
10
- * @param {LH.Audit.Context} context
11
- * @return {Promise<LH.Audit.Product>}
12
- */
13
- static audit(artifacts: LH.Artifacts, context: LH.Audit.Context): Promise<LH.Audit.Product>;
14
- }
15
- import { Audit } from '../audit.js';
16
- //# sourceMappingURL=lcp-phases-insight.d.ts.map