lighthouse 10.2.0-dev.20230612 → 10.3.0-dev.20230613

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 (64) hide show
  1. package/core/audits/deprecations.js +1 -1
  2. package/core/audits/server-response-time.d.ts +2 -1
  3. package/core/audits/server-response-time.js +11 -2
  4. package/core/audits/uses-rel-preconnect.js +20 -4
  5. package/core/lib/bf-cache-strings.d.ts +3 -0
  6. package/core/lib/bf-cache-strings.js +248 -232
  7. package/core/lib/cdt/generated/SourceMap.d.ts +18 -31
  8. package/core/lib/cdt/generated/SourceMap.js +51 -101
  9. package/core/lib/dependency-graph/simulator/network-analyzer.js +13 -0
  10. package/core/lib/deprecation-description.d.ts +17 -0
  11. package/core/lib/deprecation-description.js +71 -0
  12. package/core/lib/deprecations-strings.d.ts +282 -63
  13. package/core/lib/deprecations-strings.js +282 -551
  14. package/core/lib/network-request.d.ts +6 -6
  15. package/core/lib/network-request.js +6 -9
  16. package/package.json +6 -6
  17. package/shared/localization/locales/ar-XB.json +20 -170
  18. package/shared/localization/locales/ar.json +20 -170
  19. package/shared/localization/locales/bg.json +19 -169
  20. package/shared/localization/locales/ca.json +19 -169
  21. package/shared/localization/locales/cs.json +19 -169
  22. package/shared/localization/locales/da.json +19 -169
  23. package/shared/localization/locales/de.json +19 -169
  24. package/shared/localization/locales/el.json +19 -169
  25. package/shared/localization/locales/en-GB.json +9 -159
  26. package/shared/localization/locales/en-US.json +115 -70
  27. package/shared/localization/locales/en-XA.json +20 -170
  28. package/shared/localization/locales/en-XL.json +115 -70
  29. package/shared/localization/locales/es-419.json +19 -169
  30. package/shared/localization/locales/es.json +19 -169
  31. package/shared/localization/locales/fi.json +19 -169
  32. package/shared/localization/locales/fil.json +17 -167
  33. package/shared/localization/locales/fr.json +18 -168
  34. package/shared/localization/locales/he.json +19 -169
  35. package/shared/localization/locales/hi.json +20 -170
  36. package/shared/localization/locales/hr.json +19 -169
  37. package/shared/localization/locales/hu.json +19 -169
  38. package/shared/localization/locales/id.json +19 -169
  39. package/shared/localization/locales/it.json +19 -169
  40. package/shared/localization/locales/ja.json +19 -169
  41. package/shared/localization/locales/ko.json +19 -169
  42. package/shared/localization/locales/lt.json +20 -170
  43. package/shared/localization/locales/lv.json +20 -170
  44. package/shared/localization/locales/nl.json +18 -168
  45. package/shared/localization/locales/no.json +19 -169
  46. package/shared/localization/locales/pl.json +19 -169
  47. package/shared/localization/locales/pt-PT.json +19 -169
  48. package/shared/localization/locales/pt.json +19 -169
  49. package/shared/localization/locales/ro.json +19 -169
  50. package/shared/localization/locales/ru.json +19 -169
  51. package/shared/localization/locales/sk.json +20 -170
  52. package/shared/localization/locales/sl.json +19 -169
  53. package/shared/localization/locales/sr-Latn.json +19 -169
  54. package/shared/localization/locales/sr.json +19 -169
  55. package/shared/localization/locales/sv.json +19 -169
  56. package/shared/localization/locales/ta.json +19 -169
  57. package/shared/localization/locales/te.json +19 -169
  58. package/shared/localization/locales/th.json +19 -169
  59. package/shared/localization/locales/tr.json +19 -169
  60. package/shared/localization/locales/uk.json +19 -169
  61. package/shared/localization/locales/vi.json +20 -170
  62. package/shared/localization/locales/zh-HK.json +19 -169
  63. package/shared/localization/locales/zh-TW.json +19 -169
  64. package/shared/localization/locales/zh.json +19 -169
@@ -11,7 +11,7 @@
11
11
  import {Audit} from './audit.js';
12
12
  import {JSBundles} from '../computed/js-bundles.js';
13
13
  import * as i18n from '../lib/i18n/i18n.js';
14
- import {getIssueDetailDescription} from '../lib/deprecations-strings.js';
14
+ import {getIssueDetailDescription} from '../lib/deprecation-description.js';
15
15
 
16
16
  /* eslint-disable max-len */
17
17
  const UIStrings = {
@@ -2,8 +2,9 @@ export default ServerResponseTime;
2
2
  declare class ServerResponseTime extends Audit {
3
3
  /**
4
4
  * @param {LH.Artifacts.NetworkRequest} record
5
+ * @return {number|null}
5
6
  */
6
- static calculateResponseTime(record: LH.Artifacts.NetworkRequest): number;
7
+ static calculateResponseTime(record: LH.Artifacts.NetworkRequest): number | null;
7
8
  /**
8
9
  * @param {LH.Artifacts} artifacts
9
10
  * @param {LH.Audit.Context} context
@@ -43,10 +43,15 @@ class ServerResponseTime extends Audit {
43
43
 
44
44
  /**
45
45
  * @param {LH.Artifacts.NetworkRequest} record
46
+ * @return {number|null}
46
47
  */
47
48
  static calculateResponseTime(record) {
48
- const timing = record.timing;
49
- return timing ? timing.receiveHeadersStart - timing.sendEnd : 0;
49
+ // Lightrider does not have timings for sendEnd, but we do have this timing which should be
50
+ // close to the response time.
51
+ if (global.isLightrider && record.lrStatistics) return record.lrStatistics.requestMs;
52
+
53
+ if (!record.timing) return null;
54
+ return record.timing.receiveHeadersStart - record.timing.sendEnd;
50
55
  }
51
56
 
52
57
  /**
@@ -61,6 +66,10 @@ class ServerResponseTime extends Audit {
61
66
  const mainResource = await MainResource.request({devtoolsLog, URL: artifacts.URL}, context);
62
67
 
63
68
  const responseTime = ServerResponseTime.calculateResponseTime(mainResource);
69
+ if (responseTime === null) {
70
+ throw new Error('no timing found for main resource');
71
+ }
72
+
64
73
  const passed = responseTime < TOO_SLOW_THRESHOLD_MS;
65
74
  const displayValue = str_(UIStrings.displayValue, {timeInMs: responseTime});
66
75
 
@@ -72,7 +72,7 @@ class UsesRelPreconnectAudit extends Audit {
72
72
  * @return {boolean}
73
73
  */
74
74
  static hasValidTiming(record) {
75
- return !!record.timing && record.timing.connectEnd > 0 && record.timing.connectStart > 0;
75
+ return !!record.timing && record.timing.connectEnd >= 0 && record.timing.connectStart >= 0;
76
76
  }
77
77
 
78
78
  /**
@@ -81,11 +81,27 @@ class UsesRelPreconnectAudit extends Audit {
81
81
  * @return {boolean}
82
82
  */
83
83
  static hasAlreadyConnectedToOrigin(record) {
84
- return (
85
- !!record.timing &&
84
+ if (!record.timing) return false;
85
+
86
+ // When these values are given as -1, that means the page has
87
+ // a connection for this origin and paid these costs already.
88
+ if (
89
+ record.timing.dnsStart === -1 && record.timing.dnsEnd === -1 &&
90
+ record.timing.connectStart === -1 && record.timing.connectEnd === -1
91
+ ) {
92
+ return true;
93
+ }
94
+
95
+ // Less understood: if the connection setup took no time at all, consider
96
+ // it the same as the above. It is unclear if this is correct, or is even possible.
97
+ if (
86
98
  record.timing.dnsEnd - record.timing.dnsStart === 0 &&
87
99
  record.timing.connectEnd - record.timing.connectStart === 0
88
- );
100
+ ) {
101
+ return true;
102
+ }
103
+
104
+ return false;
89
105
  }
90
106
 
91
107
  /**
@@ -117,5 +117,8 @@ export namespace UIStrings {
117
117
  const errorDocument: string;
118
118
  const fencedFramesEmbedder: string;
119
119
  const keepaliveRequest: string;
120
+ const authorizationHeader: string;
121
+ const indexedDBEvent: string;
122
+ const cookieDisabled: string;
120
123
  }
121
124
  //# sourceMappingURL=bf-cache-strings.d.ts.map