[Backport 5.2] remove lighthouse (frontend auditing for perf, etc.) (#57406) (#59740)

remove lighthouse (frontend auditing for perf, etc.) (#57406)

We were not using [Lighthouse](https://developer.chrome.com/docs/lighthouse/overview/) reports, but they were running (asynchronously) on each build, which caused occasional build flakes and added a moderate amount of complexity to our CI.

The reports do have value in theory, but we were not actually consulting the reports.

(cherry picked from commit dc7368e7a0)

Co-authored-by: Quinn Slack <quinn@slack.org>
This commit is contained in:
Varun Gandhi 2024-01-23 00:13:36 +08:00 committed by GitHub
parent 9ea3226dfc
commit ae4ff3a27a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 2 additions and 683 deletions

View File

@ -11,15 +11,3 @@ steps:
- pnpm nyc report -r json
- bash <(curl -s https://codecov.io/bash) -c -F typescript -F storybook
label: ':storybook::codecov: Storybook coverage'
- command:
- dev/ci/pnpm-build.sh client/web
- pnpm lhci autorun
label: ':lighthouse: Lighthouse'
retry:
automatic:
limit: 1
env:
NODE_ENV: production
WEBPACK_SERVE_INDEX: 'true'
SOURCEGRAPH_API_URL: https://sourcegraph.com
SOURCEGRAPHDOTCOM_MODE: 'true'

View File

@ -1,37 +0,0 @@
#!/usr/bin/env bash
# This script will run Lighthouse audits against a specified URL
# and generate a text report suitable for uploading to Slack.
# Friendly name to associate with the Lighthouse audit
NAME=$1
# URL to run Lighthouse against
URL=$2
# File to output results to
OUTPUT_FILE=$3
pnpm lhci collect --url="$URL" --no-lighthouserc --settings.preset="desktop" --numberOfRuns=10
# LHCI doesn't an provide a way to easily expose the temporary storage URL, we have to extract it ourselves
REPORT_URL=$(pnpm lhci upload --target=temporary-public-storage | grep -o "https:\/\/storage.googleapis.*.html\+")
# Primary result source, we'll use this to extract the raw audit data.
pnpm lhci upload --target=filesystem
# Lighthouse runs multiple times and takes the median to account for varying network latency
REPRESENTATIVE_RUN=$(jq -r '.[] | select(.isRepresentativeRun==true)' manifest.json)
# Extract the Lighthouse score for each relevant category
PERFORMANCE=$(jq -r '.summary.performance' <<<"$REPRESENTATIVE_RUN")
ACCESSIBILITY=$(jq -r '.summary.accessibility' <<<"$REPRESENTATIVE_RUN")
BEST_PRACTICES=$(jq -r '.summary."best-practices"' <<<"$REPRESENTATIVE_RUN")
SEO=$(jq -r '.summary.seo' <<<"$REPRESENTATIVE_RUN")
SUMMARY="
$NAME: <$REPORT_URL|Report>
Performance: $PERFORMANCE/1
Accessibility: $ACCESSIBILITY/1
Best practices: $BEST_PRACTICES/1
SEO: $SEO/1\n
"
echo -e "$SUMMARY" >>"$OUTPUT_FILE"

View File

@ -470,19 +470,6 @@ If, for whatever reason, we have to ignore some elements from an accessibility a
**Tip:** Don't forget you'll need to rebuild the code if you want to see the tests pass locally after making this change.
### Lighthouse tests
We run Lighthouse performance tests through [Lighthouse CI](https://github.com/GoogleChrome/lighthouse-ci). These tests are relatively hands-off and run a series of Lighthouse audits against a deployed server. The flow for running these tests is:
#### Running the tests locally
1. Create a production bundle that can be served locally. `NODE_ENV=production WEBPACK_SERVE_INDEX=true pnpm --filter @sourcegraph/web build`
2. Run the Lighthouse CI tests. `pnpm test-lighthouse`. This will automatically serve the production bundle and start running audits through Puppeteer. Note: It's possible to provide different URLs or config through editing `lighthouserc.js` or by providing CLI flags to this command.
#### Running the tests in CI
The CI flow is quite similar to the local flow, the main difference is that we provide some additional flags to Lighthouse. We provide a specific URL for each parallel step, and we add some additional config to support reporting results back to GitHub PRs as status checks.
### Bundlesize
We measure our generated production build through [Bundlesize](https://github.com/siddharthkp/bundlesize2). This is a tool which takes a series of code bundles and measures their size against a specified baseline. It will also compare against the `main` baseline and report the difference.

View File

@ -1,44 +0,0 @@
// @ts-check
const config = {
ci: {
collect: {
url: [
'http://localhost:3080',
'http://localhost:3080/search?q=repo:sourcegraph/lighthouse-ci-test-repository+file:index.js',
'http://localhost:3080/github.com/sourcegraph/lighthouse-ci-test-repository',
'http://localhost:3080/github.com/sourcegraph/lighthouse-ci-test-repository/-/blob/index.js',
],
startServerCommand: 'pnpm --filter @sourcegraph/web serve:prod',
settings: {
preset: 'desktop',
chromeFlags: '--no-sandbox --disable-dev-shm-usage',
// We skip a series of audits that are not currently supported by the local server
skipAudits: [
// SEO: Normally enabled dynamically for different paths in the production server
'meta-description',
// Best practices: HTTPS currently disabled in local server: https://github.com/sourcegraph/sourcegraph/issues/21869
'is-on-https',
'uses-http2',
// SEO: Robots.txt file isn't served locally
'robots-txt',
],
},
},
upload: {
target: 'temporary-public-storage',
},
assert: {
assertions: {
// The following assertions should remain in warn mode as Lighthouse is not setup to block CI.
// Future issue to address this: https://github.com/sourcegraph/sourcegraph/issues/26347
'categories:accessibility': ['warn', { minScore: 1 }],
'categories:best-practices': ['warn', { minScore: 1 }],
'categories:seo': ['warn', { minScore: 1 }],
'categories:performance': ['warn', { minScore: 0.75 }],
},
},
},
}
module.exports = config

View File

@ -37,7 +37,6 @@
"_cover-integration": "nyc --hook-require=false --silent pnpm _test-integration",
"cover-integration": "nyc --hook-require=false --silent pnpm test-integration",
"cover-browser-integration": "nyc --hook-require=false --silent pnpm --filter @sourcegraph/browser test-integration",
"test-lighthouse": "SOURCEGRAPH_API_URL=https://sourcegraph.com lhci collect && lhci open",
"test-e2e": "TS_NODE_PROJECT=client/web/src/end-to-end/tsconfig.json mocha ./client/web/src/end-to-end/**/*.test.ts",
"cover-e2e": "nyc --hook-require=false --silent pnpm test-e2e",
"test-regression": "pnpm --filter @sourcegraph/web run test:regression",
@ -108,7 +107,6 @@
"@ianvs/prettier-plugin-sort-imports": "^3.7.1",
"@istanbuljs/nyc-config-typescript": "^1.0.1",
"@jest/types": "^28.1.0",
"@lhci/cli": "0.8.1",
"@mermaid-js/mermaid-cli": "^8.13.10",
"@octokit/rest": "^16.36.0",
"@percy/cli": "^1.24.0",

View File

@ -528,9 +528,6 @@ importers:
'@jest/types':
specifier: ^28.1.0
version: 28.1.3
'@lhci/cli':
specifier: 0.8.1
version: 0.8.1
'@mermaid-js/mermaid-cli':
specifier: ^8.13.10
version: 8.14.0
@ -6919,47 +6916,6 @@ packages:
'@lezer/highlight': 1.0.0
dev: false
/@lhci/cli@0.8.1:
resolution: {integrity: sha512-7AmSFBC9vI+DcxVVymGlIuD42zE/XVHfHH7bzdSHNvB2dE4N58tt5Sh/J3AZcx60kyVhACUXxdR0y1qSQnqonQ==}
hasBin: true
dependencies:
'@lhci/utils': 0.8.1
chrome-launcher: 0.13.4
compression: 1.7.4
debug: 4.3.4
express: 4.18.2
inquirer: 6.5.2
isomorphic-fetch: 3.0.0
lighthouse: 8.0.0
lighthouse-logger: 1.2.0
open: 7.3.0
tmp: 0.1.0
update-notifier: 3.0.1
uuid: 8.3.2
yargs: 15.4.1
yargs-parser: 13.1.2
transitivePeerDependencies:
- bufferutil
- encoding
- supports-color
- utf-8-validate
dev: true
/@lhci/utils@0.8.1:
resolution: {integrity: sha512-o/F/eiO2sRkSEbuFBcqGGQKTgbR5RENXvZ50nvEtC0XjWa+jSsxeJOlyOQZ2G3PDh5IzYlQFkSJHA5BUuG2vag==}
dependencies:
debug: 4.3.4
isomorphic-fetch: 3.0.0
js-yaml: 3.14.1
lighthouse: 8.0.0
tree-kill: 1.2.2
transitivePeerDependencies:
- bufferutil
- encoding
- supports-color
- utf-8-validate
dev: true
/@manypkg/find-root@1.1.0:
resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==}
dependencies:
@ -14515,11 +14471,6 @@ packages:
engines: {node: '>=6'}
dev: true
/ansi-escapes@3.2.0:
resolution: {integrity: sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==}
engines: {node: '>=4'}
dev: true
/ansi-escapes@4.3.2:
resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
engines: {node: '>=8'}
@ -15028,11 +14979,6 @@ packages:
resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==}
engines: {node: '>= 0.4'}
/axe-core@4.2.1:
resolution: {integrity: sha512-evY7DN8qSIbsW2H/TWQ1bX3sXN1d4MNb5Vb4n7BzPuCwRHdkZ1H2eNLuSh73EoQqkGKUtju2G2HCcjCfhvZIAA==}
engines: {node: '>=4'}
dev: true
/axe-core@4.4.2:
resolution: {integrity: sha512-LVAaGp/wkkgYJcjmHsoKx4juT1aQvJyPcW09MLCjVTh3V2cc6PnyempiLMNH5iMdfIX/zdbjUx2KDjMLCTdPeA==}
engines: {node: '>=12'}
@ -15697,34 +15643,6 @@ packages:
resolution: {integrity: sha512-2ld76tuLBNFekRgmJfT2+3j5MIrP6bFict8WAIT3beq+srz1gcKNAdNKMqHqauQt63NmAa88HfP1/Ypa9Er3HA==}
dev: true
/boxen@3.2.0:
resolution: {integrity: sha512-cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A==}
engines: {node: '>=6'}
dependencies:
ansi-align: 3.0.1
camelcase: 5.3.1
chalk: 2.4.2
cli-boxes: 2.2.1
string-width: 3.1.0
term-size: 1.2.0
type-fest: 0.3.1
widest-line: 2.0.1
dev: true
/boxen@4.2.0:
resolution: {integrity: sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==}
engines: {node: '>=8'}
dependencies:
ansi-align: 3.0.1
camelcase: 5.3.1
chalk: 3.0.0
cli-boxes: 2.2.1
string-width: 4.2.3
term-size: 2.2.0
type-fest: 0.8.1
widest-line: 3.1.0
dev: true
/boxen@5.1.2:
resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==}
engines: {node: '>=10'}
@ -16360,31 +16278,6 @@ packages:
- supports-color
dev: true
/chrome-launcher@0.13.4:
resolution: {integrity: sha512-nnzXiDbGKjDSK6t2I+35OAPBy5Pw/39bgkb/ZAFwMhwJbdYBp6aH+vW28ZgtjdU890Q7D+3wN/tB8N66q5Gi2A==}
dependencies:
'@types/node': 18.17.15
escape-string-regexp: 1.0.5
is-wsl: 2.2.0
lighthouse-logger: 1.2.0
mkdirp: 0.5.6
rimraf: 3.0.2
transitivePeerDependencies:
- supports-color
dev: true
/chrome-launcher@0.14.0:
resolution: {integrity: sha512-W//HpflaW6qBGrmuskup7g+XJZN6w03ko9QSIe5CtcTal2u0up5SeReK3Ll1Why4Ey8dPkv8XSodZyHPnGbVHQ==}
engines: {node: '>=12.13.0'}
dependencies:
'@types/node': 18.17.15
escape-string-regexp: 4.0.0
is-wsl: 2.2.0
lighthouse-logger: 1.2.0
transitivePeerDependencies:
- supports-color
dev: true
/chrome-trace-event@1.0.2:
resolution: {integrity: sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==}
engines: {node: '>=6.0'}
@ -16493,13 +16386,6 @@ packages:
restore-cursor: 1.0.1
dev: true
/cli-cursor@2.1.0:
resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==}
engines: {node: '>=4'}
dependencies:
restore-cursor: 2.0.0
dev: true
/cli-cursor@3.1.0:
resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
engines: {node: '>=8'}
@ -16532,10 +16418,6 @@ packages:
string-width: 4.2.3
dev: true
/cli-width@2.2.0:
resolution: {integrity: sha512-EJLbKSuvHTrVRynOXCYFTbQKZOFXWNe3/6DN1yrEH3TuuZT1x4dMQnCHnfCrBUUiGjO63enEIfaB17VaRl2d4A==}
dev: true
/cli-width@3.0.0:
resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==}
engines: {node: '>= 10'}
@ -16913,30 +16795,6 @@ packages:
yargs: 17.7.2
dev: true
/configstore@4.0.0:
resolution: {integrity: sha512-CmquAXFBocrzaSM8mtGPMM/HiWmyIpr4CcJl/rgY2uCObZ/S7cKU0silxslqJejl+t/T9HS8E0PUNQD81JGUEQ==}
engines: {node: '>=6'}
dependencies:
dot-prop: 4.2.1
graceful-fs: 4.2.11
make-dir: 1.3.0
unique-string: 1.0.0
write-file-atomic: 2.4.3
xdg-basedir: 3.0.0
dev: true
/configstore@5.0.1:
resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==}
engines: {node: '>=8'}
dependencies:
dot-prop: 5.2.0
graceful-fs: 4.2.11
make-dir: 3.1.0
unique-string: 2.0.0
write-file-atomic: 3.0.3
xdg-basedir: 4.0.0
dev: true
/connect-history-api-fallback@1.6.0:
resolution: {integrity: sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==}
engines: {node: '>=0.8'}
@ -16991,11 +16849,6 @@ packages:
/cookie-signature@1.0.6:
resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
/cookie@0.3.1:
resolution: {integrity: sha512-+IJOX0OqlHCszo2mBUq+SrEbCj6w7Kpffqx60zYbPTFaO4+yYgRjHwcZNpWvaTylDHaV7PPmBHzSecZiMhtPgw==}
engines: {node: '>= 0.6'}
dev: true
/cookie@0.4.2:
resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==}
engines: {node: '>= 0.6'}
@ -17217,14 +17070,6 @@ packages:
- encoding
dev: true
/cross-spawn@5.1.0:
resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==}
dependencies:
lru-cache: 4.1.5
shebang-command: 1.2.0
which: 1.3.1
dev: true
/cross-spawn@6.0.5:
resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==}
engines: {node: '>=4.8'}
@ -17246,20 +17091,11 @@ packages:
/crypt@0.0.2:
resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==}
/crypto-random-string@1.0.0:
resolution: {integrity: sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg==}
engines: {node: '>=4'}
dev: true
/crypto-random-string@2.0.0:
resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==}
engines: {node: '>=8'}
dev: true
/csp_evaluator@1.1.0:
resolution: {integrity: sha512-TcB+ZH9wZBG314jAUpKHPl1oYbRJV+nAT2YwZ9y4fmUN0FkEJa8e/hKZoOgzLYp1Z/CJdFhbhhGIGh0XG8W54Q==}
dev: true
/css-color-names@0.0.4:
resolution: {integrity: sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q==}
dev: true
@ -17558,12 +17394,6 @@ packages:
resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==}
dev: false
/cssstyle@1.2.1:
resolution: {integrity: sha512-7DYm8qe+gPx/h77QlCyFmX80+fGaE/6A/Ekl0zaszYOubvySO2saYFdQ78P29D0UsULxFKCetDGNaNRUdSF+2A==}
dependencies:
cssom: 0.3.8
dev: true
/cssstyle@2.3.0:
resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==}
engines: {node: '>=8'}
@ -18731,13 +18561,6 @@ packages:
no-case: 3.0.4
tslib: 2.1.0
/dot-prop@4.2.1:
resolution: {integrity: sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==}
engines: {node: '>=4'}
dependencies:
is-obj: 1.0.1
dev: true
/dot-prop@5.2.0:
resolution: {integrity: sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==}
engines: {node: '>=8'}
@ -19201,11 +19024,6 @@ packages:
resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
engines: {node: '>=6'}
/escape-goat@2.1.1:
resolution: {integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==}
engines: {node: '>=8'}
dev: true
/escape-html@1.0.3:
resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
@ -19873,19 +19691,6 @@ packages:
resolution: {integrity: sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg==}
dev: true
/execa@0.7.0:
resolution: {integrity: sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==}
engines: {node: '>=4'}
dependencies:
cross-spawn: 5.1.0
get-stream: 3.0.0
is-stream: 1.1.0
npm-run-path: 2.0.2
p-finally: 1.0.0
signal-exit: 3.0.7
strip-eof: 1.0.0
dev: true
/execa@1.0.0:
resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==}
engines: {node: '>=6'}
@ -21096,20 +20901,6 @@ packages:
once: 1.4.0
path-is-absolute: 1.0.1
/global-dirs@0.1.1:
resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==}
engines: {node: '>=4'}
dependencies:
ini: 1.3.8
dev: true
/global-dirs@2.0.1:
resolution: {integrity: sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A==}
engines: {node: '>=8'}
dependencies:
ini: 1.3.8
dev: true
/global-modules@1.0.0:
resolution: {integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==}
engines: {node: '>=0.10.0'}
@ -21717,11 +21508,6 @@ packages:
is-number: 3.0.0
kind-of: 4.0.0
/has-yarn@2.1.0:
resolution: {integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==}
engines: {node: '>=8'}
dev: true
/has@1.0.3:
resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
engines: {node: '>= 0.4.0'}
@ -22059,10 +21845,6 @@ packages:
- supports-color
dev: true
/http-link-header@0.8.0:
resolution: {integrity: sha512-qsh/wKe1Mk1vtYEFr+LpQBFWTO1gxZQBdii2D0Umj+IUQ23r5sT088Rhpq4XzpSyIpaX7vwjB8Rrtx8u9JTg+Q==}
dev: true
/http-parser-js@0.5.3:
resolution: {integrity: sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==}
@ -22271,10 +22053,6 @@ packages:
queue: 6.0.2
dev: true
/image-ssim@0.2.0:
resolution: {integrity: sha512-W7+sO6/yhxy83L0G7xR8YAc5Z5QFtYEXXRV6EaE8tuYBZJnA3gVgp3q7X7muhLZVodeb9UfvjSbwt9VJwjIYAg==}
dev: true
/immediate@3.0.6:
resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==}
dev: true
@ -22303,11 +22081,6 @@ packages:
engines: {node: '>=12.2'}
dev: true
/import-lazy@2.1.0:
resolution: {integrity: sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==}
engines: {node: '>=4'}
dev: true
/import-lazy@4.0.0:
resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==}
engines: {node: '>=8'}
@ -22372,25 +22145,6 @@ packages:
resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==}
dev: true
/inquirer@6.5.2:
resolution: {integrity: sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==}
engines: {node: '>=6.0.0'}
dependencies:
ansi-escapes: 3.2.0
chalk: 2.4.2
cli-cursor: 2.1.0
cli-width: 2.2.0
external-editor: 3.0.3
figures: 2.0.0
lodash: 4.17.21
mute-stream: 0.0.7
run-async: 2.4.1
rxjs: 6.6.7
string-width: 2.1.1
strip-ansi: 5.2.0
through: 2.3.8
dev: true
/inquirer@8.2.5:
resolution: {integrity: sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==}
engines: {node: '>=12.0.0'}
@ -22436,17 +22190,6 @@ packages:
resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==}
engines: {node: '>=10.13.0'}
/intl-messageformat-parser@1.8.1:
resolution: {integrity: sha512-IMSCKVf0USrM/959vj3xac7s8f87sc+80Y/ipBzdKy4ifBv5Gsj2tZ41EAaURVg01QU71fYr77uA8Meh6kELbg==}
deprecated: We've written a new parser that's 6x faster and is backwards compatible. Please use @formatjs/icu-messageformat-parser
dev: true
/intl-messageformat@4.4.0:
resolution: {integrity: sha512-z+Bj2rS3LZSYU4+sNitdHrwnBhr0wO80ZJSW8EzKDBowwUe3Q/UsvgCGjrwa+HPzoGCLEb9HAjfJgo4j2Sac8w==}
dependencies:
intl-messageformat-parser: 1.8.1
dev: true
/invariant@2.2.4:
resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==}
dependencies:
@ -22751,22 +22494,6 @@ packages:
is-docker: 3.0.0
dev: true
/is-installed-globally@0.1.0:
resolution: {integrity: sha512-ERNhMg+i/XgDwPIPF3u24qpajVreaiSuvpb1Uu0jugw7KKcxGyCX8cgp8P5fwTmAuXku6beDHHECdKArjlg7tw==}
engines: {node: '>=4'}
dependencies:
global-dirs: 0.1.1
is-path-inside: 1.0.1
dev: true
/is-installed-globally@0.3.1:
resolution: {integrity: sha512-oiEcGoQbGc+3/iijAijrK2qFpkNoNjsHOm/5V5iaeydyrS/hnwaRCEgH5cpW0P3T1lSjV5piB7S5b5lEugNLhg==}
engines: {node: '>=8'}
dependencies:
global-dirs: 2.0.1
is-path-inside: 3.0.3
dev: true
/is-interactive@1.0.0:
resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==}
engines: {node: '>=8'}
@ -22802,16 +22529,6 @@ packages:
resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==}
dev: true
/is-npm@3.0.0:
resolution: {integrity: sha512-wsigDr1Kkschp2opC4G3yA6r9EgVA6NjRpWzIi9axXqeIaAATPRJc4uLujXe3Nd9uO8KoDyA4MD6aZSeXTADhA==}
engines: {node: '>=8'}
dev: true
/is-npm@4.0.0:
resolution: {integrity: sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==}
engines: {node: '>=8'}
dev: true
/is-number-object@1.0.4:
resolution: {integrity: sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==}
engines: {node: '>= 0.4'}
@ -22831,11 +22548,6 @@ packages:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'}
/is-obj@1.0.1:
resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==}
engines: {node: '>=0.10.0'}
dev: true
/is-obj@2.0.0:
resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==}
engines: {node: '>=8'}
@ -22850,13 +22562,6 @@ packages:
engines: {node: '>=6'}
dev: true
/is-path-inside@1.0.1:
resolution: {integrity: sha512-qhsCR/Esx4U4hg/9I19OVUAJkGWtjRYHMRgUMZE2TDdj+Ag+kttZanLupfddNyglzz50cUlmWzUaI37GDfNx/g==}
engines: {node: '>=0.10.0'}
dependencies:
path-is-inside: 1.0.2
dev: true
/is-path-inside@3.0.3:
resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
engines: {node: '>=8'}
@ -23046,6 +22751,7 @@ packages:
/is-wsl@1.1.0:
resolution: {integrity: sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==}
engines: {node: '>=4'}
dev: false
/is-wsl@2.2.0:
resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
@ -23053,10 +22759,6 @@ packages:
dependencies:
is-docker: 2.2.1
/is-yarn-global@0.3.0:
resolution: {integrity: sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==}
dev: true
/is@3.3.0:
resolution: {integrity: sha512-nW24QBoPcFGGHJGUwnfpI7Yc5CdqWNdsyHQszVE/z2pKHXzh7FZ5GWhJqSyaQ9wMkQnsTx+kAI8bHlCX4tKdbg==}
dev: true
@ -24070,10 +23772,6 @@ packages:
dependencies:
'@discoveryjs/natural-compare': 1.1.0
/jpeg-js@0.4.4:
resolution: {integrity: sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==}
dev: true
/jquery@2.2.4:
resolution: {integrity: sha512-lBHj60ezci2u1v2FqnZIraShGgEXq35qCzMv4lITyHGppTnA13rwR0MgwyNJh9TnDs3aXUvd1xjAotfraMHX/Q==}
dev: true
@ -24091,10 +23789,6 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
/js-library-detector@6.4.0:
resolution: {integrity: sha512-NB2sYpmgqiTd7PNNhgp6bnEZmjvTUdAbzxABvYXWLpTL/t158T6mPnD8uYNd0FDP73YWyMrTYDvPxqdvCTbv2g==}
dev: true
/js-sdsl@4.4.0:
resolution: {integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==}
@ -24691,60 +24385,6 @@ packages:
- supports-color
dev: true
/lighthouse-logger@1.2.0:
resolution: {integrity: sha512-wzUvdIeJZhRsG6gpZfmSCfysaxNEr43i+QT+Hie94wvHDKFLi4n7C2GqZ4sTC+PH5b5iktmXJvU87rWvhP3lHw==}
dependencies:
debug: 2.6.9
marky: 1.2.2
transitivePeerDependencies:
- supports-color
dev: true
/lighthouse-stack-packs@1.5.0:
resolution: {integrity: sha512-ntVOqFsrrTQYrNf+W+sNE9GjddW+ab5QN0WrrCikjMFsUvEQ28CvT0SXcHPZXFtcsb1lMSuVaNCmEuj7oXtYGQ==}
dev: true
/lighthouse@8.0.0:
resolution: {integrity: sha512-jjniPn8qIjczsKKR/f91hBpMFsGgrBvwmH/KoQ/0qJlXpymsrRf06Y6Vb8xJXJ1aaR0HiGjeVgg4RlwT5pqXrg==}
engines: {node: '>=12.13.0'}
hasBin: true
dependencies:
axe-core: 4.2.1
chrome-launcher: 0.14.0
configstore: 5.0.1
csp_evaluator: 1.1.0
cssstyle: 1.2.1
enquirer: 2.3.6
http-link-header: 0.8.0
intl-messageformat: 4.4.0
jpeg-js: 0.4.4
js-library-detector: 6.4.0
lighthouse-logger: 1.2.0
lighthouse-stack-packs: 1.5.0
lodash.clonedeep: 4.5.0
lodash.get: 4.4.2
lodash.isequal: 4.5.0
lodash.set: 4.3.2
lookup-closest-locale: 6.0.4
metaviewport-parser: 0.2.0
open: 6.4.0
parse-cache-control: 1.0.1
ps-list: 7.2.0
raven: 2.6.4
robots-parser: 2.3.0
semver: 5.7.1
speedline-core: 1.4.3
third-party-web: 0.12.5
update-notifier: 4.1.3
ws: 3.3.2
yargs: 16.2.0
yargs-parser: 20.2.4
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
dev: true
/lilconfig@2.0.6:
resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==}
engines: {node: '>=10'}
@ -25082,10 +24722,6 @@ packages:
yargs: 15.4.1
dev: false
/lookup-closest-locale@6.0.4:
resolution: {integrity: sha512-bWoFbSGe6f1GvMGzj17LrwMX4FhDXDwZyH04ySVCPbtOJADcSRguZNKewoJ3Ful/MOxD/wRHvFPadk/kYZUbuQ==}
dev: true
/loose-envify@1.4.0:
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
hasBin: true
@ -25138,13 +24774,6 @@ packages:
engines: {node: 14 || >=16.14}
dev: true
/lru-cache@4.1.5:
resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==}
dependencies:
pseudomap: 1.0.2
yallist: 2.1.2
dev: true
/lru-cache@5.1.1:
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
dependencies:
@ -25299,10 +24928,6 @@ packages:
hasBin: true
dev: false
/marky@1.2.2:
resolution: {integrity: sha512-k1dB2HNeaNyORco8ulVEhctyEGkKHb2YWAhDsxeFlW2nROIirsctBYzKwwS3Vza+sKTS1zO4Z+n9/+9WbGLIxQ==}
dev: true
/matchdep@2.0.0:
resolution: {integrity: sha512-LFgVbaHIHMqCRuCZyfCtUOq9/Lnzhi7Z0KFUE2fhD54+JN2jLh3hC02RLkqauJ3U4soU6H1J3tfj/Byk7GoEjA==}
engines: {node: '>= 0.10.0'}
@ -25515,10 +25140,6 @@ packages:
resolution: {integrity: sha512-bDET4Uvtw8p92Knys7X/2wj5QlX9OfuPxA0EVsYhkKYbqiE6tHdFR6k7NPShRx/ZAR/hVh4bo355iwHMSbE14A==}
dev: true
/metaviewport-parser@0.2.0:
resolution: {integrity: sha512-qL5NtY18LGs7lvZCkj3ep2H4Pes9rIiSLZRUyfDdvVw7pWFA0eLwmqaIxApD74RGvUrNEtk9e5Wt1rT+VlCvGw==}
dev: true
/methods@1.1.2:
resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
engines: {node: '>= 0.6'}
@ -26038,11 +25659,6 @@ packages:
hasBin: true
dev: true
/mimic-fn@1.2.0:
resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==}
engines: {node: '>=4'}
dev: true
/mimic-fn@2.1.0:
resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
engines: {node: '>=6'}
@ -26392,10 +26008,6 @@ packages:
engines: {node: '>= 0.10'}
dev: true
/mute-stream@0.0.7:
resolution: {integrity: sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==}
dev: true
/mute-stream@0.0.8:
resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==}
dev: true
@ -26977,13 +26589,6 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
/onetime@2.0.1:
resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==}
engines: {node: '>=4'}
dependencies:
mimic-fn: 1.2.0
dev: true
/onetime@5.1.2:
resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
engines: {node: '>=6'}
@ -27006,6 +26611,7 @@ packages:
engines: {node: '>=8'}
dependencies:
is-wsl: 1.1.0
dev: false
/open@7.3.0:
resolution: {integrity: sha512-mgLwQIx2F/ye9SmbrUkurZCnkoXyXyu9EbHtJZrICjVAJfyMArdHp3KkixGdZx1ZHFPNIwl0DDM1dFFqXbTLZw==}
@ -27362,10 +26968,6 @@ packages:
dependencies:
callsites: 3.1.0
/parse-cache-control@1.0.1:
resolution: {integrity: sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==}
dev: true
/parse-entities@2.0.0:
resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==}
dependencies:
@ -28705,15 +28307,6 @@ packages:
resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==}
dev: true
/ps-list@7.2.0:
resolution: {integrity: sha512-v4Bl6I3f2kJfr5o80ShABNHAokIgY+wFDTQfE+X3zWYgSGQOCBeYptLZUpoOALBqO5EawmDN/tjTldJesd0ujQ==}
engines: {node: '>=10'}
dev: true
/pseudomap@1.0.2:
resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==}
dev: true
/psl@1.8.0:
resolution: {integrity: sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==}
@ -28750,13 +28343,6 @@ packages:
resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==}
engines: {node: '>=6'}
/pupa@2.1.1:
resolution: {integrity: sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==}
engines: {node: '>=8'}
dependencies:
escape-goat: 2.1.1
dev: true
/puppeteer-core@2.1.1:
resolution: {integrity: sha512-n13AWriBMPYxnpbb6bnaY5YoY6rGj8vPLrz6CZF3o0qJNEwlcfJVxBzYZ0NJsQ21UbdJoijPCDrM++SUVEz7+w==}
engines: {node: '>=8.16.0'}
@ -28878,19 +28464,6 @@ packages:
resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
engines: {node: '>= 0.6'}
/raven@2.6.4:
resolution: {integrity: sha512-6PQdfC4+DQSFncowthLf+B6Hr0JpPsFBgTVYTAOq7tCmx/kR4SXbeawtPch20+3QfUcQDoJBLjWW1ybvZ4kXTw==}
engines: {node: '>= 4.0.0'}
deprecated: Please upgrade to @sentry/node. See the migration guide https://bit.ly/3ybOlo7
hasBin: true
dependencies:
cookie: 0.3.1
md5: 2.3.0
stack-trace: 0.0.10
timed-out: 4.0.1
uuid: 3.3.2
dev: true
/raw-body@2.5.1:
resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==}
engines: {node: '>= 0.8'}
@ -30183,14 +29756,6 @@ packages:
onetime: 1.1.0
dev: true
/restore-cursor@2.0.0:
resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==}
engines: {node: '>=4'}
dependencies:
onetime: 2.0.1
signal-exit: 3.0.7
dev: true
/restore-cursor@3.1.0:
resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
engines: {node: '>=8'}
@ -30250,10 +29815,6 @@ packages:
dependencies:
glob: 7.2.3
/robots-parser@2.3.0:
resolution: {integrity: sha512-RvuCITckrHM9k8DxCCU9rqWpuuKRfVX9iHG751dC3/EdERxp9gJATxYYdYOT3L0T+TAT4+27lENisk/VbHm47A==}
dev: true
/robust-predicates@3.0.1:
resolution: {integrity: sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g==}
dev: true
@ -30502,20 +30063,6 @@ packages:
dependencies:
node-forge: 1.3.1
/semver-diff@2.1.0:
resolution: {integrity: sha512-gL8F8L4ORwsS0+iQ34yCYv///jsOq0ZL7WP55d1HnJ32o7tyFYEFQZQA22mrLIacZdU6xecaBBZ+uEiffGNyXw==}
engines: {node: '>=0.10.0'}
dependencies:
semver: 5.7.1
dev: true
/semver-diff@3.1.1:
resolution: {integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==}
engines: {node: '>=8'}
dependencies:
semver: 6.3.1
dev: true
/semver-greatest-satisfied-range@1.1.0:
resolution: {integrity: sha512-Ny/iyOzSSa8M5ML46IAx3iXc6tfOsYU2R4AXi2UpHk60Zrgyq6eqPj/xiOfS0rRl/iiQ/rdJkVjw/5cdUyCntQ==}
engines: {node: '>= 0.10'}
@ -31229,15 +30776,6 @@ packages:
webpack: 5.75.0(esbuild@0.17.14)(webpack-cli@5.0.1)
dev: true
/speedline-core@1.4.3:
resolution: {integrity: sha512-DI7/OuAUD+GMpR6dmu8lliO2Wg5zfeh+/xsdyJZCzd8o5JgFUjCeLsBDuZjIQJdwXS3J0L/uZYrELKYqx+PXog==}
engines: {node: '>=8.0'}
dependencies:
'@types/node': 18.17.15
image-ssim: 0.2.0
jpeg-js: 0.4.4
dev: true
/split-string@3.1.0:
resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==}
engines: {node: '>=0.10.0'}
@ -32231,13 +31769,6 @@ packages:
unique-string: 2.0.0
dev: true
/term-size@1.2.0:
resolution: {integrity: sha512-7dPUZQGy/+m3/wjVz3ZW5dobSoD/02NxJpoXUX0WIyjfVS3l0c+b/+9phIDFA7FHzkYtwtMFgeGZ/Y8jVTeqQQ==}
engines: {node: '>=4'}
dependencies:
execa: 0.7.0
dev: true
/term-size@2.2.0:
resolution: {integrity: sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==}
engines: {node: '>=8'}
@ -32344,10 +31875,6 @@ packages:
any-promise: 1.3.0
dev: true
/third-party-web@0.12.5:
resolution: {integrity: sha512-A8YS1bpOzm9os0w7wH/BbN5WZgzyf0zbrrWHckX57v+EkCaM7jZPoRpzgqrakh2e7IWP1KwAnMtlcGTATYZw8A==}
dev: true
/three@0.153.0:
resolution: {integrity: sha512-OCP2/uQR6GcDpSLnJt/3a4mdS0kNWcbfUXIwLoEMgLzEUIVIYsSDwskpmOii/AkDM+BBwrl6+CKgrjX9+E2aWg==}
dev: false
@ -32442,13 +31969,6 @@ packages:
os-tmpdir: 1.0.2
dev: true
/tmp@0.1.0:
resolution: {integrity: sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==}
engines: {node: '>=6'}
dependencies:
rimraf: 2.7.1
dev: true
/tmp@0.2.1:
resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==}
engines: {node: '>=8.17.0'}
@ -32961,10 +32481,6 @@ packages:
requiresBuild: true
optional: true
/ultron@1.1.1:
resolution: {integrity: sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==}
dev: true
/unbox-primitive@1.0.2:
resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
dependencies:
@ -33102,13 +32618,6 @@ packages:
through2-filter: 2.0.0
dev: true
/unique-string@1.0.0:
resolution: {integrity: sha512-ODgiYu03y5g76A1I9Gt0/chLCzQjvzDy7DsZGsLOE/1MrF6wriEskSncj1+/C58Xk/kPZDppSctDybCwOSaGAg==}
engines: {node: '>=4'}
dependencies:
crypto-random-string: 1.0.0
dev: true
/unique-string@2.0.0:
resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==}
engines: {node: '>=8'}
@ -33273,43 +32782,6 @@ packages:
escalade: 3.1.1
picocolors: 1.0.0
/update-notifier@3.0.1:
resolution: {integrity: sha512-grrmrB6Zb8DUiyDIaeRTBCkgISYUgETNe7NglEbVsrLWXeESnlCSP50WfRSj/GmzMPl6Uchj24S/p80nP/ZQrQ==}
engines: {node: '>=8'}
dependencies:
boxen: 3.2.0
chalk: 2.4.2
configstore: 4.0.0
has-yarn: 2.1.0
import-lazy: 2.1.0
is-ci: 2.0.0
is-installed-globally: 0.1.0
is-npm: 3.0.0
is-yarn-global: 0.3.0
latest-version: 5.1.0
semver-diff: 2.1.0
xdg-basedir: 3.0.0
dev: true
/update-notifier@4.1.3:
resolution: {integrity: sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==}
engines: {node: '>=8'}
dependencies:
boxen: 4.2.0
chalk: 3.0.0
configstore: 5.0.1
has-yarn: 2.1.0
import-lazy: 2.1.0
is-ci: 2.0.0
is-installed-globally: 0.3.1
is-npm: 4.0.0
is-yarn-global: 0.3.0
latest-version: 5.1.0
pupa: 2.1.1
semver-diff: 3.1.1
xdg-basedir: 4.0.0
dev: true
/upper-case-first@2.0.2:
resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==}
dependencies:
@ -33576,12 +33048,6 @@ packages:
deprecated: Package no longer supported and required. Use the uuid package or crypto.randomUUID instead
dev: true
/uuid@3.3.2:
resolution: {integrity: sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==}
deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
hasBin: true
dev: true
/uuid@3.4.0:
resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==}
deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
@ -34466,13 +33932,6 @@ packages:
dependencies:
string-width: 4.2.3
/widest-line@2.0.1:
resolution: {integrity: sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==}
engines: {node: '>=4'}
dependencies:
string-width: 2.1.1
dev: true
/widest-line@3.1.0:
resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==}
engines: {node: '>=8'}
@ -34611,22 +34070,6 @@ packages:
write-file-atomic: 2.4.3
dev: true
/ws@3.3.2:
resolution: {integrity: sha512-t+WGpsNxhMR4v6EClXS8r8km5ZljKJzyGhJf7goJz9k5Ye3+b5Bvno5rjqPuIBn5mnn5GBb7o8IrIWHxX1qOLQ==}
peerDependencies:
bufferutil: ^4.0.1
utf-8-validate: ^5.0.2
peerDependenciesMeta:
bufferutil:
optional: true
utf-8-validate:
optional: true
dependencies:
async-limiter: 1.0.1
safe-buffer: 5.1.2
ultron: 1.1.1
dev: true
/ws@6.2.2:
resolution: {integrity: sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==}
peerDependencies:
@ -34703,16 +34146,6 @@ packages:
'@xmldom/xmldom': 0.8.10
dev: false
/xdg-basedir@3.0.0:
resolution: {integrity: sha512-1Dly4xqlulvPD3fZUQJLY+FUIeqN3N2MM3uqe4rCJftAvOjFa3jFGfctOgluGx4ahPbUCsZkmJILiP0Vi4T6lQ==}
engines: {node: '>=4'}
dev: true
/xdg-basedir@4.0.0:
resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==}
engines: {node: '>=8'}
dev: true
/xml-name-validator@3.0.0:
resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==}
dev: true
@ -34774,10 +34207,6 @@ packages:
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
engines: {node: '>=10'}
/yallist@2.1.2:
resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==}
dev: true
/yallist@3.1.1:
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}

View File

@ -269,8 +269,6 @@ PNPM,@lezer/javascript,1.0.1,MIT,"",Approved
PNPM,@lezer/json,1.0.0,MIT,"",Approved
PNPM,@lezer/lr,1.2.0,MIT,"",Approved
PNPM,@lezer/markdown,1.0.1,MIT,"",Approved
PNPM,@lhci/cli,0.8.1,Apache 2.0,"",Approved
PNPM,@lhci/utils,0.8.1,Apache 2.0,"",Approved
PNPM,@manypkg/find-root,1.1.0,MIT,"",Approved
PNPM,@mdi/js,7.2.96,Apache 2.0,"",Approved
PNPM,@mdx-js/mdx,1.6.22,MIT,"",Approved

1 package_manager name version licenses homepage approved
269 PNPM @lezer/json 1.0.0 MIT Approved
270 PNPM @lezer/lr 1.2.0 MIT Approved
271 PNPM @lezer/markdown 1.0.1 MIT Approved
PNPM @lhci/cli 0.8.1 Apache 2.0 Approved
PNPM @lhci/utils 0.8.1 Apache 2.0 Approved
272 PNPM @manypkg/find-root 1.1.0 MIT Approved
273 PNPM @mdi/js 7.2.96 Apache 2.0 Approved
274 PNPM @mdx-js/mdx 1.6.22 MIT Approved