sitespeed.io 20.3.0 → 20.4.2

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.
@@ -19,6 +19,8 @@ jobs:
19
19
  run: docker run --rm sitespeedio/sitespeed.io https://www.sitespeed.io -n 1 -b chrome
20
20
  - name: Run test on default container for Firefox
21
21
  run: docker run --rm sitespeedio/sitespeed.io https://www.sitespeed.io -n 1 -b firefox
22
+ - name: Run test on default container for Edge
23
+ run: docker run --rm sitespeedio/sitespeed.io https://www.sitespeed.io -n 1 -b edge
22
24
  - name: Run test on slim container
23
25
  run: docker run --rm sitespeedio/sitespeed.io:slim https://www.sitespeed.io -n 1
24
26
  - name: Test WebPageReplay in the default container
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # CHANGELOG - sitespeed.io (we use [semantic versioning](https://semver.org))
2
2
 
3
+ ## 20.4.2 - 2021-11-07
4
+ ### Fixed
5
+ * Updated to AXE core 4.3.5 [#3501](https://github.com/sitespeedio/sitespeed.io/pull/3501).
6
+ * Use latest npm in the Docker container [#3502](https://github.com/sitespeedio/sitespeed.io/pull/3502).
7
+ * Fixed the bug that caused so that you couldn't use the analyisstorer plugin together with Graphite [#3506](https://github.com/sitespeedio/sitespeed.io/pull/3506).
8
+ ## 20.4.1 - 2021-10-29
9
+ ### Fixed
10
+ * Reverted the change with npm in the Docker container since it broke both webpagetest and the +1 container installation
11
+ ## 20.4.0 - 2021-10-29
12
+
13
+ ### Added
14
+ * Updated to [Browsertime 14.8.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md) with Edgeriver 95.
15
+ * Updated to Edge 95 in the Docker container.
16
+ * Update to use NodeJS 16 in the Docker container [#3495](https://github.com/sitespeedio/sitespeed.io/pull/3495).
17
+ * On Mac OS: Use `--open` or `-o` to open the result in your default browser. Thank you [Johanna Lindh](https://github.com/zhouhana) for the idea! PR [#3493](https://github.com/sitespeedio/sitespeed.io/pull/3493).
18
+ * The +1 container now had Lighthouse 8.6.0.
19
+
20
+ ### Fixed
21
+ * Removed npm from the Docker container when everything has been installed to fix npm security issues + decrease the size of the container.
22
+ ## 20.3.1 - 2021-10-21
23
+ ### Fixed
24
+ * Fix to handle integer value Android device serial, thank you [Saurav Kumar](https://github.com/svkrclg) for PR [#3490](https://github.com/sitespeedio/sitespeed.io/pull/3490).
3
25
  ## 20.3.0 - 2021-10-20
4
26
  ### Added
5
27
  * Updated Browsertime that uses Chromedriver 95.
package/Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- FROM sitespeedio/webbrowsers:chrome-95.0-firefox-93.0-edge-93.0-dev
1
+ FROM sitespeedio/webbrowsers:chrome-95.0-firefox-93.0-edge-95.0-dev-2
2
2
 
3
3
  ENV SITESPEED_IO_BROWSERTIME__XVFB true
4
4
  ENV SITESPEED_IO_BROWSERTIME__DOCKER true
@@ -25,7 +25,7 @@ RUN mkdir -p /usr/src/app
25
25
  WORKDIR /usr/src/app
26
26
 
27
27
  COPY package.* /usr/src/app/
28
- RUN npm install --production
28
+ RUN npm install -g npm@latest && npm install --production && npm cache clean --force
29
29
  COPY . /usr/src/app
30
30
 
31
31
  COPY docker/scripts/start.sh /start.sh
@@ -35,6 +35,7 @@ RUN mkdir -m 0750 /root/.android
35
35
  ADD docker/adb/insecure_shared_adbkey /root/.android/adbkey
36
36
  ADD docker/adb/insecure_shared_adbkey.pub /root/.android/adbkey.pub
37
37
 
38
+
38
39
  # Allow all users to run commands needed by sitespeedio/throttle via sudo
39
40
  # See https://github.com/sitespeedio/throttle/blob/main/lib/tc.js
40
41
  RUN echo 'ALL ALL=NOPASSWD: /usr/sbin/tc, /usr/sbin/route, /usr/sbin/ip' > /etc/sudoers.d/tc
package/Dockerfile-slim CHANGED
@@ -30,7 +30,7 @@ RUN buildDeps='wget bzip2' && apt-get update && apt -y install $buildDeps && \
30
30
  RUN mkdir -p /usr/src/app
31
31
  WORKDIR /usr/src/app
32
32
  COPY . /usr/src/app
33
- RUN CHROMEDRIVER_SKIP_DOWNLOAD=true EGDEDRIVER_SKIP_DOWNLOAD=true npm install --production
33
+ RUN npm install -g npm@latest && CHROMEDRIVER_SKIP_DOWNLOAD=true EGDEDRIVER_SKIP_DOWNLOAD=true npm install --production && npm cache clean --force && npm uninstall npm -g
34
34
  WORKDIR /usr/src/app
35
35
  COPY docker/scripts/start-slim.sh /start.sh
36
36
 
package/bin/sitespeed.js CHANGED
@@ -7,6 +7,8 @@
7
7
  const fs = require('fs');
8
8
  const cli = require('../lib/cli/cli');
9
9
  const sitespeed = require('../lib/sitespeed');
10
+ const { execSync } = require('child_process');
11
+ const os = require('os');
10
12
 
11
13
  async function run(options) {
12
14
  process.exitCode = 1;
@@ -20,6 +22,10 @@ async function run(options) {
20
22
  fs.writeFileSync('result.json', JSON.stringify(result));
21
23
  }
22
24
 
25
+ if ((options.open || options.o) && os.platform() === 'darwin') {
26
+ execSync('open ' + result.localPath + '/index.html');
27
+ }
28
+
23
29
  if (
24
30
  parsed.options.budget &&
25
31
  Object.keys(result.budgetResult.failing).length > 0
package/lib/cli/cli.js CHANGED
@@ -675,6 +675,7 @@ module.exports.parseCommandLine = function parseCommandLine() {
675
675
  })
676
676
  .option('browsertime.firefox.android.deviceSerial', {
677
677
  alias: 'firefox.android.deviceSerial',
678
+ type: 'string',
678
679
  describe:
679
680
  'Choose which device to use. If you do not set it, first device will be used.',
680
681
  group: 'Firefox'
@@ -767,6 +768,7 @@ module.exports.parseCommandLine = function parseCommandLine() {
767
768
  })
768
769
  .option('browsertime.chrome.android.deviceSerial', {
769
770
  alias: 'chrome.android.deviceSerial',
771
+ type: 'string',
770
772
  describe:
771
773
  'Choose which device to use. If you do not set it, the first found device will be used.',
772
774
  group: 'Chrome'
@@ -1453,6 +1455,10 @@ module.exports.parseCommandLine = function parseCommandLine() {
1453
1455
  .option('name', {
1454
1456
  describe: 'Give your test a name.'
1455
1457
  })
1458
+ .option('open', {
1459
+ alias: 'o',
1460
+ describe: 'Open your test result in your default browser (Mac OS only).'
1461
+ })
1456
1462
  .option('slug', {
1457
1463
  describe:
1458
1464
  'Give your test a slug. The slug is used when you send the metrics to your data storage to identify the test and the folder of the tests. The max length of the slug is 200 characters and it can only contain a-z A-Z 0-9 and -_ characters.'
@@ -26,7 +26,8 @@ function shouldIgnoreMessage(message) {
26
26
  'html.pug',
27
27
  's3.finished',
28
28
  'gcs.finished',
29
- 'ftp.finished'
29
+ 'ftp.finished',
30
+ 'graphite.setup'
30
31
  ].indexOf(message.type) >= 0
31
32
  );
32
33
  }
package/lib/sitespeed.js CHANGED
@@ -156,12 +156,14 @@ module.exports = {
156
156
  if (options.summary && options.summary.out) {
157
157
  console.log(options.summary.out); // eslint-disable-line no-console
158
158
  }
159
+
159
160
  return {
160
161
  errors,
161
162
  budgetResult,
162
163
  resultUrl: resultUrls.hasBaseUrl()
163
164
  ? resultUrls.reportSummaryUrl() + '/index.html'
164
- : ''
165
+ : '',
166
+ localPath: storageManager.getBaseDir()
165
167
  };
166
168
  } catch (err) {
167
169
  log.error(err);