lighthouse 12.4.0-dev.20250310 → 12.4.0-dev.20250312

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 (54) hide show
  1. package/core/audits/byte-efficiency/legacy-javascript.d.ts +1 -6
  2. package/core/audits/byte-efficiency/legacy-javascript.js +20 -88
  3. package/core/audits/byte-efficiency/polyfill-graph-data.json +92 -49
  4. package/core/audits/byte-efficiency/polyfill-module-data.json +686 -0
  5. package/core/audits/insights/font-display-insight.js +7 -6
  6. package/core/audits/insights/image-delivery-insight.js +0 -2
  7. package/package.json +3 -2
  8. package/shared/localization/locales/ar-XB.json +0 -9
  9. package/shared/localization/locales/ar.json +0 -9
  10. package/shared/localization/locales/bg.json +0 -9
  11. package/shared/localization/locales/ca.json +0 -9
  12. package/shared/localization/locales/cs.json +0 -9
  13. package/shared/localization/locales/da.json +0 -9
  14. package/shared/localization/locales/de.json +0 -9
  15. package/shared/localization/locales/el.json +0 -9
  16. package/shared/localization/locales/en-GB.json +0 -9
  17. package/shared/localization/locales/en-US.json +11 -11
  18. package/shared/localization/locales/en-XL.json +11 -11
  19. package/shared/localization/locales/es-419.json +0 -9
  20. package/shared/localization/locales/es.json +0 -9
  21. package/shared/localization/locales/fi.json +0 -9
  22. package/shared/localization/locales/fil.json +0 -9
  23. package/shared/localization/locales/fr.json +0 -9
  24. package/shared/localization/locales/he.json +0 -9
  25. package/shared/localization/locales/hi.json +0 -9
  26. package/shared/localization/locales/hr.json +0 -9
  27. package/shared/localization/locales/hu.json +0 -9
  28. package/shared/localization/locales/id.json +0 -9
  29. package/shared/localization/locales/it.json +0 -9
  30. package/shared/localization/locales/ja.json +0 -9
  31. package/shared/localization/locales/ko.json +0 -9
  32. package/shared/localization/locales/lt.json +0 -9
  33. package/shared/localization/locales/lv.json +0 -9
  34. package/shared/localization/locales/nl.json +0 -9
  35. package/shared/localization/locales/no.json +0 -9
  36. package/shared/localization/locales/pl.json +0 -9
  37. package/shared/localization/locales/pt-PT.json +0 -9
  38. package/shared/localization/locales/pt.json +0 -9
  39. package/shared/localization/locales/ro.json +0 -9
  40. package/shared/localization/locales/ru.json +0 -9
  41. package/shared/localization/locales/sk.json +0 -9
  42. package/shared/localization/locales/sl.json +0 -9
  43. package/shared/localization/locales/sr-Latn.json +0 -9
  44. package/shared/localization/locales/sr.json +0 -9
  45. package/shared/localization/locales/sv.json +0 -9
  46. package/shared/localization/locales/ta.json +0 -9
  47. package/shared/localization/locales/te.json +0 -9
  48. package/shared/localization/locales/th.json +0 -9
  49. package/shared/localization/locales/tr.json +0 -9
  50. package/shared/localization/locales/uk.json +0 -9
  51. package/shared/localization/locales/vi.json +0 -9
  52. package/shared/localization/locales/zh-HK.json +0 -9
  53. package/shared/localization/locales/zh-TW.json +0 -9
  54. package/shared/localization/locales/zh.json +0 -9
@@ -0,0 +1,686 @@
1
+ [
2
+ {
3
+ "name": "focus-visible",
4
+ "modules": [
5
+ "focus-visible"
6
+ ]
7
+ },
8
+ {
9
+ "name": "Error.prototype.cause",
10
+ "modules": [
11
+ "es.error.cause"
12
+ ]
13
+ },
14
+ {
15
+ "name": "Array.prototype.at",
16
+ "modules": [
17
+ "es.array.at"
18
+ ],
19
+ "corejs": true
20
+ },
21
+ {
22
+ "name": "Array.prototype.concat",
23
+ "modules": [
24
+ "es.array.concat"
25
+ ],
26
+ "corejs": true
27
+ },
28
+ {
29
+ "name": "Array.prototype.copyWithin",
30
+ "modules": [
31
+ "es.array.copy-within"
32
+ ],
33
+ "corejs": true
34
+ },
35
+ {
36
+ "name": "Array.prototype.every",
37
+ "modules": [
38
+ "es.array.every"
39
+ ],
40
+ "corejs": true
41
+ },
42
+ {
43
+ "name": "Array.prototype.fill",
44
+ "modules": [
45
+ "es.array.fill"
46
+ ],
47
+ "corejs": true
48
+ },
49
+ {
50
+ "name": "Array.prototype.filter",
51
+ "modules": [
52
+ "es.array.filter"
53
+ ],
54
+ "corejs": true
55
+ },
56
+ {
57
+ "name": "Array.prototype.find",
58
+ "modules": [
59
+ "es.array.find"
60
+ ],
61
+ "corejs": true
62
+ },
63
+ {
64
+ "name": "Array.prototype.findIndex",
65
+ "modules": [
66
+ "es.array.find-index"
67
+ ],
68
+ "corejs": true
69
+ },
70
+ {
71
+ "name": "Array.prototype.findLast",
72
+ "modules": [
73
+ "es.array.find-last"
74
+ ],
75
+ "corejs": true
76
+ },
77
+ {
78
+ "name": "Array.prototype.findLastIndex",
79
+ "modules": [
80
+ "es.array.find-last-index"
81
+ ],
82
+ "corejs": true
83
+ },
84
+ {
85
+ "name": "Array.prototype.flat",
86
+ "modules": [
87
+ "es.array.flat"
88
+ ],
89
+ "corejs": true
90
+ },
91
+ {
92
+ "name": "Array.prototype.flatMap",
93
+ "modules": [
94
+ "es.array.flat-map"
95
+ ],
96
+ "corejs": true
97
+ },
98
+ {
99
+ "name": "Array.prototype.forEach",
100
+ "modules": [
101
+ "es.array.for-each"
102
+ ],
103
+ "corejs": true
104
+ },
105
+ {
106
+ "name": "Array.from",
107
+ "modules": [
108
+ "es.array.from"
109
+ ],
110
+ "corejs": true
111
+ },
112
+ {
113
+ "name": "Array.prototype.includes",
114
+ "modules": [
115
+ "es.array.includes"
116
+ ],
117
+ "corejs": true
118
+ },
119
+ {
120
+ "name": "Array.prototype.indexOf",
121
+ "modules": [
122
+ "es.array.index-of"
123
+ ],
124
+ "corejs": true
125
+ },
126
+ {
127
+ "name": "Array.isArray",
128
+ "modules": [
129
+ "es.array.is-array"
130
+ ],
131
+ "corejs": true
132
+ },
133
+ {
134
+ "name": "Array.prototype.join",
135
+ "modules": [
136
+ "es.array.join"
137
+ ],
138
+ "corejs": true
139
+ },
140
+ {
141
+ "name": "Array.prototype.map",
142
+ "modules": [
143
+ "es.array.map"
144
+ ],
145
+ "corejs": true
146
+ },
147
+ {
148
+ "name": "Array.of",
149
+ "modules": [
150
+ "es.array.of"
151
+ ],
152
+ "corejs": true
153
+ },
154
+ {
155
+ "name": "Array.prototype.slice",
156
+ "modules": [
157
+ "es.array.slice"
158
+ ],
159
+ "corejs": true
160
+ },
161
+ {
162
+ "name": "Array.prototype.some",
163
+ "modules": [
164
+ "es.array.some"
165
+ ],
166
+ "corejs": true
167
+ },
168
+ {
169
+ "name": "Array.prototype.sort",
170
+ "modules": [
171
+ "es.array.sort"
172
+ ],
173
+ "corejs": true
174
+ },
175
+ {
176
+ "name": "Array.prototype.unshift",
177
+ "modules": [
178
+ "es.array.unshift"
179
+ ],
180
+ "corejs": true
181
+ },
182
+ {
183
+ "name": "Math.acosh",
184
+ "modules": [
185
+ "es.math.acosh"
186
+ ],
187
+ "corejs": true
188
+ },
189
+ {
190
+ "name": "Math.asinh",
191
+ "modules": [
192
+ "es.math.asinh"
193
+ ],
194
+ "corejs": true
195
+ },
196
+ {
197
+ "name": "Math.atanh",
198
+ "modules": [
199
+ "es.math.atanh"
200
+ ],
201
+ "corejs": true
202
+ },
203
+ {
204
+ "name": "Math.cbrt",
205
+ "modules": [
206
+ "es.math.cbrt"
207
+ ],
208
+ "corejs": true
209
+ },
210
+ {
211
+ "name": "Math.clz32",
212
+ "modules": [
213
+ "es.math.clz32"
214
+ ],
215
+ "corejs": true
216
+ },
217
+ {
218
+ "name": "Math.cosh",
219
+ "modules": [
220
+ "es.math.cosh"
221
+ ],
222
+ "corejs": true
223
+ },
224
+ {
225
+ "name": "Math.expm1",
226
+ "modules": [
227
+ "es.math.expm1"
228
+ ],
229
+ "corejs": true
230
+ },
231
+ {
232
+ "name": "Math.fround",
233
+ "modules": [
234
+ "es.math.fround"
235
+ ],
236
+ "corejs": true
237
+ },
238
+ {
239
+ "name": "Math.hypot",
240
+ "modules": [
241
+ "es.math.hypot"
242
+ ],
243
+ "corejs": true
244
+ },
245
+ {
246
+ "name": "Math.imul",
247
+ "modules": [
248
+ "es.math.imul"
249
+ ],
250
+ "corejs": true
251
+ },
252
+ {
253
+ "name": "Math.log10",
254
+ "modules": [
255
+ "es.math.log10"
256
+ ],
257
+ "corejs": true
258
+ },
259
+ {
260
+ "name": "Math.log1p",
261
+ "modules": [
262
+ "es.math.log1p"
263
+ ],
264
+ "corejs": true
265
+ },
266
+ {
267
+ "name": "Math.log2",
268
+ "modules": [
269
+ "es.math.log2"
270
+ ],
271
+ "corejs": true
272
+ },
273
+ {
274
+ "name": "Math.sign",
275
+ "modules": [
276
+ "es.math.sign"
277
+ ],
278
+ "corejs": true
279
+ },
280
+ {
281
+ "name": "Math.sinh",
282
+ "modules": [
283
+ "es.math.sinh"
284
+ ],
285
+ "corejs": true
286
+ },
287
+ {
288
+ "name": "Math.tanh",
289
+ "modules": [
290
+ "es.math.tanh"
291
+ ],
292
+ "corejs": true
293
+ },
294
+ {
295
+ "name": "Math.trunc",
296
+ "modules": [
297
+ "es.math.trunc"
298
+ ],
299
+ "corejs": true
300
+ },
301
+ {
302
+ "name": "Object.assign",
303
+ "modules": [
304
+ "es.object.assign"
305
+ ],
306
+ "corejs": true
307
+ },
308
+ {
309
+ "name": "Object.create",
310
+ "modules": [
311
+ "es.object.create"
312
+ ],
313
+ "corejs": true
314
+ },
315
+ {
316
+ "name": "Object.entries",
317
+ "modules": [
318
+ "es.object.entries"
319
+ ],
320
+ "corejs": true
321
+ },
322
+ {
323
+ "name": "Object.freeze",
324
+ "modules": [
325
+ "es.object.freeze"
326
+ ],
327
+ "corejs": true
328
+ },
329
+ {
330
+ "name": "Object.fromEntries",
331
+ "modules": [
332
+ "es.object.from-entries"
333
+ ],
334
+ "corejs": true
335
+ },
336
+ {
337
+ "name": "Object.getOwnPropertyDescriptor",
338
+ "modules": [
339
+ "es.object.get-own-property-descriptor"
340
+ ],
341
+ "corejs": true
342
+ },
343
+ {
344
+ "name": "Object.getOwnPropertyDescriptors",
345
+ "modules": [
346
+ "es.object.get-own-property-descriptors"
347
+ ],
348
+ "corejs": true
349
+ },
350
+ {
351
+ "name": "Object.getPrototypeOf",
352
+ "modules": [
353
+ "es.object.get-prototype-of"
354
+ ],
355
+ "corejs": true
356
+ },
357
+ {
358
+ "name": "Object.hasOwn",
359
+ "modules": [
360
+ "es.object.has-own"
361
+ ],
362
+ "corejs": true
363
+ },
364
+ {
365
+ "name": "Object.is",
366
+ "modules": [
367
+ "es.object.is"
368
+ ],
369
+ "corejs": true
370
+ },
371
+ {
372
+ "name": "Object.isExtensible",
373
+ "modules": [
374
+ "es.object.is-extensible"
375
+ ],
376
+ "corejs": true
377
+ },
378
+ {
379
+ "name": "Object.isFrozen",
380
+ "modules": [
381
+ "es.object.is-frozen"
382
+ ],
383
+ "corejs": true
384
+ },
385
+ {
386
+ "name": "Object.isSealed",
387
+ "modules": [
388
+ "es.object.is-sealed"
389
+ ],
390
+ "corejs": true
391
+ },
392
+ {
393
+ "name": "Object.keys",
394
+ "modules": [
395
+ "es.object.keys"
396
+ ],
397
+ "corejs": true
398
+ },
399
+ {
400
+ "name": "Object.preventExtensions",
401
+ "modules": [
402
+ "es.object.prevent-extensions"
403
+ ],
404
+ "corejs": true
405
+ },
406
+ {
407
+ "name": "Object.seal",
408
+ "modules": [
409
+ "es.object.seal"
410
+ ],
411
+ "corejs": true
412
+ },
413
+ {
414
+ "name": "Object.setPrototypeOf",
415
+ "modules": [
416
+ "es.object.set-prototype-of"
417
+ ],
418
+ "corejs": true
419
+ },
420
+ {
421
+ "name": "Object.values",
422
+ "modules": [
423
+ "es.object.values"
424
+ ],
425
+ "corejs": true
426
+ },
427
+ {
428
+ "name": "Promise.any",
429
+ "modules": [
430
+ "es.promise.any"
431
+ ],
432
+ "corejs": true
433
+ },
434
+ {
435
+ "name": "Reflect.apply",
436
+ "modules": [
437
+ "es.reflect.apply"
438
+ ],
439
+ "corejs": true
440
+ },
441
+ {
442
+ "name": "Reflect.construct",
443
+ "modules": [
444
+ "es.reflect.construct"
445
+ ],
446
+ "corejs": true
447
+ },
448
+ {
449
+ "name": "Reflect.deleteProperty",
450
+ "modules": [
451
+ "es.reflect.delete-property"
452
+ ],
453
+ "corejs": true
454
+ },
455
+ {
456
+ "name": "Reflect.get",
457
+ "modules": [
458
+ "es.reflect.get"
459
+ ],
460
+ "corejs": true
461
+ },
462
+ {
463
+ "name": "Reflect.getOwnPropertyDescriptor",
464
+ "modules": [
465
+ "es.reflect.get-own-property-descriptor"
466
+ ],
467
+ "corejs": true
468
+ },
469
+ {
470
+ "name": "Reflect.getPrototypeOf",
471
+ "modules": [
472
+ "es.reflect.get-prototype-of"
473
+ ],
474
+ "corejs": true
475
+ },
476
+ {
477
+ "name": "Reflect.has",
478
+ "modules": [
479
+ "es.reflect.has"
480
+ ],
481
+ "corejs": true
482
+ },
483
+ {
484
+ "name": "Reflect.isExtensible",
485
+ "modules": [
486
+ "es.reflect.is-extensible"
487
+ ],
488
+ "corejs": true
489
+ },
490
+ {
491
+ "name": "Reflect.ownKeys",
492
+ "modules": [
493
+ "es.reflect.own-keys"
494
+ ],
495
+ "corejs": true
496
+ },
497
+ {
498
+ "name": "Reflect.preventExtensions",
499
+ "modules": [
500
+ "es.reflect.prevent-extensions"
501
+ ],
502
+ "corejs": true
503
+ },
504
+ {
505
+ "name": "Reflect.set",
506
+ "modules": [
507
+ "es.reflect.set"
508
+ ],
509
+ "corejs": true
510
+ },
511
+ {
512
+ "name": "Reflect.setPrototypeOf",
513
+ "modules": [
514
+ "es.reflect.set-prototype-of"
515
+ ],
516
+ "corejs": true
517
+ },
518
+ {
519
+ "name": "String.prototype.codePointAt",
520
+ "modules": [
521
+ "es.string.code-point-at"
522
+ ],
523
+ "corejs": true
524
+ },
525
+ {
526
+ "name": "String.prototype.endsWith",
527
+ "modules": [
528
+ "es.string.ends-with"
529
+ ],
530
+ "corejs": true
531
+ },
532
+ {
533
+ "name": "String.fromCodePoint",
534
+ "modules": [
535
+ "es.string.from-code-point"
536
+ ],
537
+ "corejs": true
538
+ },
539
+ {
540
+ "name": "String.prototype.includes",
541
+ "modules": [
542
+ "es.string.includes"
543
+ ],
544
+ "corejs": true
545
+ },
546
+ {
547
+ "name": "String.prototype.matchAll",
548
+ "modules": [
549
+ "es.string.match-all"
550
+ ],
551
+ "corejs": true
552
+ },
553
+ {
554
+ "name": "String.prototype.padEnd",
555
+ "modules": [
556
+ "es.string.pad-end"
557
+ ],
558
+ "corejs": true
559
+ },
560
+ {
561
+ "name": "String.prototype.padStart",
562
+ "modules": [
563
+ "es.string.pad-start"
564
+ ],
565
+ "corejs": true
566
+ },
567
+ {
568
+ "name": "String.raw",
569
+ "modules": [
570
+ "es.string.raw"
571
+ ],
572
+ "corejs": true
573
+ },
574
+ {
575
+ "name": "String.prototype.repeat",
576
+ "modules": [
577
+ "es.string.repeat"
578
+ ],
579
+ "corejs": true
580
+ },
581
+ {
582
+ "name": "String.prototype.replaceAll",
583
+ "modules": [
584
+ "es.string.replace-all"
585
+ ],
586
+ "corejs": true
587
+ },
588
+ {
589
+ "name": "String.prototype.startsWith",
590
+ "modules": [
591
+ "es.string.starts-with"
592
+ ],
593
+ "corejs": true
594
+ },
595
+ {
596
+ "name": "String.prototype.substr",
597
+ "modules": [
598
+ "es.string.substr"
599
+ ],
600
+ "corejs": true
601
+ },
602
+ {
603
+ "name": "String.prototype.trim",
604
+ "modules": [
605
+ "es.string.trim"
606
+ ],
607
+ "corejs": true
608
+ },
609
+ {
610
+ "name": "String.prototype.trimEnd",
611
+ "modules": [
612
+ "es.string.trim-end"
613
+ ],
614
+ "corejs": true
615
+ },
616
+ {
617
+ "name": "String.prototype.trimStart",
618
+ "modules": [
619
+ "es.string.trim-start"
620
+ ],
621
+ "corejs": true
622
+ },
623
+ {
624
+ "name": "String.prototype.link",
625
+ "modules": [
626
+ "es.string.link"
627
+ ],
628
+ "corejs": true
629
+ },
630
+ {
631
+ "name": "Array.prototype.at",
632
+ "modules": [
633
+ "esnext.array.at"
634
+ ],
635
+ "corejs": true
636
+ },
637
+ {
638
+ "name": "Array.prototype.findLast",
639
+ "modules": [
640
+ "esnext.array.find-last"
641
+ ],
642
+ "corejs": true
643
+ },
644
+ {
645
+ "name": "Array.prototype.findLastIndex",
646
+ "modules": [
647
+ "esnext.array.find-last-index"
648
+ ],
649
+ "corejs": true
650
+ },
651
+ {
652
+ "name": "Object.hasOwn",
653
+ "modules": [
654
+ "esnext.object.has-own"
655
+ ],
656
+ "corejs": true
657
+ },
658
+ {
659
+ "name": "Promise.allSettled",
660
+ "modules": [
661
+ "esnext.promise.all-settled"
662
+ ],
663
+ "corejs": true
664
+ },
665
+ {
666
+ "name": "Promise.any",
667
+ "modules": [
668
+ "esnext.promise.any"
669
+ ],
670
+ "corejs": true
671
+ },
672
+ {
673
+ "name": "String.prototype.matchAll",
674
+ "modules": [
675
+ "esnext.string.match-all"
676
+ ],
677
+ "corejs": true
678
+ },
679
+ {
680
+ "name": "String.prototype.replaceAll",
681
+ "modules": [
682
+ "esnext.string.replace-all"
683
+ ],
684
+ "corejs": true
685
+ }
686
+ ]
@@ -1,5 +1,3 @@
1
- /* eslint-disable no-unused-vars */ // TODO: remove once implemented.
2
-
3
1
  /**
4
2
  * @license
5
3
  * Copyright 2025 Google LLC
@@ -10,7 +8,7 @@ import {UIStrings} from '@paulirish/trace_engine/models/trace/insights/FontDispl
10
8
 
11
9
  import {Audit} from '../audit.js';
12
10
  import * as i18n from '../../lib/i18n/i18n.js';
13
- import {adaptInsightToAuditProduct, makeNodeItemForNodeId} from './insight-audit.js';
11
+ import {adaptInsightToAuditProduct} from './insight-audit.js';
14
12
 
15
13
  // eslint-disable-next-line max-len
16
14
  const str_ = i18n.createIcuMessageFn('node_modules/@paulirish/trace_engine/models/trace/insights/FontDisplay.js', UIStrings);
@@ -37,14 +35,17 @@ class FontDisplayInsight extends Audit {
37
35
  * @return {Promise<LH.Audit.Product>}
38
36
  */
39
37
  static async audit(artifacts, context) {
40
- // TODO: implement.
41
38
  return adaptInsightToAuditProduct(artifacts, context, 'FontDisplay', (insight) => {
42
39
  /** @type {LH.Audit.Details.Table['headings']} */
43
40
  const headings = [
41
+ {key: 'url', valueType: 'url', label: str_(i18n.UIStrings.columnURL)},
42
+ {key: 'wastedMs', valueType: 'ms', label: str_(i18n.UIStrings.columnWastedMs)},
44
43
  ];
45
44
  /** @type {LH.Audit.Details.Table['items']} */
46
- const items = [
47
- ];
45
+ const items = insight.fonts.map(font => ({
46
+ url: font.request.args.data.url,
47
+ wastedMs: font.wastedTime,
48
+ }));
48
49
  return Audit.makeTableDetails(headings, items);
49
50
  });
50
51
  }
@@ -16,8 +16,6 @@ import {TraceEngineResult} from '../../computed/trace-engine-result.js';
16
16
  const str_ = i18n.createIcuMessageFn('node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js', UIStrings);
17
17
 
18
18
  const getOptimizationMessage =
19
- // @ts-expect-error TODO(cjamcl): update trace engine lib to modify types accordingly.
20
- // right now return type of getOptimizationMessage is wrongly `string`.
21
19
  TraceEngineResult.localizeFunction(str_, ImageDeliveryInsightModule.getOptimizationMessage);
22
20
 
23
21
  class ImageDeliveryInsight extends Audit {