Lighthouse: 鈽傦笍 馃懀 Things to fix on next breaking change

Created on 24 Jan 2018  路  5Comments  路  Source: GoogleChrome/lighthouse

Non-Comprehensive List of Things We Should Fix on Next Breaking Change .

_Update: everything open below is now represented in https://github.com/GoogleChrome/lighthouse/issues/5008_

Audit Rejiggers

  • [x] Remove cache-start-url audit (unused)
  • [x] rename "uses-request-compression" to "uses-text-compression" :)
  • [x] combine render blocking scripts/stylesheets audits to just "render-blocking resources"
  • [x] change EIL to use rolling window
  • [x] onLoad -> load
  • [x] speed-index-metric -> speed-index
  • [x] use speedIndex instead of perceptualSpeedIndex
  • [ ] move computedArtifacts off of the artifacts object (onto auditContext?)

LHR formalization

  • [x] Ensure all audits return a numeric score (0-1), no boolean nonsense. scoreDisplayMode forces how it's displayed #4690
  • [x] Ship more numbers and less strings. #4384
  • [x] Make details real and good. #4616
  • [ ] Remove extendedInfo

    • [ ] Update all those tests

    • [x] add a metrics.js audit that contains all timings/timestamps in its details, so all the things don't need to reach into FMP.extInfo

    • [ ] take inventory of extendedInfo data that's currently not in the associated details block, but should be. (here's what HA uses, what brendan uses)

  • [x] de-dupe all audit results (only have each audit represented once) (see https://github.com/GoogleChrome/lighthouse/issues/4346#issuecomment-360492376). aka slim reportCategories ##4616
  • [ ] kill displayValue and use details for it.
  • [x] audit.description -> audit.title, helpText -> description, name -> id
  • [x] make type: 'list' a table
  • [x] make type: 'cards' a table
  • [x] generatedTime -> fetchedAt
  • [ ] do fallbackKey/fallbackType for multi-typed columns (code snippets sometimes instead of URLs)?
  • [x] introduce type:'metric' and type:'opportunity' as expressed in the LHR Lite doc
  • [x] add config settings to LHR, move human-friendlier runtimeConfig to the report generating stage

Config

  • [x] fix allowed config representations (config v2 馃槂 , i.e. no more audits: ['path/my-audit'] -> audits: { 'my-audit': {path: 'path/to/audit'}})
  • [x] rename perf-hint, perf-info
  • [x] delete configjson.artifacts, use settings.auditMode instead to load artifacts from disk (should be just a type update)

Also

  • [ ] Use LHError for all thrown errors when possible (connections/cri.js for example)
  • [ ] replace --perf with a real mechanism for using full/perf/mixed-content configs
  • [x] drop support for node <8
  • [ ] support output: 'html'/'csv' from node module
  • [ ] node module return is {lhr, artifacts}

CLI

  • [x] no more --disable-network-throttling --disable-cpu-throttling, use --throttling-method=provided or --throttling.cpuSlodownMultiplier=1 or --throttling.requestLatencyMs=0

Maybe

  • [ ] change device from Nexus 5X to Pixel?
internals needs-priority

Most helpful comment

All 5 comments

Should we upgrade to node 8 as well?

@ebidel yup for sure, both these target #1999

  • "Kill off" extendedInfo and make details real and good.
  • de-dupe all audit results

we should remove chrome-launcher/. Kept only to preserve various places we suggested calling deep into our directory structure

#5008 has to be dealt with but this is a duplicate now

Was this page helpful?
0 / 5 - 0 ratings