sitespeed.io 32.2.0 → 33.0.0

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 (61) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/Dockerfile +1 -1
  3. package/bin/sitespeed.js +1 -3
  4. package/lib/cli/cli.js +7 -1
  5. package/lib/plugins/browsertime/index.js +46 -42
  6. package/lib/plugins/compare/index.js +10 -3
  7. package/lib/plugins/html/assets/css/index-dark.min.css +1 -0
  8. package/lib/plugins/html/defaultConfig.js +1 -0
  9. package/lib/plugins/html/src/sass/dark/components/buttons.scss +57 -0
  10. package/lib/plugins/html/src/sass/dark/components/groupitem.scss +24 -0
  11. package/lib/plugins/html/src/sass/dark/components/sortable.scss +21 -0
  12. package/lib/plugins/html/src/sass/dark/components/summarybox.scss +51 -0
  13. package/lib/plugins/html/src/sass/dark/components/tabs.scss +69 -0
  14. package/lib/plugins/html/src/sass/dark/components/waterfall.scss +240 -0
  15. package/lib/plugins/html/src/sass/dark/foundations/tables.scss +161 -0
  16. package/lib/plugins/html/src/sass/dark/foundations/typography.scss +109 -0
  17. package/lib/plugins/html/src/sass/dark/utilities/settings.scss +41 -0
  18. package/lib/plugins/html/src/sass/light/components/chartist-plugin-tooltip.scss +34 -0
  19. package/lib/plugins/html/src/sass/light/components/chartist.scss +646 -0
  20. package/lib/plugins/html/src/sass/light/components/chartistExtras.scss +155 -0
  21. package/lib/plugins/html/src/sass/light/components/filmstrip.scss +32 -0
  22. package/lib/plugins/html/src/sass/light/components/loader.scss +59 -0
  23. package/lib/plugins/html/src/sass/light/components/misc.scss +74 -0
  24. package/lib/plugins/html/src/sass/light/components/navigation.scss +133 -0
  25. package/lib/plugins/html/src/sass/light/components/screenshot.scss +11 -0
  26. package/lib/plugins/html/src/sass/light/components/waterfallExtras.scss +73 -0
  27. package/lib/plugins/html/src/sass/light/foundations/base.scss +66 -0
  28. package/lib/plugins/html/src/sass/light/foundations/grid.scss +198 -0
  29. package/lib/plugins/html/src/sass/light/foundations/normalize.scss +420 -0
  30. package/lib/plugins/html/src/sass/light/foundations/utilies.scss +31 -0
  31. package/lib/plugins/html/src/sass/main-dark.scss +44 -0
  32. package/lib/plugins/html/src/sass/main-light.scss +44 -0
  33. package/lib/plugins/html/templates/layout.pug +4 -1
  34. package/lib/plugins/html/templates/url/thirdparty/index.pug +83 -82
  35. package/lib/plugins/sustainable/index.js +1 -1
  36. package/npm-shrinkwrap.json +38 -38
  37. package/package.json +6 -4
  38. package/lib/plugins/html/src/sass/main.scss +0 -44
  39. /package/lib/plugins/html/assets/css/{index.min.css → index-light.min.css} +0 -0
  40. /package/lib/plugins/html/src/sass/{components → dark/components}/chartist-plugin-tooltip.scss +0 -0
  41. /package/lib/plugins/html/src/sass/{components → dark/components}/chartist.scss +0 -0
  42. /package/lib/plugins/html/src/sass/{components → dark/components}/chartistExtras.scss +0 -0
  43. /package/lib/plugins/html/src/sass/{components → dark/components}/filmstrip.scss +0 -0
  44. /package/lib/plugins/html/src/sass/{components → dark/components}/loader.scss +0 -0
  45. /package/lib/plugins/html/src/sass/{components → dark/components}/misc.scss +0 -0
  46. /package/lib/plugins/html/src/sass/{components → dark/components}/navigation.scss +0 -0
  47. /package/lib/plugins/html/src/sass/{components → dark/components}/screenshot.scss +0 -0
  48. /package/lib/plugins/html/src/sass/{components → dark/components}/waterfallExtras.scss +0 -0
  49. /package/lib/plugins/html/src/sass/{foundations → dark/foundations}/base.scss +0 -0
  50. /package/lib/plugins/html/src/sass/{foundations → dark/foundations}/grid.scss +0 -0
  51. /package/lib/plugins/html/src/sass/{foundations → dark/foundations}/normalize.scss +0 -0
  52. /package/lib/plugins/html/src/sass/{foundations → dark/foundations}/utilies.scss +0 -0
  53. /package/lib/plugins/html/src/sass/{components → light/components}/buttons.scss +0 -0
  54. /package/lib/plugins/html/src/sass/{components → light/components}/groupitem.scss +0 -0
  55. /package/lib/plugins/html/src/sass/{components → light/components}/sortable.scss +0 -0
  56. /package/lib/plugins/html/src/sass/{components → light/components}/summarybox.scss +0 -0
  57. /package/lib/plugins/html/src/sass/{components → light/components}/tabs.scss +0 -0
  58. /package/lib/plugins/html/src/sass/{components → light/components}/waterfall.scss +0 -0
  59. /package/lib/plugins/html/src/sass/{foundations → light/foundations}/tables.scss +0 -0
  60. /package/lib/plugins/html/src/sass/{foundations → light/foundations}/typography.scss +0 -0
  61. /package/lib/plugins/html/src/sass/{utilities → light/utilities}/settings.scss +0 -0
@@ -6,7 +6,10 @@ html(lang='en')
6
6
  title= pageTitle
7
7
  meta(name='description', content=pageDescription)
8
8
  meta(name='robots', content='noindex')
9
- link(rel='stylesheet', href=assetsPath + 'css/index.min.css')
9
+ if options.html.darkMode
10
+ link(rel='stylesheet', href=assetsPath + 'css/index-dark.min.css')
11
+ else
12
+ link(rel='stylesheet', href=assetsPath + 'css/index-light.min.css')
10
13
  block inlineStyles
11
14
  style(type='text/css').
12
15
  #{css}
@@ -1,92 +1,93 @@
1
1
  include ../../_tableMixins
2
2
 
3
- - const pagexray = pageInfo.data.pagexray.run || pageInfo.data.pagexray.pageSummary;
4
- - const thirdparty = medianRun ? pageInfo.data.thirdparty.pageSummary.runs[medianRun.runIndex - 1] : pageInfo.data.thirdparty.run;
3
+ if pageInfo.data.coach
4
+ - const pagexray = pageInfo.data.pagexray.run || pageInfo.data.pagexray.pageSummary;
5
+ - const thirdparty = medianRun ? pageInfo.data.thirdparty.pageSummary.runs[medianRun.runIndex - 1] : pageInfo.data.thirdparty.run;
5
6
 
6
- small
7
- ||
8
- if thirdparty.category && Object.keys(thirdparty.category).length > 0
9
- a(href='#third-party-categories') Categories |
10
- |  | 
11
- if thirdparty.assets && Object.keys(thirdparty.assets).length > 0
12
- a(href='#third-party-tools') Tools |
13
- |  | 
14
- if pagexray.cookieNamesThirdParties.length > 0
15
- a(href='#third-party-cookies') Cookies |
16
- |  | 
17
- if pagexray.firstParty.requests || options.firstParty
18
- a(href='#first-vs-third') First vs third
19
- |  | 
20
- a#third-party
21
- a#third-party-categories
22
- h2 Third party
7
+ small
8
+ ||
9
+ if thirdparty.category && Object.keys(thirdparty.category).length > 0
10
+ a(href='#third-party-categories') Categories |
11
+ |  | 
12
+ if thirdparty.assets && Object.keys(thirdparty.assets).length > 0
13
+ a(href='#third-party-tools') Tools |
14
+ |  | 
15
+ if pagexray.cookieNamesThirdParties.length > 0
16
+ a(href='#third-party-cookies') Cookies |
17
+ |  | 
18
+ if pagexray.firstParty.requests || options.firstParty
19
+ a(href='#first-vs-third') First vs third
20
+ |  | 
21
+ a#third-party
22
+ a#third-party-categories
23
+ h2 Third party
23
24
 
24
- - const thirdPartyWebVersion = pageInfo.data.coach.run ? pageInfo.data.coach.run.thirdPartyWebVersion : pageInfo.data.coach.pageSummary.thirdPartyWebVersion;
25
- p Third party requests categorised by
26
- a(href='https://github.com/patrickhulce/third-party-web') Third party web
27
- |  version #{thirdPartyWebVersion}.
25
+ - const thirdPartyWebVersion = pageInfo.data.coach.run ? pageInfo.data.coach.run.thirdPartyWebVersion : pageInfo.data.coach.pageSummary.thirdPartyWebVersion;
26
+ p Third party requests categorised by
27
+ a(href='https://github.com/patrickhulce/third-party-web') Third party web
28
+ |  version #{thirdPartyWebVersion}.
28
29
 
29
- if thirdparty.category && Object.keys(thirdparty.category).length > 0
30
- .row
31
- .one-half.column
32
- table(data-sortable, id='thirdPartyCategories')
33
- +rowHeading(['Category', 'Requests'])
34
- each metric, category in thirdparty.category
35
- if (category !== 'unknown')
36
- tr
37
- td(data-title='Category') #{category}
38
- +numberCell('requests', metric.requests ? metric.requests.median : metric)
39
- .one-half.column
40
- table(data-sortable, id='thirdPartyTools')
41
- +rowHeading(['Category', 'Number of tools'])
42
- each metric, category in thirdparty.category
43
- if (category !== 'unknown')
44
- tr
45
- td(data-title='Category') #{category}
46
- +numberCell('Tools', metric.tools ? metric.tools.median :Object.keys(thirdparty.toolsByCategory[category]).length)
30
+ if thirdparty.category && Object.keys(thirdparty.category).length > 0
31
+ .row
32
+ .one-half.column
33
+ table(data-sortable, id='thirdPartyCategories')
34
+ +rowHeading(['Category', 'Requests'])
35
+ each metric, category in thirdparty.category
36
+ if (category !== 'unknown')
37
+ tr
38
+ td(data-title='Category') #{category}
39
+ +numberCell('requests', metric.requests ? metric.requests.median : metric)
40
+ .one-half.column
41
+ table(data-sortable, id='thirdPartyTools')
42
+ +rowHeading(['Category', 'Number of tools'])
43
+ each metric, category in thirdparty.category
44
+ if (category !== 'unknown')
45
+ tr
46
+ td(data-title='Category') #{category}
47
+ +numberCell('Tools', metric.tools ? metric.tools.median :Object.keys(thirdparty.toolsByCategory[category]).length)
47
48
 
48
- if thirdparty.assets && Object.keys(thirdparty.assets).length > 0
49
- a#third-party-tools
50
- h3 Third party requests and tools
51
- button.hidden-small.button.button--primary(onclick='toggleRow(this);') Show/hide third party URLs
52
- table
53
- each category in Object.keys(thirdparty.assets)
54
- tr
55
- td(style='text-transform: uppercase;')
56
- b #{category}
57
- | (#{thirdparty.assets[category].length} requests)
58
- - let oldNames = [];
59
- each asset in thirdparty.assets[category]
60
- if (!oldNames.includes(asset.entity.name))
61
- - oldNames.push(asset.entity.name)
62
- tr
63
- td
64
- if asset.entity.homepage
65
- a(href=asset.entity.homepage) #{asset.entity.name}
66
- else
67
- span #{asset.entity.name}
49
+ if thirdparty.assets && Object.keys(thirdparty.assets).length > 0
50
+ a#third-party-tools
51
+ h3 Third party requests and tools
52
+ button.hidden-small.button.button--primary(onclick='toggleRow(this);') Show/hide third party URLs
53
+ table
54
+ each category in Object.keys(thirdparty.assets)
55
+ tr
56
+ td(style='text-transform: uppercase;')
57
+ b #{category}
58
+ | (#{thirdparty.assets[category].length} requests)
59
+ - let oldNames = [];
60
+ each asset in thirdparty.assets[category]
61
+ if (!oldNames.includes(asset.entity.name))
62
+ - oldNames.push(asset.entity.name)
63
+ tr
64
+ td
65
+ if asset.entity.homepage
66
+ a(href=asset.entity.homepage) #{asset.entity.name}
67
+ else
68
+ span #{asset.entity.name}
68
69
 
69
- tr.u-hideable
70
- td.url.offendingurl
71
- ul
72
- each asset in thirdparty.assets[category]
73
- li
74
- a(href=asset.url) #{h.shortAsset(asset.url, true)}
75
- b (#{asset.entity.name})
70
+ tr.u-hideable
71
+ td.url.offendingurl
72
+ ul
73
+ each asset in thirdparty.assets[category]
74
+ li
75
+ a(href=asset.url) #{h.shortAsset(asset.url, true)}
76
+ b (#{asset.entity.name})
76
77
 
77
- if thirdparty.possibileMissedThirdPartyDomains && thirdparty.possibileMissedThirdPartyDomains.length > 0
78
- h3 Unmatched third party domains
79
- p Here's a list of domains that didn't match any tool in
80
- a(href='https://github.com/patrickhulce/third-party-web') Third party web
81
- | . If you are sure they are third party domains, please do a PR to that project. You can also fine tune the list using
82
- code --firstParty
83
- | .
84
- table
85
- each domain in thirdparty.possibileMissedThirdPartyDomains
86
- tr
87
- td #{domain}
78
+ if thirdparty.possibileMissedThirdPartyDomains && thirdparty.possibileMissedThirdPartyDomains.length > 0
79
+ h3 Unmatched third party domains
80
+ p Here's a list of domains that didn't match any tool in
81
+ a(href='https://github.com/patrickhulce/third-party-web') Third party web
82
+ | . If you are sure they are third party domains, please do a PR to that project. You can also fine tune the list using
83
+ code --firstParty
84
+ | .
85
+ table
86
+ each domain in thirdparty.possibileMissedThirdPartyDomains
87
+ tr
88
+ td #{domain}
88
89
 
89
- include ./thirdPartyCookies.pug
90
+ include ./thirdPartyCookies.pug
90
91
 
91
- if pagexray.firstParty.requests || options.firstParty
92
- include ./firstParty.pug
92
+ if pagexray.firstParty.requests || options.firstParty
93
+ include ./firstParty.pug
@@ -128,7 +128,7 @@ export default class SustainablePlugin extends SitespeedioPlugin {
128
128
  } else {
129
129
  hostingGreenCheck =
130
130
  this.sustainableOptions.useGreenWebHostingAPI === true
131
- ? await hosting.check(listOfDomains)
131
+ ? await hosting.check(listOfDomains, undefined, 'sitespeed.io')
132
132
  : await hosting.check(
133
133
  listOfDomains,
134
134
  await loadJSON(greenDomainJSONpath)
@@ -1,21 +1,21 @@
1
1
  {
2
2
  "name": "sitespeed.io",
3
- "version": "32.2.0",
3
+ "version": "33.0.0",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "sitespeed.io",
9
- "version": "32.2.0",
9
+ "version": "33.0.0",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
12
  "@google-cloud/storage": "6.9.5",
13
13
  "@influxdata/influxdb-client": "1.33.2",
14
14
  "@sitespeed.io/plugin": "0.0.6",
15
- "@tgwf/co2": "0.13.10",
15
+ "@tgwf/co2": "0.14.2",
16
16
  "aws-sdk": "2.1327.0",
17
17
  "axe-core": "4.8.2",
18
- "browsertime": "21.1.0",
18
+ "browsertime": "21.2.1",
19
19
  "cli-color": "2.0.3",
20
20
  "coach-core": "8.0.2",
21
21
  "concurrent-queue": "7.0.2",
@@ -229,9 +229,9 @@
229
229
  "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
230
230
  },
231
231
  "node_modules/@devicefarmer/adbkit": {
232
- "version": "3.2.5",
233
- "resolved": "https://registry.npmjs.org/@devicefarmer/adbkit/-/adbkit-3.2.5.tgz",
234
- "integrity": "sha512-+J479WWZW3GU3t40flicDfiDrFz6vpiy2RcBQPEhFcs/3La9pOtr4Bgz2Q02E4luUG2RAL068rqIkKNUTy3tZw==",
232
+ "version": "3.2.6",
233
+ "resolved": "https://registry.npmjs.org/@devicefarmer/adbkit/-/adbkit-3.2.6.tgz",
234
+ "integrity": "sha512-8lO1hSeTgtxcOHhp4tTWq/JaOysp5KNbbyFoxNEBnwkCDZu/Bji3ZfOaG++Riv9jN6c9bgdLBOZqJTC5VJPRKQ==",
235
235
  "dependencies": {
236
236
  "@devicefarmer/adbkit-logcat": "^2.1.2",
237
237
  "@devicefarmer/adbkit-monkey": "~1.2.1",
@@ -1026,9 +1026,9 @@
1026
1026
  }
1027
1027
  },
1028
1028
  "node_modules/@tgwf/co2": {
1029
- "version": "0.13.10",
1030
- "resolved": "https://registry.npmjs.org/@tgwf/co2/-/co2-0.13.10.tgz",
1031
- "integrity": "sha512-iQZMYdLP+l1Kyi03EEE4jAZgzlAA8HRAbfgT3GgN6sUgbSoNS/UHijICUqgkum9aHIkDSOrtwkgbB/x3Gc/cQA==",
1029
+ "version": "0.14.2",
1030
+ "resolved": "https://registry.npmjs.org/@tgwf/co2/-/co2-0.14.2.tgz",
1031
+ "integrity": "sha512-NuruTf7RlLDvi+WDRGENmrnUkiJBH0KkN7p/RM3G10erT+TcnzQM1UslSNk7SIJQBvKXptqhV6xJjYi0LDu8OQ==",
1032
1032
  "engines": {
1033
1033
  "node": ">=14.0.0"
1034
1034
  }
@@ -1759,12 +1759,12 @@
1759
1759
  }
1760
1760
  },
1761
1761
  "node_modules/browsertime": {
1762
- "version": "21.1.0",
1763
- "resolved": "https://registry.npmjs.org/browsertime/-/browsertime-21.1.0.tgz",
1764
- "integrity": "sha512-1V5xQDdwMHcOO8/GxHepMwrutoy4pa7Prg0GxePC+THuToGUPPemMrFmwN7I3WJWieS++F4/7hJ4wVIddotVcw==",
1762
+ "version": "21.2.1",
1763
+ "resolved": "https://registry.npmjs.org/browsertime/-/browsertime-21.2.1.tgz",
1764
+ "integrity": "sha512-LlU9fvaGCDL4G8uyQQmRZ6bR2bwlFPyDI85s5zOZdGOrB6/eIuxIM5/LD8oKcm7qGglmHInXG2qQUVYLROoC4w==",
1765
1765
  "dependencies": {
1766
1766
  "@cypress/xvfb": "1.2.4",
1767
- "@devicefarmer/adbkit": "3.2.5",
1767
+ "@devicefarmer/adbkit": "3.2.6",
1768
1768
  "@sitespeed.io/chromedriver": "121.0.6167-85",
1769
1769
  "@sitespeed.io/edgedriver": "120.0.2210-77",
1770
1770
  "@sitespeed.io/geckodriver": "0.34.0",
@@ -1787,7 +1787,7 @@
1787
1787
  "lodash.merge": "4.6.2",
1788
1788
  "lodash.pick": "4.4.0",
1789
1789
  "lodash.set": "4.3.2",
1790
- "selenium-webdriver": "4.16.0",
1790
+ "selenium-webdriver": "4.17.0",
1791
1791
  "yargs": "17.7.2"
1792
1792
  },
1793
1793
  "bin": {
@@ -7834,9 +7834,9 @@
7834
7834
  "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o="
7835
7835
  },
7836
7836
  "node_modules/selenium-webdriver": {
7837
- "version": "4.16.0",
7838
- "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.16.0.tgz",
7839
- "integrity": "sha512-IbqpRpfGE7JDGgXHJeWuCqT/tUqnLvZ14csSwt+S8o4nJo3RtQoE9VR4jB47tP/A8ArkYsh/THuMY6kyRP6kuA==",
7837
+ "version": "4.17.0",
7838
+ "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.17.0.tgz",
7839
+ "integrity": "sha512-e2E+2XBlGepzwgFbyQfSwo9Cbj6G5fFfs9MzAS00nC99EewmcS2rwn2MwtgfP7I5p1e7DYv4HQJXtWedsu6DvA==",
7840
7840
  "dependencies": {
7841
7841
  "jszip": "^3.10.1",
7842
7842
  "tmp": "^0.2.1",
@@ -7847,9 +7847,9 @@
7847
7847
  }
7848
7848
  },
7849
7849
  "node_modules/selenium-webdriver/node_modules/ws": {
7850
- "version": "8.15.0",
7851
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.15.0.tgz",
7852
- "integrity": "sha512-H/Z3H55mrcrgjFwI+5jKavgXvwQLtfPCUEp6pi35VhoB0pfcHnSoyuTzkBEZpzq49g1193CUEwIvmsjcotenYw==",
7850
+ "version": "8.16.0",
7851
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz",
7852
+ "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==",
7853
7853
  "engines": {
7854
7854
  "node": ">=10.0.0"
7855
7855
  },
@@ -9454,9 +9454,9 @@
9454
9454
  }
9455
9455
  },
9456
9456
  "@devicefarmer/adbkit": {
9457
- "version": "3.2.5",
9458
- "resolved": "https://registry.npmjs.org/@devicefarmer/adbkit/-/adbkit-3.2.5.tgz",
9459
- "integrity": "sha512-+J479WWZW3GU3t40flicDfiDrFz6vpiy2RcBQPEhFcs/3La9pOtr4Bgz2Q02E4luUG2RAL068rqIkKNUTy3tZw==",
9457
+ "version": "3.2.6",
9458
+ "resolved": "https://registry.npmjs.org/@devicefarmer/adbkit/-/adbkit-3.2.6.tgz",
9459
+ "integrity": "sha512-8lO1hSeTgtxcOHhp4tTWq/JaOysp5KNbbyFoxNEBnwkCDZu/Bji3ZfOaG++Riv9jN6c9bgdLBOZqJTC5VJPRKQ==",
9460
9460
  "requires": {
9461
9461
  "@devicefarmer/adbkit-logcat": "^2.1.2",
9462
9462
  "@devicefarmer/adbkit-monkey": "~1.2.1",
@@ -10048,9 +10048,9 @@
10048
10048
  }
10049
10049
  },
10050
10050
  "@tgwf/co2": {
10051
- "version": "0.13.10",
10052
- "resolved": "https://registry.npmjs.org/@tgwf/co2/-/co2-0.13.10.tgz",
10053
- "integrity": "sha512-iQZMYdLP+l1Kyi03EEE4jAZgzlAA8HRAbfgT3GgN6sUgbSoNS/UHijICUqgkum9aHIkDSOrtwkgbB/x3Gc/cQA=="
10051
+ "version": "0.14.2",
10052
+ "resolved": "https://registry.npmjs.org/@tgwf/co2/-/co2-0.14.2.tgz",
10053
+ "integrity": "sha512-NuruTf7RlLDvi+WDRGENmrnUkiJBH0KkN7p/RM3G10erT+TcnzQM1UslSNk7SIJQBvKXptqhV6xJjYi0LDu8OQ=="
10054
10054
  },
10055
10055
  "@tokenizer/token": {
10056
10056
  "version": "0.3.0",
@@ -10601,12 +10601,12 @@
10601
10601
  }
10602
10602
  },
10603
10603
  "browsertime": {
10604
- "version": "21.1.0",
10605
- "resolved": "https://registry.npmjs.org/browsertime/-/browsertime-21.1.0.tgz",
10606
- "integrity": "sha512-1V5xQDdwMHcOO8/GxHepMwrutoy4pa7Prg0GxePC+THuToGUPPemMrFmwN7I3WJWieS++F4/7hJ4wVIddotVcw==",
10604
+ "version": "21.2.1",
10605
+ "resolved": "https://registry.npmjs.org/browsertime/-/browsertime-21.2.1.tgz",
10606
+ "integrity": "sha512-LlU9fvaGCDL4G8uyQQmRZ6bR2bwlFPyDI85s5zOZdGOrB6/eIuxIM5/LD8oKcm7qGglmHInXG2qQUVYLROoC4w==",
10607
10607
  "requires": {
10608
10608
  "@cypress/xvfb": "1.2.4",
10609
- "@devicefarmer/adbkit": "3.2.5",
10609
+ "@devicefarmer/adbkit": "3.2.6",
10610
10610
  "@sitespeed.io/chromedriver": "121.0.6167-85",
10611
10611
  "@sitespeed.io/edgedriver": "120.0.2210-77",
10612
10612
  "@sitespeed.io/geckodriver": "0.34.0",
@@ -10630,7 +10630,7 @@
10630
10630
  "lodash.merge": "4.6.2",
10631
10631
  "lodash.pick": "4.4.0",
10632
10632
  "lodash.set": "4.3.2",
10633
- "selenium-webdriver": "4.16.0",
10633
+ "selenium-webdriver": "4.17.0",
10634
10634
  "yargs": "17.7.2"
10635
10635
  },
10636
10636
  "dependencies": {
@@ -15208,9 +15208,9 @@
15208
15208
  "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o="
15209
15209
  },
15210
15210
  "selenium-webdriver": {
15211
- "version": "4.16.0",
15212
- "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.16.0.tgz",
15213
- "integrity": "sha512-IbqpRpfGE7JDGgXHJeWuCqT/tUqnLvZ14csSwt+S8o4nJo3RtQoE9VR4jB47tP/A8ArkYsh/THuMY6kyRP6kuA==",
15211
+ "version": "4.17.0",
15212
+ "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.17.0.tgz",
15213
+ "integrity": "sha512-e2E+2XBlGepzwgFbyQfSwo9Cbj6G5fFfs9MzAS00nC99EewmcS2rwn2MwtgfP7I5p1e7DYv4HQJXtWedsu6DvA==",
15214
15214
  "requires": {
15215
15215
  "jszip": "^3.10.1",
15216
15216
  "tmp": "^0.2.1",
@@ -15218,9 +15218,9 @@
15218
15218
  },
15219
15219
  "dependencies": {
15220
15220
  "ws": {
15221
- "version": "8.15.0",
15222
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.15.0.tgz",
15223
- "integrity": "sha512-H/Z3H55mrcrgjFwI+5jKavgXvwQLtfPCUEp6pi35VhoB0pfcHnSoyuTzkBEZpzq49g1193CUEwIvmsjcotenYw==",
15221
+ "version": "8.16.0",
15222
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz",
15223
+ "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==",
15224
15224
  "requires": {}
15225
15225
  }
15226
15226
  }
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "sitespeed.io": "./bin/sitespeed.js",
6
6
  "sitespeed.io-wpr": "./bin/browsertimeWebPageReplay.js"
7
7
  },
8
- "version": "32.2.0",
8
+ "version": "33.0.0",
9
9
  "description": "sitespeed.io is an open-source tool for comprehensive web performance analysis, enabling you to test, monitor, and optimize your website’s speed using real browsers in various environments.",
10
10
  "keywords": [
11
11
  "performance",
@@ -53,7 +53,9 @@
53
53
  "pug-lint": "pug-lint lib/plugins/html/templates",
54
54
  "test": "ava",
55
55
  "check-licenses": "tools/check-licenses.js",
56
- "build:css": "sass lib/plugins/html/src/sass/main.scss > lib/plugins/html/assets/css/index.css && cleancss -o lib/plugins/html/assets/css/index.min.css lib/plugins/html/assets/css/index.css && rm lib/plugins/html/assets/css/index.css",
56
+ "build:css": "npm run build:css-light && npm run build:css-dark",
57
+ "build:css-light": "sass lib/plugins/html/src/sass/main-light.scss > lib/plugins/html/assets/css/index-light.css && cleancss -o lib/plugins/html/assets/css/index-light.min.css lib/plugins/html/assets/css/index-light.css && rm lib/plugins/html/assets/css/index-light.css ",
58
+ "build:css-dark": "sass lib/plugins/html/src/sass/main-dark.scss > lib/plugins/html/assets/css/index-dark.css && cleancss -o lib/plugins/html/assets/css/index-dark.min.css lib/plugins/html/assets/css/index-dark.css && rm lib/plugins/html/assets/css/index-dark.css",
57
59
  "generate:assets": "mkdir -p assets/$npm_package_version && cp -R lib/plugins/html/assets/ assets/$npm_package_version/"
58
60
  },
59
61
  "engines": {
@@ -80,10 +82,10 @@
80
82
  "dependencies": {
81
83
  "@google-cloud/storage": "6.9.5",
82
84
  "@influxdata/influxdb-client": "1.33.2",
83
- "@tgwf/co2": "0.13.10",
85
+ "@tgwf/co2": "0.14.2",
84
86
  "aws-sdk": "2.1327.0",
85
87
  "axe-core": "4.8.2",
86
- "browsertime": "21.1.0",
88
+ "browsertime": "21.2.1",
87
89
  "coach-core": "8.0.2",
88
90
  "cli-color": "2.0.3",
89
91
  "concurrent-queue": "7.0.2",
@@ -1,44 +0,0 @@
1
- //
2
- // INDEX STYLESHEET
3
- // ================
4
- // All Sass requires should live in here.
5
- //
6
-
7
-
8
- //
9
- // SETUP
10
- //
11
-
12
- @import 'utilities/settings';
13
-
14
- //
15
- // FOUNDATIONS
16
- // Base HTML and generic site-wide elements
17
- //
18
-
19
- @import 'foundations/normalize';
20
- @import 'foundations/base';
21
- @import 'foundations/grid';
22
- @import 'foundations/tables';
23
- @import 'foundations/typography';
24
- @import 'foundations/utilies';
25
-
26
- //
27
- // LAYOUT
28
- //
29
-
30
- @import 'components/buttons';
31
- @import 'components/navigation';
32
- @import 'components/sortable';
33
- @import 'components/summarybox';
34
- @import 'components/misc';
35
- @import 'components/waterfall';
36
- @import 'components/waterfallExtras';
37
- @import 'components/screenshot';
38
- @import 'components/tabs';
39
- @import 'components/groupitem';
40
- @import 'components/loader';
41
- @import 'components/chartist';
42
- @import 'components/chartist-plugin-tooltip';
43
- @import 'components/chartistExtras';
44
- @import 'components/filmstrip';