lighthouse 9.2.0-dev.20211217 → 9.2.0-dev.20211221

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 (67) hide show
  1. package/dist/report/bundle.esm.js +6 -6
  2. package/dist/report/flow.js +5 -5
  3. package/dist/report/standalone.js +3 -3
  4. package/flow-report/src/common.tsx +1 -1
  5. package/flow-report/src/sidebar/flow.tsx +1 -1
  6. package/flow-report/src/util.ts +1 -2
  7. package/lighthouse-cli/run.js +1 -1
  8. package/lighthouse-cli/test/smokehouse/lighthouse-runners/cli.js +1 -1
  9. package/lighthouse-cli/test/smokehouse/report-assert.js +1 -1
  10. package/lighthouse-cli/test/smokehouse/smokehouse.js +4 -4
  11. package/lighthouse-core/audits/accessibility/axe-audit.js +4 -4
  12. package/lighthouse-core/audits/accessibility/object-alt.js +3 -3
  13. package/lighthouse-core/audits/audit.js +2 -2
  14. package/lighthouse-core/audits/byte-efficiency/byte-efficiency-audit.js +1 -1
  15. package/lighthouse-core/audits/byte-efficiency/duplicated-javascript.js +1 -1
  16. package/lighthouse-core/audits/dobetterweb/inspector-issues.js +3 -3
  17. package/lighthouse-core/audits/dobetterweb/uses-http2.js +1 -1
  18. package/lighthouse-core/audits/font-display.js +1 -1
  19. package/lighthouse-core/audits/installable-manifest.js +1 -1
  20. package/lighthouse-core/audits/maskable-icon.js +1 -1
  21. package/lighthouse-core/audits/multi-check-audit.js +1 -1
  22. package/lighthouse-core/audits/network-requests.js +4 -4
  23. package/lighthouse-core/audits/preload-lcp-image.js +1 -1
  24. package/lighthouse-core/audits/themed-omnibox.js +1 -1
  25. package/lighthouse-core/audits/valid-source-maps.js +2 -2
  26. package/lighthouse-core/computed/image-records.js +1 -1
  27. package/lighthouse-core/computed/js-bundles.js +1 -1
  28. package/lighthouse-core/computed/metrics/lantern-metric.js +1 -1
  29. package/lighthouse-core/computed/metrics/timing-summary.js +35 -35
  30. package/lighthouse-core/computed/page-dependency-graph.js +2 -2
  31. package/lighthouse-core/computed/resource-summary.js +1 -1
  32. package/lighthouse-core/config/config-helpers.js +2 -2
  33. package/lighthouse-core/config/config.js +1 -1
  34. package/lighthouse-core/fraggle-rock/config/filters.js +23 -1
  35. package/lighthouse-core/fraggle-rock/config/validation.js +2 -2
  36. package/lighthouse-core/fraggle-rock/gather/navigation-runner.js +2 -2
  37. package/lighthouse-core/fraggle-rock/user-flow.js +4 -4
  38. package/lighthouse-core/gather/connections/connection.js +1 -1
  39. package/lighthouse-core/gather/driver/execution-context.js +1 -1
  40. package/lighthouse-core/gather/driver/network-monitor.js +2 -2
  41. package/lighthouse-core/gather/driver/target-manager.js +1 -1
  42. package/lighthouse-core/gather/driver.js +1 -1
  43. package/lighthouse-core/gather/gatherers/console-messages.js +2 -2
  44. package/lighthouse-core/gather/gatherers/inspector-issues.js +3 -3
  45. package/lighthouse-core/gather/gatherers/js-usage.js +1 -1
  46. package/lighthouse-core/gather/gatherers/seo/font-size.js +1 -1
  47. package/lighthouse-core/gather/gatherers/trace-elements.js +8 -43
  48. package/lighthouse-core/lib/arbitrary-equality-map.js +1 -1
  49. package/lighthouse-core/lib/dependency-graph/simulator/connection-pool.js +1 -1
  50. package/lighthouse-core/lib/dependency-graph/simulator/network-analyzer.js +1 -1
  51. package/lighthouse-core/lib/emulation.js +1 -1
  52. package/lighthouse-core/lib/icons.js +1 -2
  53. package/lighthouse-core/lib/median-run.js +1 -2
  54. package/lighthouse-core/lib/network-recorder.js +2 -2
  55. package/lighthouse-core/lib/network-request.js +1 -1
  56. package/lighthouse-core/lib/tracehouse/cpu-profile-model.js +4 -6
  57. package/lighthouse-core/lib/tracehouse/main-thread-tasks.js +1 -1
  58. package/lighthouse-core/lib/tracehouse/trace-processor.js +14 -17
  59. package/lighthouse-core/runner.js +4 -4
  60. package/package.json +10 -10
  61. package/report/renderer/category-renderer.js +1 -1
  62. package/report/renderer/performance-category-renderer.js +4 -4
  63. package/report/renderer/report-renderer.js +1 -1
  64. package/report/test-assets/faux-psi.js +2 -3
  65. package/shared/localization/locales/en-US.json +3 -3
  66. package/shared/localization/locales/en-XL.json +3 -3
  67. package/third-party/snyk/snapshot.json +3 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lighthouse",
3
- "version": "9.2.0-dev.20211217",
3
+ "version": "9.2.0-dev.20211221",
4
4
  "description": "Automated auditing, performance metrics, and best practices for the web.",
5
5
  "main": "./lighthouse-core/index.js",
6
6
  "bin": {
@@ -116,7 +116,7 @@
116
116
  "@types/gh-pages": "^2.0.0",
117
117
  "@types/google.analytics": "0.0.39",
118
118
  "@types/jest": "^24.0.9",
119
- "@types/jpeg-js": "^0.3.0",
119
+ "@types/jpeg-js": "^0.3.7",
120
120
  "@types/jsdom": "^16.2.13",
121
121
  "@types/lodash.clonedeep": "^4.5.6",
122
122
  "@types/lodash.get": "^4.4.6",
@@ -140,8 +140,8 @@
140
140
  "c8": "^7.4.0",
141
141
  "chalk": "^2.4.1",
142
142
  "chrome-devtools-frontend": "1.0.922924",
143
- "conventional-changelog-cli": "^1.3.4",
144
- "cpy": "^7.0.1",
143
+ "conventional-changelog-cli": "^2.1.1",
144
+ "cpy": "^8.1.2",
145
145
  "cross-env": "^7.0.2",
146
146
  "csv-validator": "^0.0.3",
147
147
  "devtools-protocol": "0.0.939404",
@@ -194,7 +194,7 @@
194
194
  "enquirer": "^2.3.6",
195
195
  "http-link-header": "^0.8.0",
196
196
  "intl-messageformat": "^4.4.0",
197
- "jpeg-js": "^0.4.1",
197
+ "jpeg-js": "^0.4.3",
198
198
  "js-library-detector": "^6.4.0",
199
199
  "lighthouse-logger": "^1.3.0",
200
200
  "lighthouse-stack-packs": "^1.6.0",
@@ -202,16 +202,16 @@
202
202
  "lodash.get": "^4.4.2",
203
203
  "lodash.isequal": "^4.5.0",
204
204
  "lodash.set": "^4.3.2",
205
- "lookup-closest-locale": "6.0.4",
205
+ "lookup-closest-locale": "6.2.0",
206
206
  "metaviewport-parser": "0.2.0",
207
- "open": "^6.4.0",
207
+ "open": "^8.4.0",
208
208
  "parse-cache-control": "1.0.1",
209
- "ps-list": "^7.2.0",
209
+ "ps-list": "^8.0.0",
210
210
  "raven": "^2.2.1",
211
- "robots-parser": "^2.0.1",
211
+ "robots-parser": "^2.3.0",
212
212
  "semver": "^5.3.0",
213
213
  "speedline-core": "^1.4.3",
214
- "third-party-web": "^0.12.4",
214
+ "third-party-web": "^0.12.7",
215
215
  "update-notifier": "^4.1.0",
216
216
  "ws": "^7.0.0",
217
217
  "yargs": "^16.1.1",
@@ -480,7 +480,7 @@ export class CategoryRenderer {
480
480
  * @return {boolean}
481
481
  */
482
482
  _auditHasWarning(audit) {
483
- return Boolean(audit.result.warnings && audit.result.warnings.length);
483
+ return Boolean(audit.result.warnings?.length);
484
484
  }
485
485
 
486
486
  /**
@@ -225,8 +225,8 @@ export class PerformanceCategoryRenderer extends CategoryRenderer {
225
225
  // Filmstrip
226
226
  const timelineEl = this.dom.createChildOf(element, 'div', 'lh-filmstrip-container');
227
227
  const thumbnailAudit = category.auditRefs.find(audit => audit.id === 'screenshot-thumbnails');
228
- const thumbnailResult = thumbnailAudit && thumbnailAudit.result;
229
- if (thumbnailResult && thumbnailResult.details) {
228
+ const thumbnailResult = thumbnailAudit?.result;
229
+ if (thumbnailResult?.details) {
230
230
  timelineEl.id = thumbnailResult.id;
231
231
  const filmstripEl = this.detailsRenderer.render(thumbnailResult.details);
232
232
  filmstripEl && timelineEl.appendChild(filmstripEl);
@@ -301,7 +301,7 @@ export class PerformanceCategoryRenderer extends CategoryRenderer {
301
301
  const budgetTableEls = [];
302
302
  ['performance-budget', 'timing-budget'].forEach((id) => {
303
303
  const audit = category.auditRefs.find(audit => audit.id === id);
304
- if (audit && audit.result.details) {
304
+ if (audit?.result.details) {
305
305
  const table = this.detailsRenderer.render(audit.result.details);
306
306
  if (table) {
307
307
  table.id = id;
@@ -347,7 +347,7 @@ export class PerformanceCategoryRenderer extends CategoryRenderer {
347
347
 
348
348
  const labelEl = this.dom.createChildOf(metricFilterEl, 'label', 'lh-metricfilter__label');
349
349
  labelEl.htmlFor = elemId;
350
- labelEl.title = metric.result && metric.result.title;
350
+ labelEl.title = metric.result?.title;
351
351
  labelEl.textContent = metric.acronym || metric.id;
352
352
 
353
353
  if (metric.acronym === 'All') {
@@ -260,7 +260,7 @@ export class ReportRenderer {
260
260
  Util.reportJson = report;
261
261
 
262
262
  const fullPageScreenshot =
263
- report.audits['full-page-screenshot'] && report.audits['full-page-screenshot'].details &&
263
+ report.audits['full-page-screenshot']?.details &&
264
264
  report.audits['full-page-screenshot'].details.type === 'full-page-screenshot' ?
265
265
  report.audits['full-page-screenshot'].details : undefined;
266
266
  const detailsRenderer = new DetailsRenderer(this._dom, {
@@ -92,13 +92,12 @@ async function distinguishLHR(lhr, tabId) {
92
92
  lhr.categories.performance.score = 0.81;
93
93
  }
94
94
 
95
- const finalSSDetails = lhr.audits['final-screenshot'] && lhr.audits['final-screenshot'].details;
95
+ const finalSSDetails = lhr.audits['final-screenshot']?.details;
96
96
  if (finalSSDetails && finalSSDetails.type === 'screenshot') {
97
97
  finalSSDetails.data = await decorateScreenshot(finalSSDetails.data, tabId);
98
98
  }
99
99
 
100
- const fpSSDetails = lhr.audits['full-page-screenshot'] &&
101
- lhr.audits['full-page-screenshot'].details;
100
+ const fpSSDetails = lhr.audits['full-page-screenshot']?.details;
102
101
  if (fpSSDetails && fpSSDetails.type === 'full-page-screenshot') {
103
102
  fpSSDetails.screenshot.data = await decorateScreenshot(fpSSDetails.screenshot.data, tabId);
104
103
  }
@@ -477,13 +477,13 @@
477
477
  "message": "`[user-scalable=\"no\"]` is not used in the `<meta name=\"viewport\">` element and the `[maximum-scale]` attribute is not less than 5."
478
478
  },
479
479
  "lighthouse-core/audits/accessibility/object-alt.js | description": {
480
- "message": "Screen readers cannot translate non-text content. Adding alt text to `<object>` elements helps screen readers convey meaning to users. [Learn more](https://web.dev/object-alt/)."
480
+ "message": "Screen readers cannot translate non-text content. Adding alternate text to `<object>` elements helps screen readers convey meaning to users. [Learn more](https://web.dev/object-alt/)."
481
481
  },
482
482
  "lighthouse-core/audits/accessibility/object-alt.js | failureTitle": {
483
- "message": "`<object>` elements do not have `[alt]` text"
483
+ "message": "`<object>` elements do not have alternate text"
484
484
  },
485
485
  "lighthouse-core/audits/accessibility/object-alt.js | title": {
486
- "message": "`<object>` elements have `[alt]` text"
486
+ "message": "`<object>` elements have alternate text"
487
487
  },
488
488
  "lighthouse-core/audits/accessibility/tabindex.js | description": {
489
489
  "message": "A value greater than 0 implies an explicit navigation ordering. Although technically valid, this often creates frustrating experiences for users who rely on assistive technologies. [Learn more](https://web.dev/tabindex/)."
@@ -477,13 +477,13 @@
477
477
  "message": "`[user-scalable=\"no\"]` îś n̂ót̂ úŝéd̂ ín̂ t́ĥé `<meta name=\"viewport\">` êĺêḿêńt̂ án̂d́ t̂h́ê `[maximum-scale]` át̂t́r̂íb̂út̂é îś n̂ót̂ ĺêśŝ t́ĥán̂ 5."
478
478
  },
479
479
  "lighthouse-core/audits/accessibility/object-alt.js | description": {
480
- "message": "Ŝćr̂éêń r̂éâd́êŕŝ ćâńn̂ót̂ t́r̂án̂śl̂át̂é n̂ón̂-t́êx́t̂ ćôńt̂én̂t́. Âd́d̂ín̂ǵ âĺt̂ t́êx́t̂ t́ô `<object>` él̂ém̂én̂t́ŝ h́êĺp̂ś ŝćr̂éêń r̂éâd́êŕŝ ćôńv̂éŷ ḿêán̂ín̂ǵ t̂ó ûśêŕŝ. [Ĺêár̂ń m̂ór̂é](https://web.dev/object-alt/)."
480
+ "message": "Ŝćr̂éêń r̂éâd́êŕŝ ćâńn̂ót̂ t́r̂án̂śl̂át̂é n̂ón̂-t́êx́t̂ ćôńt̂én̂t́. Âd́d̂ín̂ǵ âĺt̂ér̂ńât́ê t́êx́t̂ t́ô `<object>` él̂ém̂én̂t́ŝ h́êĺp̂ś ŝćr̂éêń r̂éâd́êŕŝ ćôńv̂éŷ ḿêán̂ín̂ǵ t̂ó ûśêŕŝ. [Ĺêár̂ń m̂ór̂é](https://web.dev/object-alt/)."
481
481
  },
482
482
  "lighthouse-core/audits/accessibility/object-alt.js | failureTitle": {
483
- "message": "`<object>` êĺêḿêńt̂ś d̂ó n̂ót̂ h́âv́ê `[alt]` t́êx́t̂"
483
+ "message": "`<object>` êĺêḿêńt̂ś d̂ó n̂ót̂ h́âv́ê ál̂t́êŕn̂áé t̂éx̂t́"
484
484
  },
485
485
  "lighthouse-core/audits/accessibility/object-alt.js | title": {
486
- "message": "`<object>` êĺêḿêńt̂ś ĥáv̂é `[alt]` t̂éx̂t́"
486
+ "message": "`<object>` êĺêḿêńt̂ś ĥáv̂é âĺt̂ér̂ńâê t́êx́t̂"
487
487
  },
488
488
  "lighthouse-core/audits/accessibility/tabindex.js | description": {
489
489
  "message": "Â v́âĺûé ĝŕêát̂ér̂ t́ĥán̂ 0 ím̂ṕl̂íêś âń êx́p̂ĺîćît́ n̂áv̂íĝát̂íôń ôŕd̂ér̂ín̂ǵ. Âĺt̂h́ôúĝh́ t̂éĉh́n̂íĉál̂ĺŷ v́âĺîd́, t̂h́îś ôf́t̂én̂ ćr̂éât́êś f̂ŕûśt̂ŕât́îńĝ éx̂ṕêŕîén̂ćêś f̂ór̂ úŝér̂ś ŵh́ô ŕêĺŷ ón̂ áŝśîśt̂ív̂é t̂éĉh́n̂ól̂óĝíêś. [L̂éâŕn̂ ḿôŕê](https://web.dev/tabindex/)."
@@ -45,6 +45,7 @@
45
45
  {"id":"npm:bootstrap:20120510","severity":"medium","semver":{"vulnerable":["<2.1.0"]}}
46
46
  ],
47
47
  "dojo":[
48
+ {"id":"SNYK-JS-DOJO-1535223","severity":"high","semver":{"vulnerable":["<=1.16.4"]}},
48
49
  {"id":"SNYK-JS-DOJO-559224","severity":"medium","semver":{"vulnerable":["<1.11.10",">=1.12.1 <1.12.8",">=1.13.0 <1.13.7",">=1.14.0 <1.14.6",">=1.15.0 <1.15.3",">=1.16.0 <1.16.2"]}},
49
50
  {"id":"SNYK-JS-DOJO-174934","severity":"medium","semver":{"vulnerable":[">=1.0.0 <1.0.3",">=1.1.0 <1.1.2",">=1.2.0 <1.2.4",">=1.3.0 <1.3.3",">=1.4.0 <1.4.2"]}},
50
51
  {"id":"SNYK-JS-DOJO-174933","severity":"medium","semver":{"vulnerable":["<1.2.0"]}},
@@ -90,7 +91,7 @@
90
91
  {"id":"SNYK-JS-JQUERY-565129","severity":"medium","semver":{"vulnerable":[">=1.5.1 <3.5.0"]}},
91
92
  {"id":"SNYK-JS-JQUERY-174006","severity":"medium","semver":{"vulnerable":["<3.4.0"]}},
92
93
  {"id":"npm:jquery:20160529","severity":"low","semver":{"vulnerable":[">=3.0.0-rc1 <3.0.0"]}},
93
- {"id":"npm:jquery:20150627","severity":"medium","semver":{"vulnerable":["<1.12.2",">=1.12.3 <2.2.2",">=2.2.3 <3.0.0"]}},
94
+ {"id":"npm:jquery:20150627","severity":"medium","semver":{"vulnerable":["<1.12.2",">=1.12.3 <2.2.0",">=2.2.3 <3.0.0"]}},
94
95
  {"id":"npm:jquery:20140902","severity":"medium","semver":{"vulnerable":[">=1.4.2 <1.6.2"]}},
95
96
  {"id":"npm:jquery:20120206","severity":"medium","semver":{"vulnerable":["<1.9.1"]}},
96
97
  {"id":"npm:jquery:20110606","severity":"medium","semver":{"vulnerable":["<1.6.3"]}}
@@ -132,6 +133,7 @@
132
133
  {"id":"npm:mustache:20110814","severity":"medium","semver":{"vulnerable":["< 0.3.1"]}}
133
134
  ],
134
135
  "next":[
136
+ {"id":"SNYK-JS-NEXT-2312745","severity":"high","semver":{"vulnerable":[">=12.0.0 <12.0.5",">=11.1.0 <11.1.3"]}},
135
137
  {"id":"SNYK-JS-NEXT-1577139","severity":"medium","semver":{"vulnerable":[">=10.0.0 <11.1.1"]}},
136
138
  {"id":"SNYK-JS-NEXT-1540422","severity":"medium","semver":{"vulnerable":["<11.1.0"]}},
137
139
  {"id":"SNYK-JS-NEXT-1063481","severity":"medium","semver":{"vulnerable":[">=9.5.0 <9.5.4"]}},