* Switch from hooks to messages
This is the first step to get rid off hooks:
* Introduce two new messages: setup and final
* Logs a warning messages for all plugins that uses old hooks
The setup message will make it possible for plugins to pass
configuration to each other (send pugs to the HTML plugin,
send javascript (that collects metrics) to Browsertime and can
hopefully remove the post/preOpen hooks. The final message
replaces the postClose and final hook (or do we need more messages?).
Keep the hoosk deperecated through 6 and remove them in 7.0.
* lint
* more messages, let take of hooks later
* renaming
* rename summarize to sitespeedio.summarize
* Avoid name collisions for stored analysis files.
Summary messages can be different based on group (most often per domain). Include group in file name, if present to avoid overwriting data in an existing file.
* Remove redundant summary messages.
The ”largestassets.summary” message with group:’total’ was sent with different structure for message data from what was sent earlier in this function.
* Additional validation of summary and pageSummary.
Check that url and group are specified correctly for all messages.
* Use ES6 template strings instead of util.format.
* Warn about duplicated summary messages.
This will be an error later, but need to update the assets plugin first.
* Only put summary data on index and detailed page.
Summaries with group=’total’ is data for the entire test (i.e. all url and domains). Previously the last group message (which might be just a subset of all data) would be used.
* No duplicate largestassets.summary messages.
Change so there’s only one largestassets.summary message per group, with data for all content types. Then enforce this for all summary messages.
* Allow S3 upload even when using custom outputFolder.
* Add new s3.path option, to override the default storage path in the S3 bucket.
* Change the default storage path in the S3 bucket to no longer include the prefix 'sitespeed-result’.
* Remove broken/not useful progress load for S3 upload (was producing 100000+ log lines.
* Extract result url building into separate module that’s made available to plugins via context.resultUrls.
Restructure the toplist (largest/slowest/aggregated assets) to follow the message key structure with summary/pageSummary to simplify key generation. We also now includes the URL in the slowestassets list that can be sent to Graphite. Ping #1289 and closes#1294
* Collect the largest assets by type.
* Moved display shortURL to front end code
* Collect cookie stats
* Collect slowest responses
* Styling quick links
* Styling coach score (now when we can)