lighthouse 12.4.0-dev.20250316 → 12.4.0-dev.20250317

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.
@@ -139,6 +139,8 @@ class LegacyJavascript extends ByteEfficiencyAudit {
139
139
  static buildPolyfillExpression(object, property, coreJs3Module) {
140
140
  const qt = (/** @type {string} */ token) =>
141
141
  `['"]${token}['"]`; // don't worry about matching string delims
142
+ const kebabCaseToCamelCase = (/** @type {string} */ str) =>
143
+ str.replace(/(-\w)/g, m => m[1].toUpperCase());
142
144
 
143
145
  let expression = '';
144
146
 
@@ -178,7 +180,7 @@ class LegacyJavascript extends ByteEfficiencyAudit {
178
180
  // core-js@3 minified pattern.
179
181
  // {target:"Array",proto:true},{fill:fill
180
182
  // {target:"Array",proto:true,forced:!HAS_SPECIES_SUPPORT||!USES_TO_LENGTH},{filter:
181
- expression += `|{target:${qt(objectWithoutPrototype)}\\S*},{${property}:`;
183
+ expression += `|{target:${qt(objectWithoutPrototype)}[^;]*},{${property}:`;
182
184
  } else {
183
185
  // Detect polyfills for new classes: Map, Set, WeakSet, etc.
184
186
  // TODO: so far, no class polyfills are enabled for detection.
@@ -191,6 +193,11 @@ class LegacyJavascript extends ByteEfficiencyAudit {
191
193
  // Un-minified code may have module names.
192
194
  // core-js/modules/es.object.is-frozen
193
195
  expression += `|core-js/modules/${coreJs3Module}(?:\\.js)?"`;
196
+ // rollup unminified output for commonjs modules.
197
+ // ex: es.reflect.own-keys -> function requireEs_reflect_ownKeys ()
198
+ let rollupSlug = kebabCaseToCamelCase(coreJs3Module).replaceAll('.', '_');
199
+ rollupSlug = rollupSlug[0].toUpperCase() + rollupSlug.slice(1);
200
+ expression += `|require${rollupSlug} \\(`;
194
201
 
195
202
  return expression;
196
203
  }
@@ -432,7 +439,9 @@ class LegacyJavascript extends ByteEfficiencyAudit {
432
439
  };
433
440
 
434
441
  const bundle = bundles.find(bundle => bundle.script.scriptId === script.scriptId);
435
- for (const match of matches) {
442
+ const matchesSorted =
443
+ matches.sort((a, b) => a.name > b.name ? 1 : a.name === b.name ? 0 : -1);
444
+ for (const match of matchesSorted) {
436
445
  const {name, line, column} = match;
437
446
  /** @type {SubItem} */
438
447
  const subItem = {
@@ -1,96 +1,93 @@
1
1
  {
2
- "moduleSizes": [26070, 498, 282, 294, 281, 467, 161, 236, 229, 765, 546, 339, 1608, 723, 729, 1545, 438, 214, 657, 111, 759, 537, 209, 281, 685, 217, 757, 631, 293, 182, 475, 79, 407, 140, 366, 792, 269, 222, 158, 280, 188, 137, 158, 105, 189, 543, 160, 742, 1436, 88, 904, 146, 314, 375, 183, 1083, 195, 503, 269, 208, 334, 350, 460, 568, 229, 1155, 334, 266, 30, 120, 309, 370, 358, 1952, 1638, 304, 153, 274, 1288, 192, 543, 74, 144, 137, 33, 336, 457, 2122, 535, 711, 1323, 117, 1961, 244, 557, 318, 119, 124, 108, 144, 96, 133, 441, 210, 1627, 1956, 693, 1426, 863, 637, 301, 51, 708, 583, 119, 600, 221, 370, 728, 1085, 552, 629, 125, 1746, 97, 441, 543, 2756, 371, 447, 548, 243, 266, 217, 99, 440, 183, 546, 137, 464, 207, 983, 171, 992, 503, 237, 382, 249, 675, 402, 254, 223, 164, 214, 191, 831, 218, 202, 232, 124, 249, 160, 251, 217, 717, 78, 561, 1627, 256, 386, 225, 432, 499, 394, 364, 445, 634, 667, 177, 346, 470, 663, 142, 588, 414, 617, 1559, 380, 2520, 1040, 417, 289, 238, 220, 214, 303, 163, 141, 510, 397, 137, 137, 133, 133, 390, 266, 137, 183, 215, 191, 485, 328, 575, 799, 533, 148, 215, 589, 589, 130, 362, 562, 471, 179, 186, 1266, 1456, 521, 1536, 427, 444, 406, 912, 150, 283, 144, 485, 470, 1787, 205, 1268, 796, 658, 306, 3751, 321, 331, 814, 146, 2328, 1226, 922, 237, 206, 198, 250, 283, 60, 3000],
2
+ "moduleSizes": [26070, 498, 282, 294, 281, 467, 161, 236, 229, 765, 546, 339, 1608, 723, 729, 1545, 438, 214, 657, 111, 759, 537, 209, 281, 685, 217, 757, 631, 293, 182, 475, 79, 407, 140, 366, 792, 269, 222, 158, 280, 188, 137, 158, 105, 189, 543, 160, 742, 1436, 88, 904, 146, 314, 375, 183, 1083, 195, 503, 269, 208, 334, 350, 460, 568, 229, 1155, 334, 266, 30, 120, 309, 370, 358, 1952, 1638, 304, 153, 274, 1288, 192, 543, 74, 144, 137, 33, 336, 457, 2122, 535, 711, 1323, 117, 1961, 244, 557, 318, 119, 124, 108, 144, 96, 133, 441, 210, 1627, 1956, 693, 1426, 863, 637, 301, 51, 708, 583, 119, 600, 221, 370, 728, 1085, 552, 629, 125, 1746, 97, 441, 543, 2756, 371, 447, 548, 243, 266, 217, 99, 440, 183, 546, 137, 464, 207, 983, 503, 237, 382, 249, 675, 402, 254, 223, 164, 214, 191, 831, 218, 202, 232, 124, 249, 160, 251, 217, 717, 78, 561, 1627, 256, 386, 225, 432, 499, 394, 364, 445, 634, 667, 177, 346, 470, 663, 142, 588, 414, 617, 1559, 380, 2520, 1040, 417, 289, 238, 220, 214, 303, 163, 141, 510, 397, 137, 137, 133, 133, 390, 266, 137, 183, 215, 191, 485, 328, 575, 799, 533, 148, 215, 589, 589, 130, 362, 562, 471, 179, 186, 1266, 1456, 521, 1536, 427, 444, 406, 912, 150, 283, 144, 485, 470, 205, 1268, 796, 658, 306, 3751, 814, 146, 2328, 1226, 922, 237, 206, 198, 250, 283, 60, 3000],
3
3
  "dependencies": {
4
- "Array.prototype.at": [0, 5, 69, 105, 106, 116, 166],
5
- "Array.prototype.concat": [0, 16, 21, 22, 26, 34, 40, 76, 78, 157, 167],
6
- "Array.prototype.copyWithin": [0, 5, 9, 37, 69, 105, 106, 116, 168],
7
- "Array.prototype.every": [0, 15, 17, 21, 22, 26, 53, 59, 76, 78, 157, 169],
8
- "Array.prototype.fill": [0, 5, 10, 69, 105, 106, 116, 170],
9
- "Array.prototype.filter": [0, 15, 16, 21, 22, 26, 53, 59, 76, 78, 157, 171],
10
- "Array.prototype.find": [0, 5, 15, 21, 22, 26, 53, 59, 69, 76, 78, 105, 106, 116, 157, 175],
11
- "Array.prototype.findIndex": [0, 5, 15, 21, 22, 26, 53, 59, 69, 76, 78, 105, 106, 116, 157, 172],
12
- "Array.prototype.findLast": [0, 5, 14, 53, 59, 69, 105, 106, 116, 174],
13
- "Array.prototype.findLastIndex": [0, 5, 14, 53, 59, 69, 105, 106, 116, 173],
14
- "Array.prototype.flat": [0, 21, 22, 26, 40, 50, 53, 59, 76, 78, 157, 177],
15
- "Array.prototype.flatMap": [0, 21, 22, 26, 40, 50, 53, 59, 76, 78, 157, 176],
16
- "Array.prototype.forEach": [0, 11, 15, 17, 21, 22, 26, 53, 59, 76, 78, 157, 178],
17
- "Array.from": [0, 12, 23, 24, 26, 34, 53, 59, 62, 63, 75, 78, 88, 157, 179],
18
- "Array.prototype.includes": [0, 5, 69, 105, 106, 116, 180],
19
- "Array.prototype.indexOf": [0, 17, 59, 181],
20
- "Array.isArray": [0, 76, 182],
21
- "Array.prototype.join": [0, 17, 183],
22
- "Array.prototype.map": [0, 15, 16, 21, 22, 26, 53, 59, 76, 78, 157, 184],
23
- "Array.of": [0, 26, 34, 78, 157, 185],
24
- "Array.prototype.slice": [0, 16, 19, 26, 34, 76, 78, 157, 186],
25
- "Array.prototype.some": [0, 15, 17, 21, 22, 26, 53, 59, 76, 78, 157, 187],
26
- "Array.prototype.sort": [0, 17, 19, 20, 26, 37, 42, 43, 46, 157, 158, 188],
27
- "Array.prototype.unshift": [0, 18, 37, 40, 76, 189],
28
- "Math.acosh": [0, 97, 190],
29
- "Math.asinh": [0, 191],
30
- "Math.atanh": [0, 192],
31
- "Math.cbrt": [0, 100, 193],
32
- "Math.clz32": [0, 194],
33
- "Math.cosh": [0, 93, 195],
34
- "Math.expm1": [0, 93, 196],
35
- "Math.fround": [0, 94, 95, 99, 100, 197],
36
- "Math.hypot": [0, 198],
37
- "Math.imul": [0, 199],
38
- "Math.log10": [0, 96, 200],
39
- "Math.log1p": [0, 97, 201],
40
- "Math.log2": [0, 98, 202],
41
- "Math.sign": [0, 100, 203],
42
- "Math.sinh": [0, 93, 204],
43
- "Math.tanh": [0, 93, 205],
44
- "Math.trunc": [0, 206],
45
- "Object.assign": [0, 104, 116, 207],
46
- "Object.create": [0, 69, 105, 106, 116, 208],
47
- "Object.entries": [0, 29, 112, 116, 119, 209],
48
- "Object.freeze": [0, 8, 19, 51, 73, 109, 113, 210],
49
- "Object.fromEntries": [0, 26, 34, 53, 59, 62, 63, 75, 87, 88, 157, 211],
50
- "Object.getOwnPropertyDescriptor": [0, 212],
51
- "Object.getOwnPropertyDescriptors": [0, 34, 213],
52
- "Object.getPrototypeOf": [0, 29, 112, 214],
53
- "Object.hasOwn": [0, 215],
54
- "Object.is": [0, 134, 219],
55
- "Object.isExtensible": [0, 8, 113, 216],
56
- "Object.isFrozen": [0, 8, 217],
57
- "Object.isSealed": [0, 8, 218],
58
- "Object.keys": [0, 116, 220],
59
- "Object.preventExtensions": [0, 8, 19, 51, 73, 109, 113, 221],
60
- "Object.seal": [0, 8, 19, 51, 73, 109, 113, 222],
61
- "Object.setPrototypeOf": [0, 4, 58, 83, 118, 223],
62
- "Object.values": [0, 29, 112, 116, 119, 224],
63
- "Promise.any": [0, 24, 26, 47, 53, 59, 62, 63, 75, 87, 88, 102, 122, 123, 124, 125, 157, 226],
64
- "Reflect.apply": [0, 52, 227],
65
- "Reflect.construct": [0, 3, 19, 26, 52, 55, 69, 78, 105, 106, 116, 157, 228],
66
- "Reflect.deleteProperty": [0, 229],
67
- "Reflect.get": [0, 29, 79, 112, 232],
68
- "Reflect.getOwnPropertyDescriptor": [0, 230],
69
- "Reflect.getPrototypeOf": [0, 29, 112, 231],
70
- "Reflect.has": [0, 233],
71
- "Reflect.isExtensible": [0, 8, 113, 234],
72
- "Reflect.ownKeys": [0, 235],
73
- "Reflect.preventExtensions": [0, 51, 236],
74
- "Reflect.set": [0, 29, 79, 112, 238],
75
- "Reflect.setPrototypeOf": [0, 4, 58, 83, 118, 237],
76
- "String.prototype.codePointAt": [0, 26, 141, 157, 158, 239],
77
- "String.prototype.endsWith": [0, 26, 28, 59, 85, 103, 157, 158, 240],
78
- "String.fromCodePoint": [0, 241],
79
- "String.prototype.includes": [0, 26, 28, 85, 103, 157, 158, 242],
80
- "String.prototype.matchAll": [0, 3, 6, 26, 29, 31, 59, 69, 78, 85, 89, 90, 105, 106, 112, 116, 126, 127, 128, 129, 130, 131, 132, 135, 139, 141, 157, 158, 244],
81
- "String.prototype.padEnd": [0, 26, 142, 143, 144, 157, 158, 245],
82
- "String.prototype.padStart": [0, 26, 142, 143, 144, 157, 158, 246],
83
- "String.raw": [0, 26, 157, 158, 247],
84
- "String.prototype.repeat": [0, 26, 144, 157, 158, 248],
85
- "String.prototype.replaceAll": [0, 26, 65, 85, 128, 129, 157, 158, 249],
86
- "String.prototype.startsWith": [0, 26, 28, 59, 85, 103, 157, 158, 250],
87
- "String.prototype.substr": [0, 26, 157, 158, 251],
88
- "String.prototype.trim": [0, 26, 146, 148, 157, 158, 165, 256],
89
- "String.prototype.trimEnd": [0, 26, 145, 146, 148, 157, 158, 165, 252, 254],
90
- "String.prototype.trimStart": [0, 26, 146, 147, 148, 157, 158, 165, 253, 255],
91
- "String.prototype.link": [0, 26, 30, 140, 157, 158, 243],
92
- "Promise.allSettled": [0, 24, 26, 47, 53, 59, 62, 63, 75, 87, 88, 102, 122, 123, 124, 125, 157, 225, 257],
93
- "focus-visible": [258]
4
+ "Array.prototype.at": [0, 5, 69, 105, 106, 116, 164],
5
+ "Array.prototype.concat": [0, 16, 21, 22, 26, 34, 40, 76, 78, 155, 165],
6
+ "Array.prototype.copyWithin": [0, 5, 9, 37, 69, 105, 106, 116, 166],
7
+ "Array.prototype.every": [0, 15, 17, 21, 22, 26, 53, 59, 76, 78, 155, 167],
8
+ "Array.prototype.fill": [0, 5, 10, 69, 105, 106, 116, 168],
9
+ "Array.prototype.filter": [0, 15, 16, 21, 22, 26, 53, 59, 76, 78, 155, 169],
10
+ "Array.prototype.find": [0, 5, 15, 21, 22, 26, 53, 59, 69, 76, 78, 105, 106, 116, 155, 173],
11
+ "Array.prototype.findIndex": [0, 5, 15, 21, 22, 26, 53, 59, 69, 76, 78, 105, 106, 116, 155, 170],
12
+ "Array.prototype.findLast": [0, 5, 14, 53, 59, 69, 105, 106, 116, 172],
13
+ "Array.prototype.findLastIndex": [0, 5, 14, 53, 59, 69, 105, 106, 116, 171],
14
+ "Array.prototype.flat": [0, 21, 22, 26, 40, 50, 53, 59, 76, 78, 155, 175],
15
+ "Array.prototype.flatMap": [0, 21, 22, 26, 40, 50, 53, 59, 76, 78, 155, 174],
16
+ "Array.prototype.forEach": [0, 11, 15, 17, 21, 22, 26, 53, 59, 76, 78, 155, 176],
17
+ "Array.from": [0, 12, 23, 24, 26, 34, 53, 59, 62, 63, 75, 78, 88, 155, 177],
18
+ "Array.prototype.includes": [0, 5, 69, 105, 106, 116, 178],
19
+ "Array.prototype.indexOf": [0, 17, 59, 179],
20
+ "Array.isArray": [0, 76, 180],
21
+ "Array.prototype.join": [0, 17, 181],
22
+ "Array.prototype.map": [0, 15, 16, 21, 22, 26, 53, 59, 76, 78, 155, 182],
23
+ "Array.of": [0, 26, 34, 78, 155, 183],
24
+ "Array.prototype.slice": [0, 16, 19, 26, 34, 76, 78, 155, 184],
25
+ "Array.prototype.some": [0, 15, 17, 21, 22, 26, 53, 59, 76, 78, 155, 185],
26
+ "Array.prototype.sort": [0, 17, 19, 20, 26, 37, 42, 43, 46, 155, 156, 186],
27
+ "Array.prototype.unshift": [0, 18, 37, 40, 76, 187],
28
+ "Math.acosh": [0, 97, 188],
29
+ "Math.asinh": [0, 189],
30
+ "Math.atanh": [0, 190],
31
+ "Math.cbrt": [0, 100, 191],
32
+ "Math.clz32": [0, 192],
33
+ "Math.cosh": [0, 93, 193],
34
+ "Math.expm1": [0, 93, 194],
35
+ "Math.fround": [0, 94, 95, 99, 100, 195],
36
+ "Math.hypot": [0, 196],
37
+ "Math.imul": [0, 197],
38
+ "Math.log10": [0, 96, 198],
39
+ "Math.log1p": [0, 97, 199],
40
+ "Math.log2": [0, 98, 200],
41
+ "Math.sign": [0, 100, 201],
42
+ "Math.sinh": [0, 93, 202],
43
+ "Math.tanh": [0, 93, 203],
44
+ "Math.trunc": [0, 204],
45
+ "Object.assign": [0, 104, 116, 205],
46
+ "Object.create": [0, 69, 105, 106, 116, 206],
47
+ "Object.entries": [0, 29, 112, 116, 119, 207],
48
+ "Object.freeze": [0, 8, 19, 51, 73, 109, 113, 208],
49
+ "Object.fromEntries": [0, 26, 34, 53, 59, 62, 63, 75, 87, 88, 155, 209],
50
+ "Object.getOwnPropertyDescriptor": [0, 210],
51
+ "Object.getOwnPropertyDescriptors": [0, 34, 211],
52
+ "Object.getPrototypeOf": [0, 29, 112, 212],
53
+ "Object.hasOwn": [0, 213],
54
+ "Object.is": [0, 134, 217],
55
+ "Object.isExtensible": [0, 8, 113, 214],
56
+ "Object.isFrozen": [0, 8, 215],
57
+ "Object.isSealed": [0, 8, 216],
58
+ "Object.keys": [0, 116, 218],
59
+ "Object.preventExtensions": [0, 8, 19, 51, 73, 109, 113, 219],
60
+ "Object.seal": [0, 8, 19, 51, 73, 109, 113, 220],
61
+ "Object.setPrototypeOf": [0, 4, 58, 83, 118, 221],
62
+ "Object.values": [0, 29, 112, 116, 119, 222],
63
+ "Promise.any": [0, 24, 26, 47, 53, 59, 62, 63, 75, 87, 88, 102, 122, 123, 124, 125, 155, 224],
64
+ "Reflect.apply": [0, 52, 225],
65
+ "Reflect.construct": [0, 3, 19, 26, 52, 55, 69, 78, 105, 106, 116, 155, 226],
66
+ "Reflect.deleteProperty": [0, 227],
67
+ "Reflect.get": [0, 29, 79, 112, 230],
68
+ "Reflect.getOwnPropertyDescriptor": [0, 228],
69
+ "Reflect.getPrototypeOf": [0, 29, 112, 229],
70
+ "Reflect.has": [0, 231],
71
+ "Reflect.isExtensible": [0, 8, 113, 232],
72
+ "Reflect.ownKeys": [0, 233],
73
+ "Reflect.preventExtensions": [0, 51, 234],
74
+ "Reflect.setPrototypeOf": [0, 4, 58, 83, 118, 235],
75
+ "String.prototype.codePointAt": [0, 26, 141, 155, 156, 236],
76
+ "String.prototype.endsWith": [0, 26, 28, 59, 85, 103, 155, 156, 237],
77
+ "String.fromCodePoint": [0, 238],
78
+ "String.prototype.includes": [0, 26, 28, 85, 103, 155, 156, 239],
79
+ "String.prototype.matchAll": [0, 3, 6, 26, 29, 31, 59, 69, 78, 85, 89, 90, 105, 106, 112, 116, 126, 127, 128, 129, 130, 131, 132, 135, 139, 141, 155, 156, 241],
80
+ "String.raw": [0, 26, 155, 156, 242],
81
+ "String.prototype.repeat": [0, 26, 142, 155, 156, 243],
82
+ "String.prototype.replaceAll": [0, 26, 65, 85, 128, 129, 155, 156, 244],
83
+ "String.prototype.startsWith": [0, 26, 28, 59, 85, 103, 155, 156, 245],
84
+ "String.prototype.substr": [0, 26, 155, 156, 246],
85
+ "String.prototype.trim": [0, 26, 144, 146, 155, 156, 163, 251],
86
+ "String.prototype.trimEnd": [0, 26, 143, 144, 146, 155, 156, 163, 247, 249],
87
+ "String.prototype.trimStart": [0, 26, 144, 145, 146, 155, 156, 163, 248, 250],
88
+ "String.prototype.link": [0, 26, 30, 140, 155, 156, 240],
89
+ "Promise.allSettled": [0, 24, 26, 47, 53, 59, 62, 63, 75, 87, 88, 102, 122, 123, 124, 125, 155, 223, 252],
90
+ "focus-visible": [253]
94
91
  },
95
- "maxSize": 159437
92
+ "maxSize": 155835
96
93
  }
@@ -506,13 +506,6 @@
506
506
  ],
507
507
  "corejs": true
508
508
  },
509
- {
510
- "name": "Reflect.set",
511
- "modules": [
512
- "es.reflect.set"
513
- ],
514
- "corejs": true
515
- },
516
509
  {
517
510
  "name": "Reflect.setPrototypeOf",
518
511
  "modules": [
@@ -556,20 +549,6 @@
556
549
  ],
557
550
  "corejs": true
558
551
  },
559
- {
560
- "name": "String.prototype.padEnd",
561
- "modules": [
562
- "es.string.pad-end"
563
- ],
564
- "corejs": true
565
- },
566
- {
567
- "name": "String.prototype.padStart",
568
- "modules": [
569
- "es.string.pad-start"
570
- ],
571
- "corejs": true
572
- },
573
552
  {
574
553
  "name": "String.raw",
575
554
  "modules": [
@@ -408,21 +408,21 @@ const defaultConfig = {
408
408
  {id: 'interaction-to-next-paint', weight: 0, group: 'metrics', acronym: 'INP'},
409
409
 
410
410
  // Insight audits.
411
- {id: 'cls-culprits-insight', weight: 0, group: 'insights'},
412
- {id: 'document-latency-insight', weight: 0, group: 'insights'},
413
- {id: 'dom-size-insight', weight: 0, group: 'insights'},
414
- {id: 'duplicate-javascript-insight', weight: 0, group: 'insights'},
415
- {id: 'font-display-insight', weight: 0, group: 'insights'},
416
- {id: 'forced-reflow-insight', weight: 0, group: 'insights'},
417
- {id: 'image-delivery-insight', weight: 0, group: 'insights'},
418
- {id: 'interaction-to-next-paint-insight', weight: 0, group: 'insights'},
419
- {id: 'lcp-discovery-insight', weight: 0, group: 'insights'},
420
- {id: 'lcp-phases-insight', weight: 0, group: 'insights'},
421
- {id: 'network-dependency-tree-insight', weight: 0, group: 'insights'},
422
- {id: 'render-blocking-insight', weight: 0, group: 'insights'},
423
- {id: 'slow-css-selector-insight', weight: 0, group: 'insights'},
424
- {id: 'third-parties-insight', weight: 0, group: 'insights'},
425
- {id: 'viewport-insight', weight: 0, group: 'insights'},
411
+ {id: 'cls-culprits-insight', weight: 0, group: 'hidden'},
412
+ {id: 'document-latency-insight', weight: 0, group: 'hidden'},
413
+ {id: 'dom-size-insight', weight: 0, group: 'hidden'},
414
+ {id: 'duplicate-javascript-insight', weight: 0, group: 'hidden'},
415
+ {id: 'font-display-insight', weight: 0, group: 'hidden'},
416
+ {id: 'forced-reflow-insight', weight: 0, group: 'hidden'},
417
+ {id: 'image-delivery-insight', weight: 0, group: 'hidden'},
418
+ {id: 'interaction-to-next-paint-insight', weight: 0, group: 'hidden'},
419
+ {id: 'lcp-discovery-insight', weight: 0, group: 'hidden'},
420
+ {id: 'lcp-phases-insight', weight: 0, group: 'hidden'},
421
+ {id: 'network-dependency-tree-insight', weight: 0, group: 'hidden'},
422
+ {id: 'render-blocking-insight', weight: 0, group: 'hidden'},
423
+ {id: 'slow-css-selector-insight', weight: 0, group: 'hidden'},
424
+ {id: 'third-parties-insight', weight: 0, group: 'hidden'},
425
+ {id: 'viewport-insight', weight: 0, group: 'hidden'},
426
426
 
427
427
  // These are our "invisible" metrics. Not displayed, but still in the LHR.
428
428
  {id: 'interactive', weight: 0, group: 'hidden', acronym: 'TTI'},
@@ -24,6 +24,24 @@ const config = {
24
24
  'performance': {
25
25
  auditRefs: [
26
26
  {id: 'uses-rel-preload', weight: 0, group: 'diagnostics'},
27
+
28
+ // TODO: Remove this when insights aren't hidden by default
29
+ // Insight audits.
30
+ {id: 'cls-culprits-insight', weight: 0, group: 'insights'},
31
+ {id: 'document-latency-insight', weight: 0, group: 'insights'},
32
+ {id: 'dom-size-insight', weight: 0, group: 'insights'},
33
+ {id: 'duplicate-javascript-insight', weight: 0, group: 'insights'},
34
+ {id: 'font-display-insight', weight: 0, group: 'insights'},
35
+ {id: 'forced-reflow-insight', weight: 0, group: 'insights'},
36
+ {id: 'image-delivery-insight', weight: 0, group: 'insights'},
37
+ {id: 'interaction-to-next-paint-insight', weight: 0, group: 'insights'},
38
+ {id: 'lcp-discovery-insight', weight: 0, group: 'insights'},
39
+ {id: 'lcp-phases-insight', weight: 0, group: 'insights'},
40
+ {id: 'network-dependency-tree-insight', weight: 0, group: 'insights'},
41
+ {id: 'render-blocking-insight', weight: 0, group: 'insights'},
42
+ {id: 'slow-css-selector-insight', weight: 0, group: 'insights'},
43
+ {id: 'third-parties-insight', weight: 0, group: 'insights'},
44
+ {id: 'viewport-insight', weight: 0, group: 'insights'},
27
45
  ],
28
46
  },
29
47
  // @ts-ignore: `title` is required in CategoryJson. setting to the same value as the default
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "lighthouse",
3
3
  "type": "module",
4
- "version": "12.4.0-dev.20250316",
4
+ "version": "12.4.0-dev.20250317",
5
5
  "description": "Automated auditing, performance metrics, and best practices for the web.",
6
6
  "main": "./core/index.js",
7
7
  "bin": {