lighthouse 12.4.0-dev.20250311 → 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.
@@ -27,14 +27,9 @@ declare class LegacyJavascript extends ByteEfficiencyAudit {
27
27
  * @param {string} property
28
28
  */
29
29
  static buildPolyfillExpression(object: string | null, property: string): string;
30
- static getPolyfillData(): {
31
- name: string;
32
- modules: string[];
33
- corejs?: boolean;
34
- }[];
30
+ static getPolyfillModuleData(): import("../../scripts/legacy-javascript/create-polyfill-module-data.js").PolyfillModuleData;
35
31
  static getCoreJsPolyfillData(): {
36
32
  name: string;
37
- coreJs2Module: string;
38
33
  coreJs3Module: string;
39
34
  }[];
40
35
  /**
@@ -5,8 +5,8 @@
5
5
  */
6
6
 
7
7
  /**
8
- * @fileoverview Identifies polyfills and transforms that should not be present if using module/nomodule pattern.
9
- * @see https://docs.google.com/document/d/1ItjJwAd6e0Ts6yMbvh8TN3BBh_sAd58rYE1whnpuxaA/edit Design document
8
+ * @fileoverview Identifies polyfills and transforms that should not be present if needing to support only Baseline browsers.
9
+ * @see https://docs.google.com/document/d/1ItjJwAd6e0Ts6yMbvh8TN3BBh_sAd58rYE1whnpuxaA/edit Design document (old, based on module/nomodule pattern)
10
10
  * @see https://docs.google.com/spreadsheets/d/1z28Au8wo8-c2UsM2lDVEOJcI3jOkb2c951xEBqzBKCc/edit?usp=sharing Legacy babel transforms / polyfills
11
11
  * ./core/scripts/legacy-javascript - verification tool.
12
12
  */
@@ -27,6 +27,12 @@ import * as i18n from '../../lib/i18n/i18n.js';
27
27
  import {estimateCompressionRatioForContent} from '../../lib/script-helpers.js';
28
28
  import {LH_ROOT} from '../../../shared/root.js';
29
29
 
30
+ const polyfillModuleDataJson = fs.readFileSync(
31
+ `${LH_ROOT}/core/audits/byte-efficiency/polyfill-module-data.json`, 'utf-8');
32
+
33
+ /** @type {import('../../scripts/legacy-javascript/create-polyfill-module-data.js').PolyfillModuleData} */
34
+ const polyfillModuleData = JSON.parse(polyfillModuleDataJson);
35
+
30
36
  const graphJson = fs.readFileSync(
31
37
  `${LH_ROOT}/core/audits/byte-efficiency/polyfill-graph-data.json`, 'utf-8');
32
38
 
@@ -39,7 +45,7 @@ const UIStrings = {
39
45
  // eslint-disable-next-line max-len
40
46
  // TODO: developer.chrome.com article. this codelab is good starting place: https://web.dev/articles/codelab-serve-modern-code
41
47
  /** Description of a Lighthouse audit that tells the user about old JavaScript that is no longer needed. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
42
- description: 'Polyfills and transforms enable legacy browsers to use new JavaScript features. However, many aren\'t necessary for modern browsers. For your bundled JavaScript, adopt a modern script deployment strategy using [module/nomodule feature detection](https://philipwalton.com/articles/deploying-es2015-code-in-production-today/) to reduce the amount of code shipped to modern browsers, while retaining support for legacy browsers. [Learn how to serve modern JavaScript](https://web.dev/articles/codelab-serve-modern-code)',
48
+ description: 'Polyfills and transforms enable legacy browsers to use new JavaScript features. However, many aren\'t necessary for modern browsers. Consider modifying your JavaScript build process to not transpile [Baseline](https://web.dev/baseline) features, unless you know you must support legacy browsers. [Learn why most sites can deploy ES6+ code without transpiling](https://philipwalton.com/articles/the-state-of-es5-on-the-web/)',
43
49
  /** Warning text that an outdated version of the library "core-js" was found, and the developer should upgrade. */
44
50
  // eslint-disable-next-line max-len
45
51
  detectedCoreJs2Warning: 'Version 2 of core-js was detected on the page. You should upgrade to version 3 for many performance improvements.',
@@ -170,105 +176,31 @@ class LegacyJavascript extends ByteEfficiencyAudit {
170
176
  // TODO: perhaps this is the wrong place to check for a CDN polyfill. Remove?
171
177
  // expression += `|;e\\([^,]+,${qt(objectWithoutPrototype)},{${property}:`;
172
178
 
173
- // core-js@2 minified pattern.
174
- // $export($export.S,"Date",{now:function
175
- expression += `|\\$export\\([^,]+,${qt(objectWithoutPrototype)},{${property}:`;
176
-
177
179
  // core-js@3 minified pattern.
178
180
  // {target:"Array",proto:true},{fill:fill
179
181
  // {target:"Array",proto:true,forced:!HAS_SPECIES_SUPPORT||!USES_TO_LENGTH},{filter:
180
182
  expression += `|{target:${qt(objectWithoutPrototype)}\\S*},{${property}:`;
181
183
  } else {
182
- // WeakSet, etc.
183
- expression += `|function ${property}\\(`;
184
+ // Detect polyfills for new classes: Map, Set, WeakSet, etc.
185
+ // TODO: so far, no class polyfills are enabled for detection.
186
+ // See `modulesToSkip` in create-polyfill-module-data.js
187
+
188
+ // collection("Map",
189
+ // expression += `|collection\\(${qt(property)},`;
184
190
  }
185
191
 
186
192
  return expression;
187
193
  }
188
194
 
189
- static getPolyfillData() {
190
- /** @type {Array<{name: string, modules: string[], corejs?: boolean}>} */
191
- const data = [
192
- {name: 'focus-visible', modules: ['focus-visible']},
193
- ];
194
-
195
- const coreJsPolyfills = [
196
- ['Array.prototype.fill', 'es6.array.fill'],
197
- ['Array.prototype.filter', 'es6.array.filter'],
198
- ['Array.prototype.find', 'es6.array.find'],
199
- ['Array.prototype.findIndex', 'es6.array.find-index'],
200
- ['Array.prototype.forEach', 'es6.array.for-each'],
201
- ['Array.from', 'es6.array.from'],
202
- ['Array.isArray', 'es6.array.is-array'],
203
- ['Array.prototype.map', 'es6.array.map'],
204
- ['Array.of', 'es6.array.of'],
205
- ['Array.prototype.some', 'es6.array.some'],
206
- ['Date.now', 'es6.date.now'],
207
- ['Date.prototype.toISOString', 'es6.date.to-iso-string'],
208
- ['Date.prototype.toJSON', 'es6.date.to-json'],
209
- ['Date.prototype.toString', 'es6.date.to-string'],
210
- ['Function.prototype.name', 'es6.function.name'],
211
- ['Number.isInteger', 'es6.number.is-integer'],
212
- ['Number.isSafeInteger', 'es6.number.is-safe-integer'],
213
- ['Object.defineProperties', 'es6.object.define-properties'],
214
- ['Object.defineProperty', 'es6.object.define-property'],
215
- ['Object.freeze', 'es6.object.freeze'],
216
- ['Object.getPrototypeOf', 'es6.object.get-prototype-of'],
217
- ['Object.isExtensible', 'es6.object.is-extensible'],
218
- ['Object.isFrozen', 'es6.object.is-frozen'],
219
- ['Object.isSealed', 'es6.object.is-sealed'],
220
- ['Object.keys', 'es6.object.keys'],
221
- ['Object.preventExtensions', 'es6.object.prevent-extensions'],
222
- ['Object.seal', 'es6.object.seal'],
223
- ['Object.setPrototypeOf', 'es6.object.set-prototype-of'],
224
- ['Reflect.apply', 'es6.reflect.apply'],
225
- ['Reflect.construct', 'es6.reflect.construct'],
226
- ['Reflect.defineProperty', 'es6.reflect.define-property'],
227
- ['Reflect.deleteProperty', 'es6.reflect.delete-property'],
228
- ['Reflect.get', 'es6.reflect.get'],
229
- ['Reflect.getOwnPropertyDescriptor', 'es6.reflect.get-own-property-descriptor'],
230
- ['Reflect.getPrototypeOf', 'es6.reflect.get-prototype-of'],
231
- ['Reflect.has', 'es6.reflect.has'],
232
- ['Reflect.isExtensible', 'es6.reflect.is-extensible'],
233
- ['Reflect.ownKeys', 'es6.reflect.own-keys'],
234
- ['Reflect.preventExtensions', 'es6.reflect.prevent-extensions'],
235
- ['Reflect.setPrototypeOf', 'es6.reflect.set-prototype-of'],
236
- ['String.prototype.codePointAt', 'es6.string.code-point-at'],
237
- ['String.raw', 'es6.string.raw'],
238
- ['String.prototype.repeat', 'es6.string.repeat'],
239
- ['Object.entries', 'es7.object.entries'],
240
- ['Object.getOwnPropertyDescriptors', 'es7.object.get-own-property-descriptors'],
241
- ['Object.values', 'es7.object.values'],
242
- ];
243
-
244
- for (const [name, coreJs2Module] of coreJsPolyfills) {
245
- // es-shims follows a pattern for its packages.
246
- // Tack it onto the corejs size estimation, as it is likely close in size.
247
- const esShimModule = name.toLowerCase();
248
- data.push({
249
- name,
250
- modules: [
251
- coreJs2Module,
252
- // corejs 3 module name
253
- coreJs2Module
254
- .replace('es6.', 'es.')
255
- .replace('es7.', 'es.')
256
- .replace('typed.', 'typed-array.'),
257
- esShimModule,
258
- ],
259
- corejs: true,
260
- });
261
- }
262
-
263
- return data;
195
+ static getPolyfillModuleData() {
196
+ return polyfillModuleData;
264
197
  }
265
198
 
266
199
  static getCoreJsPolyfillData() {
267
- return this.getPolyfillData().filter(d => d.corejs).map(d => {
200
+ return this.getPolyfillModuleData().filter(d => d.corejs).map(d => {
268
201
  return {
269
202
  name: d.name,
270
- coreJs2Module: d.modules[0],
271
- coreJs3Module: d.modules[1],
203
+ coreJs3Module: d.modules[0],
272
204
  };
273
205
  });
274
206
  }
@@ -329,7 +261,7 @@ class LegacyJavascript extends ByteEfficiencyAudit {
329
261
  static detectAcrossScripts(matcher, scripts, bundles) {
330
262
  /** @type {Map<LH.Artifacts.Script, PatternMatchResult[]>} */
331
263
  const scriptToMatchResults = new Map();
332
- const polyfillData = this.getPolyfillData();
264
+ const polyfillData = this.getPolyfillModuleData();
333
265
 
334
266
  for (const script of Object.values(scripts)) {
335
267
  if (!script.content) continue;
@@ -1,53 +1,96 @@
1
1
  {
2
- "moduleSizes": [17302, 498, 282, 294, 281, 467, 236, 229, 546, 339, 1608, 723, 1545, 438, 214, 111, 537, 209, 281, 685, 217, 757, 631, 182, 407, 140, 366, 1478, 359, 792, 269, 158, 280, 137, 189, 543, 1436, 88, 146, 314, 375, 183, 1083, 195, 503, 269, 208, 334, 350, 460, 568, 229, 334, 266, 30, 120, 309, 370, 358, 1952, 1638, 304, 153, 274, 1288, 192, 543, 187, 74, 144, 137, 33, 457, 535, 117, 1961, 133, 1956, 693, 1426, 863, 637, 301, 51, 708, 583, 119, 600, 221, 370, 728, 1085, 552, 629, 217, 183, 546, 137, 983, 992, 503, 402, 254, 223, 164, 214, 191, 831, 218, 202, 232, 124, 249, 160, 251, 217, 717, 225, 432, 499, 445, 177, 346, 142, 414, 617, 380, 264, 212, 524, 529, 708, 173, 272, 308, 296, 191, 485, 799, 533, 215, 589, 589, 362, 562, 471, 179, 186, 521, 1536, 756, 427, 444, 406, 912, 150, 283, 144, 485, 470, 205, 814, 146, 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, 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, 46, 59, 53, 52, 60, 49, 54, 56, 3000],
3
3
  "dependencies": {
4
- "Array.prototype.fill": [0, 5, 8, 11, 20, 22, 29, 33, 36, 55, 57, 66, 74, 76, 77, 78, 80, 82, 83, 87, 88, 89, 93, 102, 103, 104, 105, 117],
5
- "Array.prototype.filter": [0, 11, 12, 13, 16, 17, 20, 21, 22, 29, 33, 36, 40, 46, 57, 62, 64, 66, 74, 76, 80, 82, 83, 87, 89, 93, 102, 103, 104, 105, 109, 118],
6
- "Array.prototype.find": [0, 5, 11, 12, 16, 17, 20, 21, 22, 29, 33, 36, 40, 46, 55, 57, 62, 64, 66, 74, 76, 77, 78, 80, 82, 83, 87, 88, 89, 93, 102, 103, 104, 105, 109, 120],
7
- "Array.prototype.findIndex": [0, 5, 11, 12, 16, 17, 20, 21, 22, 29, 33, 36, 40, 46, 55, 57, 62, 64, 66, 74, 76, 77, 78, 80, 82, 83, 87, 88, 89, 93, 102, 103, 104, 105, 109, 119],
8
- "Array.prototype.forEach": [0, 9, 11, 12, 14, 16, 17, 20, 21, 22, 29, 33, 36, 40, 46, 57, 62, 64, 66, 74, 76, 80, 82, 83, 87, 89, 93, 102, 103, 104, 105, 109, 121],
9
- "Array.from": [0, 10, 11, 18, 19, 20, 21, 22, 26, 29, 33, 36, 40, 46, 49, 50, 57, 61, 64, 66, 73, 74, 76, 80, 82, 83, 87, 89, 93, 102, 103, 104, 105, 109, 122],
10
- "Array.isArray": [0, 11, 20, 22, 29, 33, 36, 57, 62, 66, 74, 76, 80, 82, 83, 87, 89, 93, 102, 103, 104, 105, 123],
11
- "Array.prototype.map": [0, 11, 12, 13, 16, 17, 20, 21, 22, 29, 33, 36, 40, 46, 57, 62, 64, 66, 74, 76, 80, 82, 83, 87, 89, 93, 102, 103, 104, 105, 109, 124],
12
- "Array.of": [0, 11, 20, 21, 22, 26, 29, 33, 36, 57, 64, 66, 74, 76, 80, 82, 83, 87, 89, 93, 102, 103, 104, 105, 109, 125],
13
- "Array.prototype.some": [0, 11, 12, 14, 16, 17, 20, 21, 22, 29, 33, 36, 40, 46, 57, 62, 64, 66, 74, 76, 80, 82, 83, 87, 89, 93, 102, 103, 104, 105, 109, 126],
14
- "Date.now": [0, 11, 20, 22, 29, 33, 36, 57, 66, 74, 76, 80, 82, 83, 87, 89, 93, 102, 103, 104, 105, 127],
15
- "Date.prototype.toISOString": [0, 11, 20, 21, 22, 27, 29, 33, 36, 57, 66, 74, 76, 80, 82, 83, 87, 89, 93, 99, 100, 102, 103, 104, 105, 109, 110, 128],
16
- "Date.prototype.toJSON": [0, 11, 20, 22, 29, 33, 36, 57, 66, 74, 76, 80, 82, 83, 87, 89, 93, 102, 103, 104, 105, 129],
17
- "Date.prototype.toString": [0, 29, 130],
18
- "Function.prototype.name": [0, 28, 131],
19
- "Number.isInteger": [0, 11, 20, 22, 29, 33, 36, 57, 66, 67, 74, 76, 80, 82, 83, 87, 89, 93, 102, 103, 104, 105, 132],
20
- "Number.isSafeInteger": [0, 11, 20, 22, 29, 33, 36, 57, 66, 67, 74, 76, 80, 82, 83, 87, 89, 93, 102, 103, 104, 105, 133],
21
- "Object.defineProperties": [0, 11, 20, 22, 29, 33, 36, 57, 66, 74, 76, 78, 80, 82, 83, 87, 88, 89, 93, 102, 103, 104, 105, 134],
22
- "Object.defineProperty": [0, 11, 20, 22, 29, 33, 36, 57, 66, 74, 76, 80, 82, 83, 87, 89, 93, 102, 103, 104, 105, 135],
23
- "Object.freeze": [0, 7, 11, 15, 20, 22, 29, 33, 36, 38, 57, 59, 66, 74, 76, 80, 81, 82, 83, 85, 87, 89, 93, 102, 103, 104, 105, 137],
24
- "Object.getPrototypeOf": [0, 11, 20, 22, 23, 29, 33, 36, 57, 66, 74, 76, 80, 82, 83, 84, 87, 89, 93, 102, 103, 104, 105, 139],
25
- "Object.isExtensible": [0, 7, 11, 20, 22, 29, 33, 36, 57, 66, 74, 76, 80, 82, 83, 85, 87, 89, 93, 102, 103, 104, 105, 140],
26
- "Object.isFrozen": [0, 7, 11, 20, 22, 29, 33, 36, 57, 66, 74, 76, 80, 82, 83, 87, 89, 93, 102, 103, 104, 105, 141],
27
- "Object.isSealed": [0, 7, 11, 20, 22, 29, 33, 36, 57, 66, 74, 76, 80, 82, 83, 87, 89, 93, 102, 103, 104, 105, 142],
28
- "Object.keys": [0, 11, 20, 22, 29, 33, 36, 57, 66, 74, 76, 80, 82, 83, 87, 88, 89, 93, 102, 103, 104, 105, 143],
29
- "Object.preventExtensions": [0, 7, 11, 15, 20, 22, 29, 33, 36, 38, 57, 59, 66, 74, 76, 80, 81, 82, 83, 85, 87, 89, 93, 102, 103, 104, 105, 144],
30
- "Object.seal": [0, 7, 11, 15, 20, 22, 29, 33, 36, 38, 57, 59, 66, 74, 76, 80, 81, 82, 83, 85, 87, 89, 93, 102, 103, 104, 105, 145],
31
- "Object.setPrototypeOf": [0, 4, 11, 20, 22, 29, 33, 36, 45, 57, 66, 70, 74, 76, 80, 82, 83, 87, 89, 90, 93, 102, 103, 104, 105, 146],
32
- "Reflect.apply": [0, 11, 20, 22, 29, 33, 36, 39, 57, 66, 74, 76, 80, 82, 83, 87, 89, 93, 102, 103, 104, 105, 148],
33
- "Reflect.construct": [0, 3, 11, 15, 20, 21, 22, 29, 33, 36, 39, 42, 55, 57, 64, 66, 74, 76, 77, 78, 80, 82, 83, 87, 88, 89, 93, 102, 103, 104, 105, 109, 149],
34
- "Reflect.defineProperty": [0, 11, 20, 22, 29, 33, 36, 57, 66, 74, 76, 80, 82, 83, 87, 89, 93, 102, 103, 104, 105, 150],
35
- "Reflect.deleteProperty": [0, 11, 20, 22, 29, 33, 36, 57, 66, 74, 76, 80, 82, 83, 87, 89, 93, 102, 103, 104, 105, 151],
36
- "Reflect.get": [0, 11, 20, 22, 23, 29, 33, 36, 57, 65, 66, 74, 76, 80, 82, 83, 84, 87, 89, 93, 102, 103, 104, 105, 154],
37
- "Reflect.getOwnPropertyDescriptor": [0, 11, 20, 22, 29, 33, 36, 57, 66, 74, 76, 80, 82, 83, 87, 89, 93, 102, 103, 104, 105, 152],
38
- "Reflect.getPrototypeOf": [0, 11, 20, 22, 23, 29, 33, 36, 57, 66, 74, 76, 80, 82, 83, 84, 87, 89, 93, 102, 103, 104, 105, 153],
39
- "Reflect.has": [0, 11, 20, 22, 29, 33, 36, 57, 66, 74, 76, 80, 82, 83, 87, 89, 93, 102, 103, 104, 105, 155],
40
- "Reflect.isExtensible": [0, 7, 11, 20, 22, 29, 33, 36, 57, 66, 74, 76, 80, 82, 83, 85, 87, 89, 93, 102, 103, 104, 105, 156],
41
- "Reflect.ownKeys": [0, 11, 20, 22, 29, 33, 36, 57, 66, 74, 76, 80, 82, 83, 87, 89, 93, 102, 103, 104, 105, 157],
42
- "Reflect.preventExtensions": [0, 11, 20, 22, 29, 33, 36, 38, 57, 66, 74, 76, 80, 82, 83, 87, 89, 93, 102, 103, 104, 105, 158],
43
- "Reflect.setPrototypeOf": [0, 4, 11, 20, 22, 29, 33, 36, 45, 57, 66, 70, 74, 76, 80, 82, 83, 87, 89, 90, 93, 102, 103, 104, 105, 159],
44
- "String.prototype.codePointAt": [0, 11, 20, 21, 22, 29, 33, 36, 57, 66, 74, 76, 80, 82, 83, 87, 89, 93, 98, 102, 103, 104, 105, 109, 110, 160],
45
- "String.raw": [0, 11, 20, 21, 22, 29, 33, 36, 57, 66, 74, 76, 80, 82, 83, 87, 89, 93, 102, 103, 104, 105, 109, 110, 161],
46
- "String.prototype.repeat": [0, 11, 20, 21, 22, 29, 33, 36, 57, 66, 74, 76, 80, 82, 83, 87, 89, 93, 100, 102, 103, 104, 105, 109, 110, 162],
47
- "Object.entries": [0, 11, 20, 22, 23, 29, 33, 36, 57, 66, 74, 76, 80, 82, 83, 84, 87, 88, 89, 91, 93, 102, 103, 104, 105, 136],
48
- "Object.getOwnPropertyDescriptors": [0, 11, 20, 22, 26, 29, 33, 36, 57, 66, 74, 76, 80, 82, 83, 87, 89, 93, 102, 103, 104, 105, 138],
49
- "Object.values": [0, 11, 20, 22, 23, 29, 33, 36, 57, 66, 74, 76, 80, 82, 83, 84, 87, 88, 89, 91, 93, 102, 103, 104, 105, 147],
50
- "focus-visible": [163]
4
+ "Array.prototype.at": [0, 5, 69, 105, 106, 116, 166, 257],
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, 259],
13
+ "Array.prototype.findLastIndex": [0, 5, 14, 53, 59, 69, 105, 106, 116, 173, 258],
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, 260],
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, 262],
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, 263],
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, 264],
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, 261],
93
+ "focus-visible": [265]
51
94
  },
52
- "maxSize": 94935
95
+ "maxSize": 159806
53
96
  }
@@ -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
+ ]
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "lighthouse",
3
3
  "type": "module",
4
- "version": "12.4.0-dev.20250311",
4
+ "version": "12.4.0-dev.20250312",
5
5
  "description": "Automated auditing, performance metrics, and best practices for the web.",
6
6
  "main": "./core/index.js",
7
7
  "bin": {
@@ -141,6 +141,7 @@
141
141
  "chrome-devtools-frontend": "1.0.1418433",
142
142
  "concurrently": "^6.4.0",
143
143
  "conventional-changelog-cli": "^2.1.1",
144
+ "core-js-compat": "^3.41.0",
144
145
  "cpy": "^8.1.2",
145
146
  "cross-env": "^7.0.2",
146
147
  "csv-validator": "^0.0.3",
@@ -660,7 +660,7 @@
660
660
  "message": "Use video formats for animated content"
661
661
  },
662
662
  "core/audits/byte-efficiency/legacy-javascript.js | description": {
663
- "message": "Polyfills and transforms enable legacy browsers to use new JavaScript features. However, many aren't necessary for modern browsers. For your bundled JavaScript, adopt a modern script deployment strategy using [module/nomodule feature detection](https://philipwalton.com/articles/deploying-es2015-code-in-production-today/) to reduce the amount of code shipped to modern browsers, while retaining support for legacy browsers. [Learn how to serve modern JavaScript](https://web.dev/articles/codelab-serve-modern-code)"
663
+ "message": "Polyfills and transforms enable legacy browsers to use new JavaScript features. However, many aren't necessary for modern browsers. Consider modifying your JavaScript build process to not transpile [Baseline](https://web.dev/baseline) features, unless you know you must support legacy browsers. [Learn why most sites can deploy ES6+ code without transpiling](https://philipwalton.com/articles/the-state-of-es5-on-the-web/)"
664
664
  },
665
665
  "core/audits/byte-efficiency/legacy-javascript.js | detectedCoreJs2Warning": {
666
666
  "message": "Version 2 of core-js was detected on the page. You should upgrade to version 3 for many performance improvements."
@@ -660,7 +660,7 @@
660
660
  "message": "Ûśê v́îd́êó f̂ór̂ḿât́ŝ f́ôŕ âńîḿât́êd́ ĉón̂t́êńt̂"
661
661
  },
662
662
  "core/audits/byte-efficiency/legacy-javascript.js | description": {
663
- "message": "P̂ól̂ýf̂íl̂ĺŝ án̂d́ t̂ŕâńŝf́ôŕm̂ś êńâb́l̂é l̂éĝáĉý b̂ŕôẃŝér̂ś t̂ó ûśê ńêẃ Ĵáv̂áŜćr̂íp̂t́ f̂éât́ûŕêś. Ĥóŵév̂ér̂, ḿâńŷ ár̂én̂'t́ n̂éĉéŝśâŕŷ f́ôŕ m̂ód̂ér̂ń b̂ŕôẃŝér̂ś. F̂ór̂ ýôúr̂ b́ûńd̂ĺêd́ Ĵáv̂áŜćr̂íp̂t́, âd́ôṕt̂ á m̂ód̂ér̂ń ŝćr̂íp̂t́ d̂éĺôýén̂t́ ŝt́r̂át̂éĝý ûśîńĝ [ḿôd́ûĺê/ôḿôd́ûĺê f́êát̂úr̂é d̂ééĉt́îón̂](https://philipwalton.com/articles/deploying-es2015-code-in-production-today/) t́ô ŕêd́ûćê t́ĥé âḿún̂ ôf́ ĉód̂ ŝh́îṕp̂éd̂ ô ḿôd́êŕr̂ŵśêŕŝ, ẃĥíl̂ r̂éáîńńĝ śûṕp̂ór̂t́ f̂ór̂ ĺêǵâć b́r̂óŵśêŕŝ. [Ĺêár̂ń ĥóŵ t́ śêŕv̂é m̂ód̂ér̂ń Ĵv̂áŜćr̂íp̂t́](https://web.dev/articles/codelab-serve-modern-code)"
663
+ "message": "P̂ól̂ýf̂íl̂ĺŝ án̂d́ t̂ŕâńŝf́ôŕm̂ś êńâb́l̂é l̂éĝáĉý b̂ŕôẃŝér̂ś t̂ó ûśê ńêẃ Ĵáv̂áŜćr̂íp̂t́ f̂éât́ûŕêś. Ĥóŵév̂ér̂, ḿâńŷ ár̂én̂'t́ n̂éĉéŝśâŕŷ f́ôŕ m̂ód̂ér̂ń b̂ŕôẃŝér̂ś. Ĉón̂śîd́êŕ m̂ód̂íf̂ýîńĝ ýôúr̂ âv́âŚĉŕîṕ b́ûíl̂d́ p̂ŕôćêśŝ ô ńt́ t̂ŕâńŝṕîĺê [B́âśêĺńê](https://web.dev/baseline) f́êát̂úr̂éŝ, ún̂ĺêśŝ ýôú k̂ńôẃ ŷóû ḿûśt̂ śûṕp̂ór̂t́ l̂éĝáĉý b̂ŕôẃŝér̂ś. [L̂éâŕn̂ ẃĥý m̂óŝt́ ŝít̂éŝ ćâń d̂ép̂ĺôý ÊŚ6+ ĉód̂é ŵít̂h́ôút̂ t́r̂án̂śp̂íl̂ín̂ǵ](https://philipwalton.com/articles/the-state-of-es5-on-the-web/)"
664
664
  },
665
665
  "core/audits/byte-efficiency/legacy-javascript.js | detectedCoreJs2Warning": {
666
666
  "message": "V̂ér̂śîón̂ 2 óf̂ ćôŕê-j́ŝ ẃâś d̂ét̂éĉt́êd́ ôń t̂h́ê ṕâǵê. Ýôú ŝh́ôúl̂d́ ûṕĝŕâd́ê t́ô v́êŕŝíôń 3 f̂ór̂ ḿâńŷ ṕêŕf̂ór̂ḿâńĉé îḿp̂ŕôv́êḿêńt̂ś."