+ (Fixes#349)
+ Rebases - https://github.com/GoogleChrome/lighthouse/compare/master...boopathi:launch-chrome-js to use the new CLI and folder structures
Logic:
+ When connection fails, try launching chrome
+ Poll every ~= 500ms to remote debugger port 9222 till a connection
can be established for a fixed number of retries - 10.
+ Attempt running lighthouse again whenever the connection is
successful
Lint fixes and option change - use-some-chrome to select-chrome
use strict for node 4 and 5
Clean up some stuff and add linux and windows - To be verified
Fix some lint
Move all finders to a single file and make it all sync
launch-chrome flag and split run function
Add LICENSE
Runner class to list of functions
linux additional flag and linux throw error for undef env
skip-autolaunch
Fix lint and node 4&5
The difference between classic gatherers and computed artifacts:
* gatherers all speak directly to the browser and collect data. All of them talk to the protocol
* computed artifacts do not talk to the protocol. They take either a trace or networkRecords and generate another artifact that's of value to more than 1 audits.
https://github.com/GoogleChrome/lighthouse/pull/583
* Replace pythonsimplehttpserver with a configurable node-based server
### offline & sw details
* use SW logic from from googlechrome.github.io/samples/service-worker/basic , but adapted
* Simpler skipWaiting thanks to dbca5f70c8 (commitcomment-18601764)
* run smoketests on diff ports so sw isn't shared.
* Load offline-ready page twice so we dont have to worry about racing between cache population and lighthouse's gatherer.
* make offline page take longer to load to allow enough time for SW to populate cache
* save screenshots in --save-assets flag
* meow needs to know what cmd line options are booleans.
* Get screenshots running with new whitelisted scheduler.
* use json-stringify-safe, which handles larger objects better than native.
* change default url to aliexpress, as platform-status.mozilla is down.
Closure is unhappy with the return value. I'm not sure why.
PR (#309) has the details
* Adds conversion script to convert catapult repo into a consumable node mobule
* Adds 'input readiness' metric which depends on traceviewer
* works with browserify.