sitespeed.io 21.5.0 → 22.1.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.
- package/.github/ISSUE_TEMPLATE/BUG_REPORT.yml +65 -0
- package/.github/ISSUE_TEMPLATE/QUESTION.yml +15 -0
- package/.github/workflows/building-docker-autobuild.yml +28 -0
- package/.github/workflows/building-docker-release.yml +61 -0
- package/.github/workflows/docker-scan.yml +3 -2
- package/.github/workflows/docker.yml +3 -2
- package/.github/workflows/linux.yml +1 -1
- package/.github/workflows/safari.yml +1 -1
- package/.github/workflows/unittests.yml +1 -1
- package/.github/workflows/windows.yml +1 -1
- package/CHANGELOG.md +46 -1
- package/Dockerfile +4 -2
- package/Dockerfile-slim +21 -11
- package/README.md +9 -9
- package/lib/core/pluginLoader.js +7 -3
- package/lib/plugins/crux/cli.js +6 -0
- package/lib/plugins/crux/index.js +148 -130
- package/lib/plugins/crux/pug/index.pug +57 -25
- package/lib/plugins/html/assets/css/index.min.css +1 -1
- package/lib/plugins/html/assets/js/chartist-plugin-legend.min.js +1 -0
- package/lib/plugins/html/renderer.js +1 -1
- package/lib/plugins/html/src/sass/components/chartistExtras.scss +70 -3
- package/lib/plugins/html/templates/layout.pug +1 -0
- package/lib/plugins/html/templates/url/iteration/index.pug +29 -16
- package/lib/plugins/html/templates/url/summary/index.pug +47 -12
- package/lib/plugins/html/templates/url/thirdparty/thirdPartyCookies.pug +2 -1
- package/npm-shrinkwrap.json +56 -56
- package/package.json +3 -3
- package/release.sh +0 -18
- package/.github/ISSUE_TEMPLATE.md +0 -9
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
name: Bug Report
|
|
2
|
+
description: File a bug report
|
|
3
|
+
labels: [bug]
|
|
4
|
+
body:
|
|
5
|
+
- type: markdown
|
|
6
|
+
attributes:
|
|
7
|
+
value: Thanks for reporting issues back to sitespeed.io!
|
|
8
|
+
- type: checkboxes
|
|
9
|
+
id: Reproducable
|
|
10
|
+
attributes:
|
|
11
|
+
label: Have you read the documentation?
|
|
12
|
+
description: Please double check that this question hasn't already answered in the [documentation](https://www.sitespeed.io/documentation/sitespeed.io/) (use the `Search`). Also please read [how to make a good bug report](https://www.sitespeed.io/documentation/sitespeed.io/bug-report/) and check [how to debug your script](https://www.sitespeed.io/documentation/sitespeed.io/scripting/#debug).
|
|
13
|
+
options:
|
|
14
|
+
- label: Yes, I've read the [how to make a reproducable bug guide](https://www.sitespeed.io/documentation/sitespeed.io/bug-report/)
|
|
15
|
+
required: true
|
|
16
|
+
- label: Yes, I've read the [how to debug my script guide](https://www.sitespeed.io/documentation/sitespeed.io/scripting/#debug)
|
|
17
|
+
required: false
|
|
18
|
+
- type: input
|
|
19
|
+
id: url
|
|
20
|
+
attributes:
|
|
21
|
+
label: URL
|
|
22
|
+
description: What URL did you run sitespeed.io on? If you can't share your URL please make a minimial repro to a public location (e.g. https://glitch.com/, http://jsbin.com/, etc)
|
|
23
|
+
placeholder: https://example.com
|
|
24
|
+
validations:
|
|
25
|
+
required: true
|
|
26
|
+
- type: textarea
|
|
27
|
+
id: whaw
|
|
28
|
+
attributes:
|
|
29
|
+
label: What are you trying to accomplish
|
|
30
|
+
description: A brief description of what you tried to do and what went wrong.
|
|
31
|
+
validations:
|
|
32
|
+
required: true
|
|
33
|
+
- type: dropdown
|
|
34
|
+
id: browser
|
|
35
|
+
attributes:
|
|
36
|
+
label: What browser did you use?
|
|
37
|
+
description: Extra bonus if you try the issue in multiple browsers
|
|
38
|
+
multiple: true
|
|
39
|
+
options:
|
|
40
|
+
- Chrome
|
|
41
|
+
- Firefox
|
|
42
|
+
- Edge
|
|
43
|
+
- Safari Mac OS
|
|
44
|
+
- Safari iOS
|
|
45
|
+
- Chrome Android
|
|
46
|
+
- Firefox Android
|
|
47
|
+
- Other
|
|
48
|
+
validations:
|
|
49
|
+
required: true
|
|
50
|
+
- type: textarea
|
|
51
|
+
id: how-to-reproduce
|
|
52
|
+
attributes:
|
|
53
|
+
label: How to reproduce
|
|
54
|
+
description: Please copy and paste how you run so we can reproduce. This will be automatically formatted into code, so no need for backticks. Remember to follow the [how to make a good bug report guide](https://www.sitespeed.io/documentation/sitespeed.io/bug-report/)!
|
|
55
|
+
render: shell
|
|
56
|
+
validations:
|
|
57
|
+
required: true
|
|
58
|
+
- type: textarea
|
|
59
|
+
id: logs
|
|
60
|
+
attributes:
|
|
61
|
+
label: Relevant log output
|
|
62
|
+
description: Please copy and paste any relevant log output (please DO NOT take a screenshot of the log output). This will be automatically formatted into code, so no need for backticks.
|
|
63
|
+
render: shell
|
|
64
|
+
validations:
|
|
65
|
+
required: false
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
name: Question
|
|
2
|
+
description: Ask a question about sitespeed.io
|
|
3
|
+
labels: [question]
|
|
4
|
+
body:
|
|
5
|
+
- type: markdown
|
|
6
|
+
attributes:
|
|
7
|
+
value: |
|
|
8
|
+
Ask a question about sitespeed.io
|
|
9
|
+
- type: textarea
|
|
10
|
+
id: your-question
|
|
11
|
+
attributes:
|
|
12
|
+
label: Your question
|
|
13
|
+
description: Please double check that this question hasn't already answered in the [documentation](https://www.sitespeed.io/documentation/sitespeed.io/) (use the `Search`) or [old GitHub issues](https://github.com/sitespeedio/sitespeed.io/issues?q=is%3Aissue+is%3Aclosed). You can also ask questions in the [sitespeed.io Slack channel](https://sitespeedio.herokuapp.com/). And if your question is more like a bug, please [use the bug report form](https://github.com/sitespeedio/sitespeed.io/issues/new?assignees=&labels=bug&template=BUG_REPORT.yml)
|
|
14
|
+
validations:
|
|
15
|
+
required: true
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
name: Build autobuild container that runs tests on dashboard.sitespeed.io
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
branches:
|
|
5
|
+
- main
|
|
6
|
+
jobs:
|
|
7
|
+
docker:
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
steps:
|
|
10
|
+
-
|
|
11
|
+
name: Set up QEMU
|
|
12
|
+
uses: docker/setup-qemu-action@v1
|
|
13
|
+
-
|
|
14
|
+
name: Set up Docker Buildx
|
|
15
|
+
uses: docker/setup-buildx-action@v1
|
|
16
|
+
-
|
|
17
|
+
name: Login to DockerHub
|
|
18
|
+
uses: docker/login-action@v1
|
|
19
|
+
with:
|
|
20
|
+
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
21
|
+
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
22
|
+
-
|
|
23
|
+
name: Build and push sitespeed.io
|
|
24
|
+
uses: docker/build-push-action@v2
|
|
25
|
+
with:
|
|
26
|
+
platforms: linux/amd64
|
|
27
|
+
push: true
|
|
28
|
+
tags: sitespeedio/sitespeed.io-autobuild:main
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
name: Build Docker containers on new tag
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
tags:
|
|
5
|
+
- 'v*.*.*'
|
|
6
|
+
jobs:
|
|
7
|
+
docker:
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
steps:
|
|
10
|
+
-
|
|
11
|
+
name: Set up QEMU
|
|
12
|
+
uses: docker/setup-qemu-action@v1
|
|
13
|
+
-
|
|
14
|
+
name: Set up Docker Buildx
|
|
15
|
+
uses: docker/setup-buildx-action@v1
|
|
16
|
+
-
|
|
17
|
+
name: Login to DockerHub
|
|
18
|
+
uses: docker/login-action@v1
|
|
19
|
+
with:
|
|
20
|
+
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
21
|
+
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
22
|
+
-
|
|
23
|
+
name: Get the tag
|
|
24
|
+
id: tag
|
|
25
|
+
uses: dawidd6/action-get-tag@v1
|
|
26
|
+
with:
|
|
27
|
+
strip_v: true
|
|
28
|
+
-
|
|
29
|
+
name: Build and push sitespeed.io
|
|
30
|
+
uses: docker/build-push-action@v2
|
|
31
|
+
with:
|
|
32
|
+
platforms: linux/amd64,linux/arm64
|
|
33
|
+
push: true
|
|
34
|
+
tags: sitespeedio/sitespeed.io:${{steps.tag.outputs.tag}},sitespeedio/sitespeed.io:latest
|
|
35
|
+
-
|
|
36
|
+
name: Build and push sitespeed.io-slim
|
|
37
|
+
uses: docker/build-push-action@v2
|
|
38
|
+
with:
|
|
39
|
+
platforms: linux/amd64,linux/arm64
|
|
40
|
+
file: ./Dockerfile-slim
|
|
41
|
+
build-args: version=${{steps.tag.outputs.tag}}
|
|
42
|
+
push: true
|
|
43
|
+
tags: sitespeedio/sitespeed.io:${{steps.tag.outputs.tag}}-slim
|
|
44
|
+
-
|
|
45
|
+
name: Build and push sitespeed.io+1
|
|
46
|
+
uses: docker/build-push-action@v2
|
|
47
|
+
with:
|
|
48
|
+
platforms: linux/amd64,linux/arm64
|
|
49
|
+
file: ./docker/Dockerfile-plus1
|
|
50
|
+
build-args: version=${{steps.tag.outputs.tag}}
|
|
51
|
+
push: true
|
|
52
|
+
tags: sitespeedio/sitespeed.io:${{steps.tag.outputs.tag}}-plus1
|
|
53
|
+
-
|
|
54
|
+
name: Build and push sitespeed.io+wpt
|
|
55
|
+
uses: docker/build-push-action@v2
|
|
56
|
+
with:
|
|
57
|
+
platforms: linux/amd64,linux/arm64
|
|
58
|
+
file: ./docker/Dockerfile-webpagetest
|
|
59
|
+
build-args: version=${{steps.tag.outputs.tag}}
|
|
60
|
+
push: true
|
|
61
|
+
tags: sitespeedio/sitespeed.io:${{steps.tag.outputs.tag}}-webpagetest
|
|
@@ -14,7 +14,8 @@ jobs:
|
|
|
14
14
|
|
|
15
15
|
- name: Build an image from Dockerfile
|
|
16
16
|
run: |
|
|
17
|
-
docker
|
|
17
|
+
docker buildx install
|
|
18
|
+
docker buildx build --load --platform linux/amd64 -t docker.io/sitespeedio/sitespeed.io:${{ github.sha }} .
|
|
18
19
|
|
|
19
20
|
- name: Run Trivy vulnerability scanner
|
|
20
21
|
uses: aquasecurity/trivy-action@master
|
|
@@ -24,4 +25,4 @@ jobs:
|
|
|
24
25
|
exit-code: '1'
|
|
25
26
|
ignore-unfixed: true
|
|
26
27
|
vuln-type: 'os,library'
|
|
27
|
-
severity: 'CRITICAL
|
|
28
|
+
severity: 'CRITICAL'
|
|
@@ -13,8 +13,9 @@ jobs:
|
|
|
13
13
|
- uses: actions/checkout@v2
|
|
14
14
|
- name: Build Docker containers
|
|
15
15
|
run: |
|
|
16
|
-
docker
|
|
17
|
-
docker build -t sitespeedio/sitespeed.io
|
|
16
|
+
docker buildx install
|
|
17
|
+
docker buildx build --load --platform linux/amd64 -t sitespeedio/sitespeed.io .
|
|
18
|
+
docker buildx build --load --platform linux/amd64 -t sitespeedio/sitespeed.io:slim --file Dockerfile-slim .
|
|
18
19
|
- name: Run test on default container for Chrome
|
|
19
20
|
run: docker run --rm sitespeedio/sitespeed.io https://www.sitespeed.io -n 1 -b chrome
|
|
20
21
|
- name: Run test on default container for Firefox
|
package/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,53 @@
|
|
|
1
1
|
# CHANGELOG - sitespeed.io (we use [semantic versioning](https://semver.org))
|
|
2
2
|
|
|
3
|
+
## 22.1.0 - 2022-02-08
|
|
4
|
+
### Added
|
|
5
|
+
* Upgraded to latest Browsertime with Egdedriver 98.
|
|
6
|
+
* Upgraded to Edge 98 and Firefox 97 in the (amd64) Docker containers.
|
|
7
|
+
## 22.0.0 - 2022-02-07
|
|
8
|
+
|
|
9
|
+
### Breaking changes
|
|
10
|
+
* If you use the Lightouse plugin there's breaking changes:
|
|
11
|
+
|
|
12
|
+
In the new version we drop support for the following:
|
|
13
|
+
* Running multiple runs with Lighthouse.
|
|
14
|
+
* Using scripts to login the user (or whatever you need before you run your tests)
|
|
15
|
+
It's a couple of reasons why I remove those features:
|
|
16
|
+
* I been looking for a maintainer of the Lighthouse plugin for +1 year and I haven't found one. For me to be able to maintain it I want the plugin to be as simple as possible.
|
|
17
|
+
* I deeply regret merging the PR for adding multiple runs for Lighthouse. That PR goes against everything I know about measuring performance. Lighthouse is not built for getting correct performance metrics, it's built to help (Chrome) developers to get insights how they make the page "faster". Lets stick to the basics and keep it possible to get those recommendations from Lighthouse.
|
|
18
|
+
* Maybe someday Lighthouse will have support for user journeys, lets wait until that is officially supported and then I can check if it could be used in the plugin.
|
|
19
|
+
|
|
20
|
+
With the new release we also break how you configure Lighthouse. People has had problem with that since day 1. With the new version we support two new ways to configure Lighthouse:
|
|
21
|
+
- By configuration JSON file. `--lighthouse.config config.js`
|
|
22
|
+
- By Lightouse flags file. `--lighthouse.flags flag.json`
|
|
23
|
+
|
|
24
|
+
If you don't need to configure Lightouse you can use the default settings both for desktop and mobile. If you run without any settings, the plugin will use desktop settings. If you run with `--mobile`, `--android` or `--ios` the mobile settings will be used.
|
|
25
|
+
|
|
26
|
+
### Added
|
|
27
|
+
* Build Docker containers for both amd64 and arm64 to make containers work on Mac M1. The arm container contains Firefox and Chromium. Thank you [whichfinder](https://github.com/whichfinder) and [Radu Micu](https://github.com/radum) for the help! Fixed in PR [#3554](https://github.com/sitespeedio/sitespeed.io/pull/3554).
|
|
28
|
+
* When plugins is loaded, there's a new extra last step where we try to load the plugin as a globally installed npm module [#3546](https://github.com/sitespeedio/sitespeed.io/pull/3546).
|
|
29
|
+
|
|
30
|
+
### Fixed
|
|
31
|
+
* Fix so that we do not display the same 3rd party cookie multiple times [#3545](https://github.com/sitespeedio/sitespeed.io/pull/3545).
|
|
32
|
+
* Updated Coach Core that includes the latest version of third party web and PageXray that find more fonts without mime type.
|
|
33
|
+
|
|
34
|
+
## 21.6.1 - 2022-01-24
|
|
35
|
+
### Fixed
|
|
36
|
+
* Updated to [Browsertime 14.18.1](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#14181---2022-01-24) that makes the summary metric log message use median (instead of mean) and change a log message level to debug.
|
|
37
|
+
## 21.6.0 - 2022-01-24
|
|
38
|
+
### Added
|
|
39
|
+
* Updated to Edge stable release in the Docker container.
|
|
40
|
+
* Remove Crux distribution table and use pie charts instead [#3537](https://github.com/sitespeedio/sitespeed.io/pull/3537)
|
|
41
|
+
* Add extra sleep time between Crux calls to make sure to not overload the API limit [#3536](https://github.com/sitespeedio/sitespeed.io/pull/3536).
|
|
42
|
+
* Added extra Crux enable command line `--crux.enable` to enable Crux [#3538](https://github.com/sitespeedio/sitespeed.io/pull/3538). Its default value is `true` and you also need to supply the Crux key to run Crux. The reason for the new parameter is that you can now configure the key in your configuration JSON and set the enable to false and then you enable it with the CLI parameter when you actually need to run Crux.
|
|
43
|
+
* Show Crux-metrics on the Summary page [#3540](https://github.com/sitespeedio/sitespeed.io/pull/3540).
|
|
44
|
+
* Updated summary metrics tables with headings to make it easier to read [#3541](https://github.com/sitespeedio/sitespeed.io/pull/3541).
|
|
45
|
+
* Added [Browsertime 14.17.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#14170---2022-01-23) with new Select and click.byName commands. With that Browsertime version you also need to have ffprobe installed when you run Visual Metrics but that should already be installed.
|
|
46
|
+
* Added [Browsertime 14.18.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#14180---2022-01-24) with a fix for Firefox [#1698](https://github.com/sitespeedio/browsertime/issues/1698)
|
|
47
|
+
|
|
3
48
|
## 21.5.0 - 2022-01-14
|
|
4
49
|
### Added
|
|
5
|
-
* Upgraded to [Browsertime 14.15.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#14150---2022-01-12) that adds support for `--appendToUserAgent` for Chrome/Edge/Firefox.
|
|
50
|
+
* Upgraded to [Browsertime 14.15.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#14150---2022-01-12) that adds support for `--appendToUserAgent` for Chrome/Edge/Firefox. And then Browsertime 14.16.0 that supports Geckodriver for Raspberry Pi.
|
|
6
51
|
## 21.4.0 - 2022-01-12
|
|
7
52
|
### Added
|
|
8
53
|
* Updated to a new build of WebPageReplay in the Docker container
|
package/Dockerfile
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
FROM sitespeedio/webbrowsers:chrome-
|
|
1
|
+
FROM sitespeedio/webbrowsers:chrome-98.0-firefox-97.0-edge-98.0
|
|
2
|
+
|
|
3
|
+
ARG TARGETPLATFORM=linux/amd64
|
|
2
4
|
|
|
3
5
|
ENV SITESPEED_IO_BROWSERTIME__XVFB true
|
|
4
6
|
ENV SITESPEED_IO_BROWSERTIME__DOCKER true
|
|
5
7
|
|
|
6
|
-
COPY docker/webpagereplay/wpr /usr/local/bin/
|
|
8
|
+
COPY docker/webpagereplay/$TARGETPLATFORM/wpr /usr/local/bin/
|
|
7
9
|
COPY docker/webpagereplay/wpr_cert.pem /webpagereplay/certs/
|
|
8
10
|
COPY docker/webpagereplay/wpr_key.pem /webpagereplay/certs/
|
|
9
11
|
COPY docker/webpagereplay/deterministic.js /webpagereplay/scripts/deterministic.js
|
package/Dockerfile-slim
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
FROM node:
|
|
1
|
+
FROM node:16.13.2-bullseye-slim
|
|
2
|
+
|
|
3
|
+
ARG TARGETPLATFORM=linux/amd64
|
|
2
4
|
|
|
3
5
|
ENV SITESPEED_IO_BROWSERTIME__DOCKER true
|
|
4
6
|
ENV SITESPEED_IO_BROWSERTIME__VIDEO false
|
|
@@ -6,22 +8,30 @@ ENV SITESPEED_IO_BROWSERTIME__BROWSER firefox
|
|
|
6
8
|
ENV SITESPEED_IO_BROWSERTIME__VISUAL_METRICS false
|
|
7
9
|
ENV SITESPEED_IO_BROWSERTIME__HEADLESS true
|
|
8
10
|
|
|
9
|
-
ENV FIREFOX_VERSION
|
|
11
|
+
ENV FIREFOX_VERSION 97.0
|
|
10
12
|
|
|
11
13
|
ENV PATH="/usr/local/bin:${PATH}"
|
|
12
14
|
|
|
13
15
|
RUN buildDeps='wget bzip2' && apt-get update && apt -y install $buildDeps && \
|
|
14
16
|
# Download and unpack the correct Firefox version
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
if [ "$TARGETPLATFORM" = "linux/amd64" ] ; \
|
|
18
|
+
then \
|
|
19
|
+
wget https://ftp.mozilla.org/pub/firefox/releases/${FIREFOX_VERSION}/linux-x86_64/en-US/firefox-${FIREFOX_VERSION}.tar.bz2 && \
|
|
20
|
+
tar -xjf firefox-${FIREFOX_VERSION}.tar.bz2 && \
|
|
21
|
+
rm firefox-${FIREFOX_VERSION}.tar.bz2 && \
|
|
22
|
+
mv firefox /opt/ && \
|
|
23
|
+
ln -s /opt/firefox/firefox /usr/local/bin/firefox && \
|
|
24
|
+
# Install dependencies for Firefox
|
|
25
|
+
apt-get install -y --no-install-recommends --no-install-suggests libxt6 \
|
|
26
|
+
`apt-cache depends firefox-esr | awk '/Depends:/{print$2}'`; \
|
|
27
|
+
elif [ "$TARGETPLATFORM" = "linux/arm64" ] ; \
|
|
28
|
+
then \
|
|
29
|
+
apt-get update && \
|
|
30
|
+
apt-get install -y firefox-esr; \
|
|
31
|
+
fi
|
|
32
|
+
|
|
23
33
|
# iproute2 = tc
|
|
24
|
-
|
|
34
|
+
RUN apt -y install tcpdump iproute2 ca-certificates sudo --no-install-recommends --no-install-suggests && \
|
|
25
35
|
# Cleanup
|
|
26
36
|
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $toolDeps \
|
|
27
37
|
&& rm -rf /var/lib/apt/lists/* /tmp/*
|
package/README.md
CHANGED
|
@@ -21,13 +21,13 @@
|
|
|
21
21
|
Before we start telling you all about sitespeed.io you should just try it out:
|
|
22
22
|
|
|
23
23
|
```bash
|
|
24
|
-
|
|
24
|
+
docker run --rm -v "$(pwd)":/sitespeed.io sitespeedio/sitespeed.io https://www.sitespeed.io/
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
Or using npm (you need Chrome, Firefox, Edge or Safari installed or Chrome/Firefox on Android)
|
|
28
28
|
|
|
29
29
|
```bash
|
|
30
|
-
|
|
30
|
+
npm i -g sitespeed.io && sitespeed.io https://www.sitespeed.io/
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
Ok, now you have tried it, let us tell you more about sitespeed.io. We think of a complete web performance tool as having three key capabilities:
|
|
@@ -74,23 +74,23 @@ When you as user choose to test a URL, this is what happens on a high level:
|
|
|
74
74
|
Using Docker (use latest Docker):
|
|
75
75
|
|
|
76
76
|
```bash
|
|
77
|
-
|
|
77
|
+
docker run --rm -v "$(pwd)":/sitespeed.io sitespeedio/sitespeed.io https://www.sitespeed.io/
|
|
78
78
|
```
|
|
79
79
|
|
|
80
80
|
Or install using npm:
|
|
81
81
|
|
|
82
82
|
```bash
|
|
83
|
-
|
|
83
|
+
npm i -g sitespeed.io
|
|
84
84
|
```
|
|
85
85
|
|
|
86
86
|
Or clone the repo and test the latest changes:
|
|
87
87
|
|
|
88
88
|
```bash
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
89
|
+
git clone https://github.com/sitespeedio/sitespeed.io.git
|
|
90
|
+
cd sitespeed.io
|
|
91
|
+
npm install
|
|
92
|
+
bin/sitespeed.js --help
|
|
93
|
+
bin/sitespeed.js https://www.sitespeed.io/
|
|
94
94
|
```
|
|
95
95
|
|
|
96
96
|
## More details
|
package/lib/core/pluginLoader.js
CHANGED
|
@@ -66,9 +66,13 @@ module.exports = {
|
|
|
66
66
|
try {
|
|
67
67
|
plugins.push(require(path.resolve(process.cwd(), name)));
|
|
68
68
|
} catch (error) {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
69
|
+
try {
|
|
70
|
+
plugins.push(require(name));
|
|
71
|
+
} catch (error) {
|
|
72
|
+
console.error("Couldn't load plugin %s: %s", name, err); // eslint-disable-line no-console
|
|
73
|
+
// if it fails here, let it fail hard
|
|
74
|
+
throw error;
|
|
75
|
+
}
|
|
72
76
|
}
|
|
73
77
|
}
|
|
74
78
|
}
|
package/lib/plugins/crux/cli.js
CHANGED
|
@@ -4,6 +4,12 @@ module.exports = {
|
|
|
4
4
|
'You need to use a key to get data from CrUx. Get the key from https://developers.google.com/web/tools/chrome-user-experience-report/api/guides/getting-started#APIKey',
|
|
5
5
|
group: 'CrUx'
|
|
6
6
|
},
|
|
7
|
+
enable: {
|
|
8
|
+
default: true,
|
|
9
|
+
describe:
|
|
10
|
+
'Enable the CrUx plugin. This is on by defauly but you also need the Crux key. If you chose to disable it with this key, set this to false and you can still use the CrUx key in your configuration.',
|
|
11
|
+
group: 'CrUx'
|
|
12
|
+
},
|
|
7
13
|
formFactor: {
|
|
8
14
|
default: 'ALL',
|
|
9
15
|
type: 'string',
|