Bug 1887998 - Have mozperftest and raptor use the same browsertime. r=perftest-reviewers,sparky

Currently, the browsertime used by mozperftest is outdated and
maintained separately from the browsertime used in raptor tests.

This patch upgrades the browsertime used in mozperftest by now sharing
the same browsertime that is used with raptors (in `src/tools/browsertime`).

Going forward we now only have to maintain one browsertime version. This
introduces the potential of more infra changes (because previously when
upgrading raptor's browsertime we only checked raptor tests, but now we
will have to verify mozperftest) but this should be worth it to stay up
to date.

Differential Revision: https://phabricator.services.mozilla.com/D208944
This commit is contained in:
KS 2024-05-14 14:59:05 +00:00
parent 1ccd64df3d
commit 644e33da0a
10 changed files with 56 additions and 2002 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,12 +0,0 @@
{
"name": "mozilla-central-tools-browsertime",
"description": "This package file is for node modules used in mozilla-central/tools/browsertime",
"repository": {},
"license": "MPL-2.0",
"dependencies": {},
"devDependencies": {
"browsertime": "https://github.com/sitespeedio/browsertime/tarball/eae18165d9d82b9a5ad38b0bd1507a2d86a70988"
},
"notes(private)": "We don't want to publish to npm, so this is marked as private",
"private": true
}

View File

@ -14,8 +14,6 @@ from mozperftest.test.browsertime.visualtools import get_dependencies, xvfb
from mozperftest.test.noderunner import NodeRunner
from mozperftest.utils import ON_TRY, get_output_dir, install_package
BROWSERTIME_SRC_ROOT = Path(__file__).parent
def matches(args, *flags):
"""Returns True if any argument matches any of the given flags
@ -115,6 +113,17 @@ class BrowsertimeRunner(NodeRunner):
# The convention is $MOZBUILD_STATE_PATH/cache/$FEATURE.
return Path(self._mach_context.state_dir, "cache", "browsertime")
@property
def browsertime_src_root(self):
"""Root location of browsertime source code and config"""
if ON_TRY:
moz_fetches_dir = os.environ.get("MOZ_FETCHES_DIR")
res = Path(moz_fetches_dir, "browsertime")
else:
res = Path(self.topsrcdir, "tools", "browsertime")
return res
@property
def state_path(self):
"""Unpacked artifacts will be kept here."""
@ -135,7 +144,11 @@ class BrowsertimeRunner(NodeRunner):
def visualmetrics_py(self):
root = os.environ.get("BROWSERTIME", self.state_path)
path = Path(
root, "node_modules", "browsertime", "browsertime", "visualmetrics.py"
root,
"node_modules",
"browsertime",
"visualmetrics",
"visualmetrics-portable.py",
)
if path.exists():
os.environ["VISUALMETRICS_PY"] = str(path)
@ -171,7 +184,7 @@ class BrowsertimeRunner(NodeRunner):
return True
# Browsertime exists, check if it's outdated
with Path(BROWSERTIME_SRC_ROOT, "package.json").open() as new:
with Path(self.browsertime_src_root, "package.json").open() as new:
new_pkg = json.load(new)
return not self._get_browsertime_resolved().endswith(
@ -205,11 +218,10 @@ class BrowsertimeRunner(NodeRunner):
# preparing ~/.mozbuild/browsertime
for file in ("package.json", "package-lock.json"):
src = BROWSERTIME_SRC_ROOT / file
src = self.browsertime_src_root / file
target = self.state_path / file
# Overwrite the existing files
shutil.copyfile(str(src), str(target))
package_json_path = self.state_path / "package.json"
if install_url is not None:
@ -452,6 +464,7 @@ class BrowsertimeRunner(NodeRunner):
pass
extra = self.extra_default_args(args=args)
command = [str(self.browsertime_js)] + extra + args
self.info("Running browsertime with this command %s" % " ".join(command))

View File

@ -8,6 +8,7 @@ job-defaults:
toolchain:
- linux64-node
- linux64-geckodriver
- browsertime
worker:
env:

View File

@ -8,6 +8,7 @@ job-defaults:
toolchain:
- linux64-node
- linux64-geckodriver
- browsertime
build:
- artifact: target.mozinfo.json
- artifact: target.common.tests.tar.gz

View File

@ -17,6 +17,7 @@ job-defaults:
toolchain:
- macosx64-geckodriver
- macosx64-node
- browsertime
platform: macosx1015-64-shippable-qr/opt
require-build:
macosx1015-64-shippable-qr/opt: build-macosx64-shippable/opt

View File

@ -14,6 +14,7 @@ job-defaults:
toolchain:
- win64-node
- win64-geckodriver
- browsertime
platform: windows10-64-shippable/opt
require-build:
windows10-64-shippable/opt: build-win64-shippable/opt

View File

@ -417,10 +417,13 @@ mozperftest:
by-platform:
linux1804-64/opt:
- linux64-node
- browsertime
macosx1015-64/opt:
- macosx64-node
- browsertime
windows11-64/opt:
- win64-node
- browsertime
when:
files-changed:
- 'testing/performance/**'

View File

@ -10,7 +10,8 @@
"package.json": "^2.0.1"
},
"devDependencies": {
"browsertime": "https://github.com/sitespeedio/browsertime/tarball/de9cbe379e64562cb5ccdcb4e4c5a9b6390547b6"
"browsertime": "https://github.com/sitespeedio/browsertime/tarball/de9cbe379e64562cb5ccdcb4e4c5a9b6390547b6",
"jimp": "0.22.12"
}
},
"node_modules/@cypress/xvfb": {
@ -90,7 +91,6 @@
"resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.22.12.tgz",
"integrity": "sha512-aeI64HD0npropd+AR76MCcvvRaa+Qck6loCOS03CkkxGHN5/r336qTM5HPUdHKMDOGzqknuVPA8+kK1t03z12g==",
"dev": true,
"optional": true,
"dependencies": {
"@jimp/utils": "^0.22.12",
"bmp-js": "^0.1.0"
@ -104,7 +104,6 @@
"resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.22.12.tgz",
"integrity": "sha512-l0RR0dOPyzMKfjUW1uebzueFEDtCOj9fN6pyTYWWOM/VS4BciXQ1VVrJs8pO3kycGYZxncRKhCoygbNr8eEZQA==",
"dev": true,
"optional": true,
"dependencies": {
"@jimp/utils": "^0.22.12",
"any-base": "^1.1.0",
@ -121,7 +120,6 @@
"resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.22.12.tgz",
"integrity": "sha512-xcmww1O/JFP2MrlGUMd3Q78S3Qu6W3mYTXYuIqFq33EorgYHV/HqymHfXy9GjiCJ7OI+7lWx6nYFOzU7M4rd1Q==",
"dev": true,
"optional": true,
"dependencies": {
"@jimp/core": "^0.22.12"
}
@ -131,7 +129,6 @@
"resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.22.12.tgz",
"integrity": "sha512-y6BFTJgch9mbor2H234VSjd9iwAhaNf/t3US5qpYIs0TSbAvM02Fbc28IaDETj9+4YB4676sz4RcN/zwhfu1pg==",
"dev": true,
"optional": true,
"dependencies": {
"@jimp/utils": "^0.22.12",
"gifwrap": "^0.10.1",
@ -146,7 +143,6 @@
"resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.22.12.tgz",
"integrity": "sha512-Rq26XC/uQWaQKyb/5lksCTCxXhtY01NJeBN+dQv5yNYedN0i7iYu+fXEoRsfaJ8xZzjoANH8sns7rVP4GE7d/Q==",
"dev": true,
"optional": true,
"dependencies": {
"@jimp/utils": "^0.22.12",
"jpeg-js": "^0.4.4"
@ -160,7 +156,6 @@
"resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.22.12.tgz",
"integrity": "sha512-xslz2ZoFZOPLY8EZ4dC29m168BtDx95D6K80TzgUi8gqT7LY6CsajWO0FAxDwHz6h0eomHMfyGX0stspBrTKnQ==",
"dev": true,
"optional": true,
"dependencies": {
"@jimp/utils": "^0.22.12"
},
@ -173,7 +168,6 @@
"resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.22.12.tgz",
"integrity": "sha512-S0vJADTuh1Q9F+cXAwFPlrKWzDj2F9t/9JAbUvaaDuivpyWuImEKXVz5PUZw2NbpuSHjwssbTpOZ8F13iJX4uw==",
"dev": true,
"optional": true,
"dependencies": {
"@jimp/utils": "^0.22.12"
},
@ -186,7 +180,6 @@
"resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.22.12.tgz",
"integrity": "sha512-SWVXx1yiuj5jZtMijqUfvVOJBwOifFn0918ou4ftoHgegc5aHWW5dZbYPjvC9fLpvz7oSlptNl2Sxr1zwofjTg==",
"dev": true,
"optional": true,
"dependencies": {
"@jimp/utils": "^0.22.12"
},
@ -199,7 +192,6 @@
"resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.22.12.tgz",
"integrity": "sha512-xImhTE5BpS8xa+mAN6j4sMRWaUgUDLoaGHhJhpC+r7SKKErYDR0WQV4yCE4gP+N0gozD0F3Ka1LUSaMXrn7ZIA==",
"dev": true,
"optional": true,
"dependencies": {
"@jimp/utils": "^0.22.12",
"tinycolor2": "^1.6.0"
@ -213,7 +205,6 @@
"resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.22.12.tgz",
"integrity": "sha512-Eo3DmfixJw3N79lWk8q/0SDYbqmKt1xSTJ69yy8XLYQj9svoBbyRpSnHR+n9hOw5pKXytHwUW6nU4u1wegHNoQ==",
"dev": true,
"optional": true,
"dependencies": {
"@jimp/utils": "^0.22.12"
},
@ -229,7 +220,6 @@
"resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.22.12.tgz",
"integrity": "sha512-z0w/1xH/v/knZkpTNx+E8a7fnasQ2wHG5ze6y5oL2dhH1UufNua8gLQXlv8/W56+4nJ1brhSd233HBJCo01BXA==",
"dev": true,
"optional": true,
"dependencies": {
"@jimp/utils": "^0.22.12"
},
@ -245,7 +235,6 @@
"resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.22.12.tgz",
"integrity": "sha512-FNuUN0OVzRCozx8XSgP9MyLGMxNHHJMFt+LJuFjn1mu3k0VQxrzqbN06yIl46TVejhyAhcq5gLzqmSCHvlcBVw==",
"dev": true,
"optional": true,
"dependencies": {
"@jimp/utils": "^0.22.12"
},
@ -258,7 +247,6 @@
"resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.22.12.tgz",
"integrity": "sha512-qpRM8JRicxfK6aPPqKZA6+GzBwUIitiHaZw0QrJ64Ygd3+AsTc7BXr+37k2x7QcyCvmKXY4haUrSIsBug4S3CA==",
"dev": true,
"optional": true,
"dependencies": {
"@jimp/utils": "^0.22.12"
},
@ -271,7 +259,6 @@
"resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.22.12.tgz",
"integrity": "sha512-jYgGdSdSKl1UUEanX8A85v4+QUm+PE8vHFwlamaKk89s+PXQe7eVE3eNeSZX4inCq63EHL7cX580dMqkoC3ZLw==",
"dev": true,
"optional": true,
"dependencies": {
"@jimp/utils": "^0.22.12"
},
@ -284,7 +271,6 @@
"resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.22.12.tgz",
"integrity": "sha512-LGuUTsFg+fOp6KBKrmLkX4LfyCy8IIsROwoUvsUPKzutSqMJnsm3JGDW2eOmWIS/jJpPaeaishjlxvczjgII+Q==",
"dev": true,
"optional": true,
"dependencies": {
"@jimp/utils": "^0.22.12"
},
@ -297,7 +283,6 @@
"resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.22.12.tgz",
"integrity": "sha512-m251Rop7GN8W0Yo/rF9LWk6kNclngyjIJs/VXHToGQ6EGveOSTSQaX2Isi9f9lCDLxt+inBIb7nlaLLxnvHX8Q==",
"dev": true,
"optional": true,
"dependencies": {
"@jimp/utils": "^0.22.12"
},
@ -311,7 +296,6 @@
"resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.22.12.tgz",
"integrity": "sha512-sBfbzoOmJ6FczfG2PquiK84NtVGeScw97JsCC3rpQv1PHVWyW+uqWFF53+n3c8Y0P2HWlUjflEla2h/vWShvhg==",
"dev": true,
"optional": true,
"dependencies": {
"@jimp/utils": "^0.22.12"
},
@ -324,7 +308,6 @@
"resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.22.12.tgz",
"integrity": "sha512-N+6rwxdB+7OCR6PYijaA/iizXXodpxOGvT/smd/lxeXsZ/empHmFFFJ/FaXcYh19Tm04dGDaXcNF/dN5nm6+xQ==",
"dev": true,
"optional": true,
"dependencies": {
"@jimp/utils": "^0.22.12"
},
@ -337,7 +320,6 @@
"resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.22.12.tgz",
"integrity": "sha512-4AWZg+DomtpUA099jRV8IEZUfn1wLv6+nem4NRJC7L/82vxzLCgXKTxvNvBcNmJjT9yS1LAAmiJGdWKXG63/NA==",
"dev": true,
"optional": true,
"dependencies": {
"@jimp/utils": "^0.22.12"
},
@ -350,7 +332,6 @@
"resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.22.12.tgz",
"integrity": "sha512-0So0rexQivnWgnhacX4cfkM2223YdExnJTTy6d06WbkfZk5alHUx8MM3yEzwoCN0ErO7oyqEWRnEkGC+As1FtA==",
"dev": true,
"optional": true,
"dependencies": {
"@jimp/utils": "^0.22.12"
},
@ -363,7 +344,6 @@
"resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.22.12.tgz",
"integrity": "sha512-c7TnhHlxm87DJeSnwr/XOLjJU/whoiKYY7r21SbuJ5nuH+7a78EW1teOaj5gEr2wYEd7QtkFqGlmyGXY/YclyQ==",
"dev": true,
"optional": true,
"dependencies": {
"@jimp/utils": "^0.22.12",
"load-bmfont": "^1.4.1"
@ -378,7 +358,6 @@
"resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.22.12.tgz",
"integrity": "sha512-3NyTPlPbTnGKDIbaBgQ3HbE6wXbAlFfxHVERmrbqAi8R3r6fQPxpCauA8UVDnieg5eo04D0T8nnnNIX//i/sXg==",
"dev": true,
"optional": true,
"dependencies": {
"@jimp/utils": "^0.22.12"
},
@ -391,7 +370,6 @@
"resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.22.12.tgz",
"integrity": "sha512-9YNEt7BPAFfTls2FGfKBVgwwLUuKqy+E8bDGGEsOqHtbuhbshVGxN2WMZaD4gh5IDWvR+emmmPPWGgaYNYt1gA==",
"dev": true,
"optional": true,
"dependencies": {
"@jimp/utils": "^0.22.12"
},
@ -407,7 +385,6 @@
"resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.22.12.tgz",
"integrity": "sha512-dghs92qM6MhHj0HrV2qAwKPMklQtjNpoYgAB94ysYpsXslhRTiPisueSIELRwZGEr0J0VUxpUY7HgJwlSIgGZw==",
"dev": true,
"optional": true,
"dependencies": {
"@jimp/utils": "^0.22.12"
},
@ -421,7 +398,6 @@
"resolved": "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.22.12.tgz",
"integrity": "sha512-FX8mTJuCt7/3zXVoeD/qHlm4YH2bVqBuWQHXSuBK054e7wFRnRnbSLPUqAwSeYP3lWqpuQzJtgiiBxV3+WWwTg==",
"dev": true,
"optional": true,
"dependencies": {
"@jimp/utils": "^0.22.12"
},
@ -436,7 +412,6 @@
"resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.22.12.tgz",
"integrity": "sha512-4x5GrQr1a/9L0paBC/MZZJjjgjxLYrqSmWd+e+QfAEPvmRxdRoQ5uKEuNgXnm9/weHQBTnQBQsOY2iFja+XGAw==",
"dev": true,
"optional": true,
"dependencies": {
"@jimp/utils": "^0.22.12"
},
@ -451,7 +426,6 @@
"resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.22.12.tgz",
"integrity": "sha512-yBJ8vQrDkBbTgQZLty9k4+KtUQdRjsIDJSPjuI21YdVeqZxYywifHl4/XWILoTZsjTUASQcGoH0TuC0N7xm3ww==",
"dev": true,
"optional": true,
"dependencies": {
"@jimp/plugin-blit": "^0.22.12",
"@jimp/plugin-blur": "^0.22.12",
@ -485,7 +459,6 @@
"resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.22.12.tgz",
"integrity": "sha512-Mrp6dr3UTn+aLK8ty/dSKELz+Otdz1v4aAXzV5q53UDD2rbB5joKVJ/ChY310B+eRzNxIovbUF1KVrUsYdE8Hg==",
"dev": true,
"optional": true,
"dependencies": {
"@jimp/utils": "^0.22.12",
"pngjs": "^6.0.0"
@ -499,7 +472,6 @@
"resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.22.12.tgz",
"integrity": "sha512-E1LtMh4RyJsoCAfAkBRVSYyZDTtLq9p9LUiiYP0vPtXyxX4BiYBUYihTLSBlCQg5nF2e4OpQg7SPrLdJ66u7jg==",
"dev": true,
"optional": true,
"dependencies": {
"utif2": "^4.0.1"
},
@ -512,7 +484,6 @@
"resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.22.12.tgz",
"integrity": "sha512-wwKYzRdElE1MBXFREvCto5s699izFHNVvALUv79GXNbsOVqlwlOxlWJ8DuyOGIXoLP4JW/m30YyuTtfUJgMRMA==",
"dev": true,
"optional": true,
"dependencies": {
"@jimp/bmp": "^0.22.12",
"@jimp/gif": "^0.22.12",
@ -530,7 +501,6 @@
"resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.22.12.tgz",
"integrity": "sha512-yJ5cWUknGnilBq97ZXOyOS0HhsHOyAyjHwYfHxGbSyMTohgQI6sVyE8KPgDwH8HHW/nMKXk8TrSwAE71zt716Q==",
"dev": true,
"optional": true,
"dependencies": {
"regenerator-runtime": "^0.13.3"
}
@ -647,15 +617,13 @@
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz",
"integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==",
"dev": true,
"optional": true
"dev": true
},
"node_modules/@types/node": {
"version": "16.9.1",
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.1.tgz",
"integrity": "sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==",
"dev": true,
"optional": true
"dev": true
},
"node_modules/abs": {
"version": "1.3.14",
@ -687,8 +655,7 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz",
"integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==",
"dev": true,
"optional": true
"dev": true
},
"node_modules/async": {
"version": "1.5.2",
@ -714,8 +681,7 @@
"type": "consulting",
"url": "https://feross.org/support"
}
],
"optional": true
]
},
"node_modules/bluebird": {
"version": "3.7.2",
@ -727,8 +693,7 @@
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz",
"integrity": "sha512-vHdS19CnY3hwiNdkaqk93DvjVLfbEcI8mys4UjuWrlX1haDmroo8o4xCzh4wD6DGV6HxRCyauwhHRqMTfERtjw==",
"dev": true,
"optional": true
"dev": true
},
"node_modules/browsertime": {
"version": "21.6.1",
@ -805,7 +770,6 @@
"url": "https://feross.org/support"
}
],
"optional": true,
"dependencies": {
"base64-js": "^1.3.1",
"ieee754": "^1.1.13"
@ -816,7 +780,6 @@
"resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz",
"integrity": "sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==",
"dev": true,
"optional": true,
"engines": {
"node": ">=0.4.0"
}
@ -1053,8 +1016,7 @@
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz",
"integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==",
"dev": true,
"optional": true
"dev": true
},
"node_modules/duplexer2": {
"version": "0.1.4",
@ -1140,8 +1102,7 @@
"version": "0.1.12",
"resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz",
"integrity": "sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==",
"dev": true,
"optional": true
"dev": true
},
"node_modules/fast-stats": {
"version": "0.0.6",
@ -1163,7 +1124,6 @@
"resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.4.tgz",
"integrity": "sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==",
"dev": true,
"optional": true,
"dependencies": {
"readable-web-to-node-stream": "^3.0.0",
"strtok3": "^6.2.4",
@ -1271,7 +1231,6 @@
"resolved": "https://registry.npmjs.org/gifwrap/-/gifwrap-0.10.1.tgz",
"integrity": "sha512-2760b1vpJHNmLzZ/ubTtNnEx5WApN/PYWJvXvgS+tL1egTTthayFYIQQNi136FLEDcN/IyEY2EcGpIITD6eYUw==",
"dev": true,
"optional": true,
"dependencies": {
"image-q": "^4.0.0",
"omggif": "^1.0.10"
@ -1323,7 +1282,6 @@
"resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz",
"integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==",
"dev": true,
"optional": true,
"dependencies": {
"min-document": "^2.19.0",
"process": "^0.11.10"
@ -1441,15 +1399,13 @@
"type": "consulting",
"url": "https://feross.org/support"
}
],
"optional": true
]
},
"node_modules/image-q": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/image-q/-/image-q-4.0.0.tgz",
"integrity": "sha512-PfJGVgIfKQJuq3s0tTDOKtztksibuUEbJQIYT3by6wctQo+Rdlh7ef4evJ5NCdxY4CfMbvFkocEwbl4BF8RlJw==",
"dev": true,
"optional": true,
"dependencies": {
"@types/node": "16.9.1"
}
@ -1516,8 +1472,7 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz",
"integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==",
"dev": true,
"optional": true
"dev": true
},
"node_modules/is-plain-obj": {
"version": "1.1.0",
@ -1579,7 +1534,6 @@
"resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz",
"integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==",
"dev": true,
"optional": true,
"dependencies": {
"node-fetch": "^2.6.1",
"whatwg-fetch": "^3.4.1"
@ -1595,7 +1549,6 @@
"resolved": "https://registry.npmjs.org/jimp/-/jimp-0.22.12.tgz",
"integrity": "sha512-R5jZaYDnfkxKJy1dwLpj/7cvyjxiclxU3F4TrI/J4j2rS0niq6YDUMoPn5hs8GDpO+OZGo7Ky057CRtWesyhfg==",
"dev": true,
"optional": true,
"dependencies": {
"@jimp/custom": "^0.22.12",
"@jimp/plugins": "^0.22.12",
@ -1607,8 +1560,7 @@
"version": "0.4.4",
"resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.4.tgz",
"integrity": "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==",
"dev": true,
"optional": true
"dev": true
},
"node_modules/jszip": {
"version": "3.10.1",
@ -1644,7 +1596,6 @@
"resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.1.tgz",
"integrity": "sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA==",
"dev": true,
"optional": true,
"dependencies": {
"buffer-equal": "0.0.1",
"mime": "^1.3.4",
@ -1732,7 +1683,6 @@
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
"dev": true,
"optional": true,
"bin": {
"mime": "cli.js"
},
@ -1757,7 +1707,6 @@
"resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz",
"integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==",
"dev": true,
"optional": true,
"dependencies": {
"dom-walk": "^0.1.0"
}
@ -1836,7 +1785,6 @@
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
"integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
"dev": true,
"optional": true,
"dependencies": {
"whatwg-url": "^5.0.0"
},
@ -1954,8 +1902,7 @@
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.10.tgz",
"integrity": "sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==",
"dev": true,
"optional": true
"dev": true
},
"node_modules/one-by-one": {
"version": "3.2.8",
@ -2062,22 +2009,19 @@
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz",
"integrity": "sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA==",
"dev": true,
"optional": true
"dev": true
},
"node_modules/parse-bmfont-binary": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz",
"integrity": "sha512-GxmsRea0wdGdYthjuUeWTMWPqm2+FAd4GI8vCvhgJsFnoGhTrLhXDDupwTo7rXVAgaLIGoVHDZS9p/5XbSqeWA==",
"dev": true,
"optional": true
"dev": true
},
"node_modules/parse-bmfont-xml": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/parse-bmfont-xml/-/parse-bmfont-xml-1.1.6.tgz",
"integrity": "sha512-0cEliVMZEhrFDwMh4SxIyVJpqYoOWDJ9P895tFuS+XuNzI5UBmBk5U5O4KuJdTnZpSBI4LFA2+ZiJaiwfSwlMA==",
"dev": true,
"optional": true,
"dependencies": {
"xml-parse-from-string": "^1.0.0",
"xml2js": "^0.5.0"
@ -2087,8 +2031,7 @@
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz",
"integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==",
"dev": true,
"optional": true
"dev": true
},
"node_modules/parse-json": {
"version": "2.2.0",
@ -2143,7 +2086,6 @@
"resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-4.1.0.tgz",
"integrity": "sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==",
"dev": true,
"optional": true,
"engines": {
"node": ">=8"
},
@ -2157,8 +2099,7 @@
"resolved": "https://registry.npmjs.org/phin/-/phin-2.9.3.tgz",
"integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==",
"deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.",
"dev": true,
"optional": true
"dev": true
},
"node_modules/pinkie": {
"version": "2.0.4",
@ -2184,7 +2125,6 @@
"resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz",
"integrity": "sha512-J8B6xqiO37sU/gkcMglv6h5Jbd9xNER7aHzpfRdNmV4IbQBzBpe4l9XmbG+xPF/znacgu2jfEw+wHffaq/YkXA==",
"dev": true,
"optional": true,
"dependencies": {
"pngjs": "^3.0.0"
},
@ -2197,7 +2137,6 @@
"resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz",
"integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==",
"dev": true,
"optional": true,
"engines": {
"node": ">=4.0.0"
}
@ -2207,7 +2146,6 @@
"resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz",
"integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==",
"dev": true,
"optional": true,
"engines": {
"node": ">=12.13.0"
}
@ -2225,7 +2163,6 @@
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
"integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
"dev": true,
"optional": true,
"engines": {
"node": ">= 0.6.0"
}
@ -2323,7 +2260,6 @@
"resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz",
"integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==",
"dev": true,
"optional": true,
"dependencies": {
"readable-stream": "^3.6.0"
},
@ -2340,7 +2276,6 @@
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"optional": true,
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
@ -2354,8 +2289,7 @@
"version": "0.13.11",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
"integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==",
"dev": true,
"optional": true
"dev": true
},
"node_modules/registry-auth-token": {
"version": "3.4.0",
@ -2417,8 +2351,7 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz",
"integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==",
"dev": true,
"optional": true
"dev": true
},
"node_modules/selenium-webdriver": {
"version": "4.18.1",
@ -2444,9 +2377,9 @@
}
},
"node_modules/selenium-webdriver/node_modules/ws": {
"version": "8.16.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz",
"integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==",
"version": "8.17.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.17.0.tgz",
"integrity": "sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==",
"dev": true,
"engines": {
"node": ">=10.0.0"
@ -2654,7 +2587,6 @@
"resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.3.0.tgz",
"integrity": "sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==",
"dev": true,
"optional": true,
"dependencies": {
"@tokenizer/token": "^0.3.0",
"peek-readable": "^4.1.0"
@ -2728,15 +2660,13 @@
"version": "1.7.1",
"resolved": "https://registry.npmjs.org/timm/-/timm-1.7.1.tgz",
"integrity": "sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==",
"dev": true,
"optional": true
"dev": true
},
"node_modules/tinycolor2": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz",
"integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==",
"dev": true,
"optional": true
"dev": true
},
"node_modules/tmp": {
"version": "0.0.28",
@ -2754,7 +2684,6 @@
"resolved": "https://registry.npmjs.org/token-types/-/token-types-4.2.1.tgz",
"integrity": "sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==",
"dev": true,
"optional": true,
"dependencies": {
"@tokenizer/token": "^0.3.0",
"ieee754": "^1.2.1"
@ -2786,8 +2715,7 @@
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
"dev": true,
"optional": true
"dev": true
},
"node_modules/typpy": {
"version": "2.3.13",
@ -2867,7 +2795,6 @@
"resolved": "https://registry.npmjs.org/utif2/-/utif2-4.1.0.tgz",
"integrity": "sha512-+oknB9FHrJ7oW7A2WZYajOcv4FcDR4CfoGB0dPNfxbi4GO05RRnFmt5oa23+9w32EanrYcSJWspUiJkLMs+37w==",
"dev": true,
"optional": true,
"dependencies": {
"pako": "^1.0.11"
}
@ -2904,22 +2831,19 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
"dev": true,
"optional": true
"dev": true
},
"node_modules/whatwg-fetch": {
"version": "3.6.20",
"resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz",
"integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==",
"dev": true,
"optional": true
"dev": true
},
"node_modules/whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
"dev": true,
"optional": true,
"dependencies": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
@ -3019,7 +2943,6 @@
"resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz",
"integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==",
"dev": true,
"optional": true,
"dependencies": {
"global": "~4.4.0",
"is-function": "^1.0.1",
@ -3031,15 +2954,13 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz",
"integrity": "sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g==",
"dev": true,
"optional": true
"dev": true
},
"node_modules/xml2js": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz",
"integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==",
"dev": true,
"optional": true,
"dependencies": {
"sax": ">=0.6.0",
"xmlbuilder": "~11.0.0"
@ -3053,7 +2974,6 @@
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
"integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
"dev": true,
"optional": true,
"engines": {
"node": ">=4.0"
}
@ -3063,7 +2983,6 @@
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
"dev": true,
"optional": true,
"engines": {
"node": ">=0.4"
}

View File

@ -7,7 +7,8 @@
"package.json": "^2.0.1"
},
"devDependencies": {
"browsertime": "https://github.com/sitespeedio/browsertime/tarball/de9cbe379e64562cb5ccdcb4e4c5a9b6390547b6"
"browsertime": "https://github.com/sitespeedio/browsertime/tarball/de9cbe379e64562cb5ccdcb4e4c5a9b6390547b6",
"jimp": "0.22.12"
},
"notes(private)": "We don't want to publish to npm, so this is marked as private",
"private": true