Merge pull request #160 from bartvdbraak/159-dynamic-badge-for-unlighthouse-scores

Add dynamic badge for lighthouse scores
This commit is contained in:
Bart van der Braak 2023-11-18 21:40:36 +01:00 committed by GitHub
commit 30aaa345b3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 145 additions and 115 deletions

View file

@ -1,6 +1,9 @@
name: Unlighthouse
on: [pull_request]
on:
push:
branches: main
pull_request:
permissions:
pull-requests: write
@ -12,13 +15,13 @@ jobs:
COMMENT_ID: unlighthouse-node${{matrix.node-version}}
PORT: 8000
CLOUDFLARE_PROJECT: hellobart-unlighthouse
CLOUDFLARE_BRANCH: pull-${{ github.event.pull_request.number }}
strategy:
matrix:
node-version: [18]
steps:
- name: Create initial comment
uses: marocchino/sticky-pull-request-comment@v2.8.0
if: github.ref != 'refs/heads/main'
with:
header: ${{ env.COMMENT_ID }}
message: |
@ -26,6 +29,16 @@ jobs:
![loading](https://github.com/bartvdbraak/hellob.art/assets/3996360/0e00b3fc-d5f9-490b-9aa7-07cb4b59f85f)
- name: Set variables based on trigger
run: |
if [[ ${{ github.ref == 'refs/heads/main' }} == true ]]; then
echo "CLOUDFLARE_BRANCH=main" >> $GITHUB_ENV
echo "CLOUDFLARE_URL=https://${{ env.CLOUDFLARE_PROJECT }}.pages.dev" >> $GITHUB_ENV
else
echo "CLOUDFLARE_BRANCH=pull-${{ github.event.pull_request.number }}" >> $GITHUB_ENV
echo "CLOUDFLARE_URL=https://pull-${{ github.event.pull_request.number }}.${{ env.CLOUDFLARE_PROJECT }}.pages.dev" >> $GITHUB_ENV
fi
- name: Checkout repository
uses: actions/checkout@v4.1.1
@ -84,10 +97,11 @@ jobs:
const formatScore = score => `${Math.round(score * 100)} (${score})`;
const getEmoji = score => score >= 0.9 ? '🟢' : score >= 0.5 ? '🟠' : '🔴';
const getColor = score => score >= 0.9 ? 'green' : score >= 0.5 ? 'orange' : 'red';
const score = res => `${getEmoji(res)} ${formatScore(res)}`;
const reportUrl = `https://${{ env.CLOUDFLARE_BRANCH }}.${{ env.CLOUDFLARE_PROJECT }}.pages.dev`;
const reportUrl = `${{ env.CLOUDFLARE_URL }}`;
const comment = [
`⚡️ Lighthouse report for the changes in this PR:`,
@ -115,16 +129,31 @@ jobs:
].join('\n');
core.setOutput("comment", comment);
core.setOutput("score", `${Math.round(result.summary.score * 100)}`);
core.setOutput("scoreColor", getColor(result.summary.score));
- name: Update comment with result
uses: marocchino/sticky-pull-request-comment@v2.8.0
if: github.ref != 'refs/heads/main'
with:
header: ${{ env.COMMENT_ID }}
message: ${{ steps.create_result_content.outputs.comment }}
- name: Create Lighthouse Score badge
uses: schneegans/dynamic-badges-action@v1.7.0
if: github.ref == 'refs/heads/main'
with:
auth: ${{ secrets.GIST_SECRET }}
gistID: 795a3d6af5b0db5754cf7279898c3c16
filename: hellob.art-unlighthouse.json
namedLogo: Lighthouse
label: Lighthouse
message: ${{ steps.create_result_content.outputs.score }}
color: ${{ steps.create_result_content.outputs.scoreColor }}
- name: Update comment on failure
uses: marocchino/sticky-pull-request-comment@v2.8.0
if: ${{ failure() }}
if: failure() && github.ref != 'refs/heads/main'
with:
header: ${{ env.COMMENT_ID }}
message: |
@ -134,7 +163,7 @@ jobs:
- name: Update comment on cancel
uses: marocchino/sticky-pull-request-comment@v2.8.0
if: ${{ cancelled() }}
if: cancelled() && github.ref != 'refs/heads/main'
with:
header: ${{ env.COMMENT_ID }}
message: |

View file

@ -5,6 +5,7 @@
<div align="center">
<a href="https://sonarcloud.io/summary/new_code?id=bartvdbraak_hellob.art"><img src="https://sonarcloud.io/api/project_badges/measure?project=bartvdbraak_hellob.art&metric=alert_status" /></a>
<a href="https://hellobart-unlighthouse.pages.dev"><img src="https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/bartvdbraak/795a3d6af5b0db5754cf7279898c3c16/raw/hellob.art-unlighthouse.json" /></a>
<a href="https://github.com/bartvdbraak/hellob.art/deployments/activity_log?environment=Production"><img src="https://img.shields.io/github/deployments/bartvdbraak/hellob.art/production?label=vercel&logo=vercel" /></a>
</div>

View file

@ -17,11 +17,11 @@
"@skeletonlabs/tw-plugin": "^0.2.4",
"@sveltejs/adapter-auto": "^2.1.1",
"@sveltejs/kit": "^1.27.6",
"@types/node": "^20.9.0",
"@types/node": "^20.9.1",
"@typescript-eslint/eslint-plugin": "^6.11.0",
"@typescript-eslint/parser": "^6.11.0",
"autoprefixer": "^10.4.16",
"eslint": "^8.53.0",
"eslint": "^8.54.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-svelte": "^2.35.0",
"lint-staged": "^15.1.0",
@ -29,7 +29,7 @@
"postcss-load-config": "^4.0.1",
"prettier": "^3.1.0",
"prettier-plugin-svelte": "^3.1.0",
"svelte": "^4.2.3",
"svelte": "^4.2.5",
"svelte-check": "^3.6.0",
"tailwindcss": "^3.3.5",
"tslib": "^2.6.2",
@ -44,7 +44,7 @@
"@threlte/core": "6.1.0",
"@threlte/extras": "7.5.1",
"@threlte/theatre": "^2.1.3",
"@types/three": "^0.158.0",
"@types/three": "^0.158.2",
"@vercel/analytics": "^1.1.1",
"three": "^0.158.0",
"web-vitals": "^3.5.0"

View file

@ -13,15 +13,15 @@ dependencies:
version: 0.7.0(@theatre/core@0.7.0)
'@threlte/core':
specifier: 6.1.0
version: 6.1.0(svelte@4.2.3)(three@0.158.0)
version: 6.1.0(svelte@4.2.5)(three@0.158.0)
'@threlte/extras':
specifier: 7.5.1
version: 7.5.1(svelte@4.2.3)(three@0.158.0)
version: 7.5.1(svelte@4.2.5)(three@0.158.0)
'@threlte/theatre':
specifier: ^2.1.3
version: 2.1.3(@theatre/core@0.7.0)(@theatre/studio@0.7.0)(@threlte/core@6.1.0)(@threlte/extras@7.5.1)(svelte@4.2.3)(three@0.158.0)
version: 2.1.3(@theatre/core@0.7.0)(@theatre/studio@0.7.0)(@threlte/core@6.1.0)(@threlte/extras@7.5.1)(svelte@4.2.5)(three@0.158.0)
'@types/three':
specifier: ^0.158.0
specifier: ^0.158.2
version: 0.158.2
'@vercel/analytics':
specifier: ^1.1.1
@ -36,7 +36,7 @@ dependencies:
devDependencies:
'@skeletonlabs/skeleton':
specifier: ^2.5.0
version: 2.5.0(svelte@4.2.3)
version: 2.5.0(svelte@4.2.5)
'@skeletonlabs/tw-plugin':
specifier: ^0.2.4
version: 0.2.4(tailwindcss@3.3.5)
@ -45,28 +45,28 @@ devDependencies:
version: 2.1.1(@sveltejs/kit@1.27.6)
'@sveltejs/kit':
specifier: ^1.27.6
version: 1.27.6(svelte@4.2.3)(vite@4.5.0)
version: 1.27.6(svelte@4.2.5)(vite@4.5.0)
'@types/node':
specifier: ^20.9.0
version: 20.9.0
specifier: ^20.9.1
version: 20.9.1
'@typescript-eslint/eslint-plugin':
specifier: ^6.11.0
version: 6.11.0(@typescript-eslint/parser@6.11.0)(eslint@8.53.0)(typescript@5.2.2)
version: 6.11.0(@typescript-eslint/parser@6.11.0)(eslint@8.54.0)(typescript@5.2.2)
'@typescript-eslint/parser':
specifier: ^6.11.0
version: 6.11.0(eslint@8.53.0)(typescript@5.2.2)
version: 6.11.0(eslint@8.54.0)(typescript@5.2.2)
autoprefixer:
specifier: ^10.4.16
version: 10.4.16(postcss@8.4.31)
eslint:
specifier: ^8.53.0
version: 8.53.0
specifier: ^8.54.0
version: 8.54.0
eslint-config-prettier:
specifier: ^9.0.0
version: 9.0.0(eslint@8.53.0)
version: 9.0.0(eslint@8.54.0)
eslint-plugin-svelte:
specifier: ^2.35.0
version: 2.35.0(eslint@8.53.0)(svelte@4.2.3)
version: 2.35.0(eslint@8.54.0)(svelte@4.2.5)
lint-staged:
specifier: ^15.1.0
version: 15.1.0
@ -81,13 +81,13 @@ devDependencies:
version: 3.1.0
prettier-plugin-svelte:
specifier: ^3.1.0
version: 3.1.0(prettier@3.1.0)(svelte@4.2.3)
version: 3.1.0(prettier@3.1.0)(svelte@4.2.5)
svelte:
specifier: ^4.2.3
version: 4.2.3
specifier: ^4.2.5
version: 4.2.5
svelte-check:
specifier: ^3.6.0
version: 3.6.0(postcss-load-config@4.0.1)(postcss@8.4.31)(svelte@4.2.3)
version: 3.6.0(postcss-load-config@4.0.1)(postcss@8.4.31)(svelte@4.2.5)
tailwindcss:
specifier: ^3.3.5
version: 3.3.5
@ -99,7 +99,7 @@ devDependencies:
version: 5.2.2
vite:
specifier: ^4.5.0
version: 4.5.0(@types/node@20.9.0)
version: 4.5.0(@types/node@20.9.1)
vite-plugin-tailwind-purgecss:
specifier: ^0.1.3
version: 0.1.3(vite@4.5.0)
@ -321,13 +321,13 @@ packages:
dev: true
optional: true
/@eslint-community/eslint-utils@4.4.0(eslint@8.53.0):
/@eslint-community/eslint-utils@4.4.0(eslint@8.54.0):
resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
dependencies:
eslint: 8.53.0
eslint: 8.54.0
eslint-visitor-keys: 3.4.3
dev: true
@ -344,7 +344,7 @@ packages:
debug: 4.3.4
espree: 9.6.1
globals: 13.23.0
ignore: 5.2.4
ignore: 5.3.0
import-fresh: 3.3.0
js-yaml: 4.1.0
minimatch: 3.1.2
@ -353,8 +353,8 @@ packages:
- supports-color
dev: true
/@eslint/js@8.53.0:
resolution: {integrity: sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==}
/@eslint/js@8.54.0:
resolution: {integrity: sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
@ -433,13 +433,13 @@ packages:
resolution: {integrity: sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==}
dev: true
/@skeletonlabs/skeleton@2.5.0(svelte@4.2.3):
/@skeletonlabs/skeleton@2.5.0(svelte@4.2.5):
resolution: {integrity: sha512-g9b59IkvByM9D/2RfwBXRP1dqTlaz85opqDHEWEDlJ/wPJ2SaUueBXDwuQfO5oLX8BBXQKIGnb/eUr03hnjgjg==}
peerDependencies:
svelte: ^3.56.0 || ^4.0.0
dependencies:
esm-env: 1.0.0
svelte: 4.2.3
svelte: 4.2.5
dev: true
/@skeletonlabs/tw-plugin@0.2.4(tailwindcss@3.3.5):
@ -455,11 +455,11 @@ packages:
peerDependencies:
'@sveltejs/kit': ^1.0.0
dependencies:
'@sveltejs/kit': 1.27.6(svelte@4.2.3)(vite@4.5.0)
'@sveltejs/kit': 1.27.6(svelte@4.2.5)(vite@4.5.0)
import-meta-resolve: 4.0.0
dev: true
/@sveltejs/kit@1.27.6(svelte@4.2.3)(vite@4.5.0):
/@sveltejs/kit@1.27.6(svelte@4.2.5)(vite@4.5.0):
resolution: {integrity: sha512-GsjTkMbKzXdbeRg0tk8S7HNShQ4879ftRr0ZHaZfjbig1xQwG57Bvcm9U9/mpLJtCapLbLWUnygKrgcLISLC8A==}
engines: {node: ^16.14 || >=18}
hasBin: true
@ -468,7 +468,7 @@ packages:
svelte: ^3.54.0 || ^4.0.0-next.0 || ^5.0.0-next.0
vite: ^4.0.0
dependencies:
'@sveltejs/vite-plugin-svelte': 2.5.2(svelte@4.2.3)(vite@4.5.0)
'@sveltejs/vite-plugin-svelte': 2.5.2(svelte@4.2.5)(vite@4.5.0)
'@types/cookie': 0.5.4
cookie: 0.5.0
devalue: 4.3.2
@ -479,15 +479,15 @@ packages:
sade: 1.8.1
set-cookie-parser: 2.6.0
sirv: 2.0.3
svelte: 4.2.3
svelte: 4.2.5
tiny-glob: 0.2.9
undici: 5.26.5
vite: 4.5.0(@types/node@20.9.0)
vite: 4.5.0(@types/node@20.9.1)
transitivePeerDependencies:
- supports-color
dev: true
/@sveltejs/vite-plugin-svelte-inspector@1.0.4(@sveltejs/vite-plugin-svelte@2.5.2)(svelte@4.2.3)(vite@4.5.0):
/@sveltejs/vite-plugin-svelte-inspector@1.0.4(@sveltejs/vite-plugin-svelte@2.5.2)(svelte@4.2.5)(vite@4.5.0):
resolution: {integrity: sha512-zjiuZ3yydBtwpF3bj0kQNV0YXe+iKE545QGZVTaylW3eAzFr+pJ/cwK8lZEaRp4JtaJXhD5DyWAV4AxLh6DgaQ==}
engines: {node: ^14.18.0 || >= 16}
peerDependencies:
@ -495,29 +495,29 @@ packages:
svelte: ^3.54.0 || ^4.0.0
vite: ^4.0.0
dependencies:
'@sveltejs/vite-plugin-svelte': 2.5.2(svelte@4.2.3)(vite@4.5.0)
'@sveltejs/vite-plugin-svelte': 2.5.2(svelte@4.2.5)(vite@4.5.0)
debug: 4.3.4
svelte: 4.2.3
vite: 4.5.0(@types/node@20.9.0)
svelte: 4.2.5
vite: 4.5.0(@types/node@20.9.1)
transitivePeerDependencies:
- supports-color
dev: true
/@sveltejs/vite-plugin-svelte@2.5.2(svelte@4.2.3)(vite@4.5.0):
/@sveltejs/vite-plugin-svelte@2.5.2(svelte@4.2.5)(vite@4.5.0):
resolution: {integrity: sha512-Dfy0Rbl+IctOVfJvWGxrX/3m6vxPLH8o0x+8FA5QEyMUQMo4kGOVIojjryU7YomBAexOTAuYf1RT7809yDziaA==}
engines: {node: ^14.18.0 || >= 16}
peerDependencies:
svelte: ^3.54.0 || ^4.0.0 || ^5.0.0-next.0
vite: ^4.0.0
dependencies:
'@sveltejs/vite-plugin-svelte-inspector': 1.0.4(@sveltejs/vite-plugin-svelte@2.5.2)(svelte@4.2.3)(vite@4.5.0)
'@sveltejs/vite-plugin-svelte-inspector': 1.0.4(@sveltejs/vite-plugin-svelte@2.5.2)(svelte@4.2.5)(vite@4.5.0)
debug: 4.3.4
deepmerge: 4.3.1
kleur: 4.1.5
magic-string: 0.30.5
svelte: 4.2.3
svelte-hmr: 0.15.3(svelte@4.2.3)
vite: 4.5.0(@types/node@20.9.0)
svelte: 4.2.5
svelte-hmr: 0.15.3(svelte@4.2.5)
vite: 4.5.0(@types/node@20.9.1)
vitefu: 0.2.5(vite@4.5.0)
transitivePeerDependencies:
- supports-color
@ -544,29 +544,29 @@ packages:
'@theatre/dataverse': 0.7.0
dev: false
/@threlte/core@6.1.0(svelte@4.2.3)(three@0.158.0):
/@threlte/core@6.1.0(svelte@4.2.5)(three@0.158.0):
resolution: {integrity: sha512-8Sm4Hkcs0oSB+c1WnMxWfZvbsatYkMv8VOgfsF+jzbvZUyPKtcwvbOe43Y101zhZTk//GKrdsPuwcURuFGMYVg==}
peerDependencies:
svelte: '>=4'
three: '>=0.133'
dependencies:
svelte: 4.2.3
svelte: 4.2.5
three: 0.158.0
dev: false
/@threlte/extras@7.5.1(svelte@4.2.3)(three@0.158.0):
/@threlte/extras@7.5.1(svelte@4.2.5)(three@0.158.0):
resolution: {integrity: sha512-DuCLisFMRUjvL20gGNLe2yhhWozIzWDHIFg1r2JNa0eia+YZ4xrYDzaQ6rX3VggEMGWu1pn4mPNluZ9fNsFQOQ==}
peerDependencies:
svelte: '>=4'
three: '>=0.133'
dependencies:
lodash-es: 4.17.21
svelte: 4.2.3
svelte: 4.2.5
three: 0.158.0
troika-three-text: 0.47.2(three@0.158.0)
dev: false
/@threlte/theatre@2.1.3(@theatre/core@0.7.0)(@theatre/studio@0.7.0)(@threlte/core@6.1.0)(@threlte/extras@7.5.1)(svelte@4.2.3)(three@0.158.0):
/@threlte/theatre@2.1.3(@theatre/core@0.7.0)(@theatre/studio@0.7.0)(@threlte/core@6.1.0)(@threlte/extras@7.5.1)(svelte@4.2.5)(three@0.158.0):
resolution: {integrity: sha512-yscNIDWBoaNFQDicF+ulI1Px589bKsQtfzwNgxGbdIwRgjX6gk2bWfmZ6cgBml25yksAufroh9gZSfvfOpLtMg==}
peerDependencies:
'@theatre/core': '>=0.6'
@ -578,9 +578,9 @@ packages:
dependencies:
'@theatre/core': 0.7.0
'@theatre/studio': 0.7.0(@theatre/core@0.7.0)
'@threlte/core': 6.1.0(svelte@4.2.3)(three@0.158.0)
'@threlte/extras': 7.5.1(svelte@4.2.3)(three@0.158.0)
svelte: 4.2.3
'@threlte/core': 6.1.0(svelte@4.2.5)(three@0.158.0)
'@threlte/extras': 7.5.1(svelte@4.2.5)(three@0.158.0)
svelte: 4.2.5
three: 0.158.0
dev: false
@ -595,8 +595,8 @@ packages:
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
dev: true
/@types/node@20.9.0:
resolution: {integrity: sha512-nekiGu2NDb1BcVofVcEKMIwzlx4NjHlcjhoxxKBNLtz15Y1z7MYf549DFvkHSId02Ax6kGwWntIBPC3l/JZcmw==}
/@types/node@20.9.1:
resolution: {integrity: sha512-HhmzZh5LSJNS5O8jQKpJ/3ZcrrlG6L70hpGqMIAoM9YVD0YBRNWYsfwcXq8VnSjlNpCpgLzMXdiPo+dxcvSmiA==}
dependencies:
undici-types: 5.26.5
dev: true
@ -626,7 +626,7 @@ packages:
resolution: {integrity: sha512-9vRpV4nMzuZIdJiu/nHUk1AQV0cguaBI32DIauJXBxpvG3wiXk3VD+kQKx111V7I/YvAoGyJZTyhaWODYEbZ0w==}
dev: false
/@typescript-eslint/eslint-plugin@6.11.0(@typescript-eslint/parser@6.11.0)(eslint@8.53.0)(typescript@5.2.2):
/@typescript-eslint/eslint-plugin@6.11.0(@typescript-eslint/parser@6.11.0)(eslint@8.54.0)(typescript@5.2.2):
resolution: {integrity: sha512-uXnpZDc4VRjY4iuypDBKzW1rz9T5YBBK0snMn8MaTSNd2kMlj50LnLBABELjJiOL5YHk7ZD8hbSpI9ubzqYI0w==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
@ -638,15 +638,15 @@ packages:
optional: true
dependencies:
'@eslint-community/regexpp': 4.10.0
'@typescript-eslint/parser': 6.11.0(eslint@8.53.0)(typescript@5.2.2)
'@typescript-eslint/parser': 6.11.0(eslint@8.54.0)(typescript@5.2.2)
'@typescript-eslint/scope-manager': 6.11.0
'@typescript-eslint/type-utils': 6.11.0(eslint@8.53.0)(typescript@5.2.2)
'@typescript-eslint/utils': 6.11.0(eslint@8.53.0)(typescript@5.2.2)
'@typescript-eslint/type-utils': 6.11.0(eslint@8.54.0)(typescript@5.2.2)
'@typescript-eslint/utils': 6.11.0(eslint@8.54.0)(typescript@5.2.2)
'@typescript-eslint/visitor-keys': 6.11.0
debug: 4.3.4
eslint: 8.53.0
eslint: 8.54.0
graphemer: 1.4.0
ignore: 5.2.4
ignore: 5.3.0
natural-compare: 1.4.0
semver: 7.5.4
ts-api-utils: 1.0.3(typescript@5.2.2)
@ -655,7 +655,7 @@ packages:
- supports-color
dev: true
/@typescript-eslint/parser@6.11.0(eslint@8.53.0)(typescript@5.2.2):
/@typescript-eslint/parser@6.11.0(eslint@8.54.0)(typescript@5.2.2):
resolution: {integrity: sha512-+whEdjk+d5do5nxfxx73oanLL9ghKO3EwM9kBCkUtWMRwWuPaFv9ScuqlYfQ6pAD6ZiJhky7TZ2ZYhrMsfMxVQ==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
@ -670,7 +670,7 @@ packages:
'@typescript-eslint/typescript-estree': 6.11.0(typescript@5.2.2)
'@typescript-eslint/visitor-keys': 6.11.0
debug: 4.3.4
eslint: 8.53.0
eslint: 8.54.0
typescript: 5.2.2
transitivePeerDependencies:
- supports-color
@ -684,7 +684,7 @@ packages:
'@typescript-eslint/visitor-keys': 6.11.0
dev: true
/@typescript-eslint/type-utils@6.11.0(eslint@8.53.0)(typescript@5.2.2):
/@typescript-eslint/type-utils@6.11.0(eslint@8.54.0)(typescript@5.2.2):
resolution: {integrity: sha512-nA4IOXwZtqBjIoYrJcYxLRO+F9ri+leVGoJcMW1uqr4r1Hq7vW5cyWrA43lFbpRvQ9XgNrnfLpIkO3i1emDBIA==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
@ -695,9 +695,9 @@ packages:
optional: true
dependencies:
'@typescript-eslint/typescript-estree': 6.11.0(typescript@5.2.2)
'@typescript-eslint/utils': 6.11.0(eslint@8.53.0)(typescript@5.2.2)
'@typescript-eslint/utils': 6.11.0(eslint@8.54.0)(typescript@5.2.2)
debug: 4.3.4
eslint: 8.53.0
eslint: 8.54.0
ts-api-utils: 1.0.3(typescript@5.2.2)
typescript: 5.2.2
transitivePeerDependencies:
@ -730,19 +730,19 @@ packages:
- supports-color
dev: true
/@typescript-eslint/utils@6.11.0(eslint@8.53.0)(typescript@5.2.2):
/@typescript-eslint/utils@6.11.0(eslint@8.54.0)(typescript@5.2.2):
resolution: {integrity: sha512-p23ibf68fxoZy605dc0dQAEoUsoiNoP3MD9WQGiHLDuTSOuqoTsa4oAy+h3KDkTcxbbfOtUjb9h3Ta0gT4ug2g==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0)
'@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0)
'@types/json-schema': 7.0.15
'@types/semver': 7.5.5
'@typescript-eslint/scope-manager': 6.11.0
'@typescript-eslint/types': 6.11.0
'@typescript-eslint/typescript-estree': 6.11.0(typescript@5.2.2)
eslint: 8.53.0
eslint: 8.54.0
semver: 7.5.4
transitivePeerDependencies:
- supports-color
@ -856,7 +856,7 @@ packages:
postcss: ^8.1.0
dependencies:
browserslist: 4.22.1
caniuse-lite: 1.0.30001562
caniuse-lite: 1.0.30001563
fraction.js: 4.3.7
normalize-range: 0.1.2
picocolors: 1.0.0
@ -909,8 +909,8 @@ packages:
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
dependencies:
caniuse-lite: 1.0.30001562
electron-to-chromium: 1.4.585
caniuse-lite: 1.0.30001563
electron-to-chromium: 1.4.588
node-releases: 2.0.13
update-browserslist-db: 1.0.13(browserslist@4.22.1)
dev: true
@ -929,8 +929,8 @@ packages:
engines: {node: '>= 6'}
dev: true
/caniuse-lite@1.0.30001562:
resolution: {integrity: sha512-kfte3Hym//51EdX4239i+Rmp20EsLIYGdPkERegTgU19hQWCRhsRFGKHTliUlsry53tv17K7n077Kqa0WJU4ng==}
/caniuse-lite@1.0.30001563:
resolution: {integrity: sha512-na2WUmOxnwIZtwnFI2CZ/3er0wdNzU7hN+cPYz/z2ajHThnkWjNBOpEPP4n+4r2WPM847JaMotaJE3bnfzjyKw==}
dev: true
/chalk@4.1.2:
@ -1106,8 +1106,8 @@ packages:
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
dev: true
/electron-to-chromium@1.4.585:
resolution: {integrity: sha512-B4yBlX0azdA3rVMxpYwLQfDpdwOgcnLCkpvSOd68iFmeedo+WYjaBJS3/W58LVD8CB2nf+o7C4K9xz1l09RkWg==}
/electron-to-chromium@1.4.588:
resolution: {integrity: sha512-soytjxwbgcCu7nh5Pf4S2/4wa6UIu+A3p03U2yVr53qGxi1/VTR3ENI+p50v+UxqqZAfl48j3z55ud7VHIOr9w==}
dev: true
/emoji-regex@9.2.2:
@ -1158,25 +1158,25 @@ packages:
engines: {node: '>=10'}
dev: true
/eslint-compat-utils@0.1.2(eslint@8.53.0):
/eslint-compat-utils@0.1.2(eslint@8.54.0):
resolution: {integrity: sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==}
engines: {node: '>=12'}
peerDependencies:
eslint: '>=6.0.0'
dependencies:
eslint: 8.53.0
eslint: 8.54.0
dev: true
/eslint-config-prettier@9.0.0(eslint@8.53.0):
/eslint-config-prettier@9.0.0(eslint@8.54.0):
resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==}
hasBin: true
peerDependencies:
eslint: '>=7.0.0'
dependencies:
eslint: 8.53.0
eslint: 8.54.0
dev: true
/eslint-plugin-svelte@2.35.0(eslint@8.53.0)(svelte@4.2.3):
/eslint-plugin-svelte@2.35.0(eslint@8.54.0)(svelte@4.2.5):
resolution: {integrity: sha512-3WDFxNrkXaMlpqoNo3M1ZOQuoFLMO9+bdnN6oVVXaydXC7nzCJuGy9a0zqoNDHMSRPYt0Rqo6hIdHMEaI5sQnw==}
engines: {node: ^14.17.0 || >=16.0.0}
peerDependencies:
@ -1186,11 +1186,11 @@ packages:
svelte:
optional: true
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0)
'@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0)
'@jridgewell/sourcemap-codec': 1.4.15
debug: 4.3.4
eslint: 8.53.0
eslint-compat-utils: 0.1.2(eslint@8.53.0)
eslint: 8.54.0
eslint-compat-utils: 0.1.2(eslint@8.54.0)
esutils: 2.0.3
known-css-properties: 0.29.0
postcss: 8.4.31
@ -1198,8 +1198,8 @@ packages:
postcss-safe-parser: 6.0.0(postcss@8.4.31)
postcss-selector-parser: 6.0.13
semver: 7.5.4
svelte: 4.2.3
svelte-eslint-parser: 0.33.1(svelte@4.2.3)
svelte: 4.2.5
svelte-eslint-parser: 0.33.1(svelte@4.2.5)
transitivePeerDependencies:
- supports-color
- ts-node
@ -1218,15 +1218,15 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
/eslint@8.53.0:
resolution: {integrity: sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==}
/eslint@8.54.0:
resolution: {integrity: sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
hasBin: true
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0)
'@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0)
'@eslint-community/regexpp': 4.10.0
'@eslint/eslintrc': 2.1.3
'@eslint/js': 8.53.0
'@eslint/js': 8.54.0
'@humanwhocodes/config-array': 0.11.13
'@humanwhocodes/module-importer': 1.0.1
'@nodelib/fs.walk': 1.2.8
@ -1248,7 +1248,7 @@ packages:
glob-parent: 6.0.2
globals: 13.23.0
graphemer: 1.4.0
ignore: 5.2.4
ignore: 5.3.0
imurmurhash: 0.1.4
is-glob: 4.0.3
is-path-inside: 3.0.3
@ -1484,7 +1484,7 @@ packages:
array-union: 2.1.0
dir-glob: 3.0.1
fast-glob: 3.3.2
ignore: 5.2.4
ignore: 5.3.0
merge2: 1.4.1
slash: 3.0.0
dev: true
@ -1518,8 +1518,8 @@ packages:
engines: {node: '>=16.17.0'}
dev: true
/ignore@5.2.4:
resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
/ignore@5.3.0:
resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==}
engines: {node: '>= 4'}
dev: true
@ -2091,14 +2091,14 @@ packages:
engines: {node: '>= 0.8.0'}
dev: true
/prettier-plugin-svelte@3.1.0(prettier@3.1.0)(svelte@4.2.3):
/prettier-plugin-svelte@3.1.0(prettier@3.1.0)(svelte@4.2.5):
resolution: {integrity: sha512-96+AZxs2ESqIFA9j+o+DHqY+BsUglezfl553LQd6VOtTyJq5GPuBEb3ElxF2cerFzKlYKttlH/VcVmRNj5oc3A==}
peerDependencies:
prettier: ^3.0.0
svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0
dependencies:
prettier: 3.1.0
svelte: 4.2.3
svelte: 4.2.5
dev: true
/prettier@3.1.0:
@ -2363,7 +2363,7 @@ packages:
engines: {node: '>= 0.4'}
dev: true
/svelte-check@3.6.0(postcss-load-config@4.0.1)(postcss@8.4.31)(svelte@4.2.3):
/svelte-check@3.6.0(postcss-load-config@4.0.1)(postcss@8.4.31)(svelte@4.2.5):
resolution: {integrity: sha512-8VfqhfuRJ1sKW+o8isH2kPi0RhjXH1nNsIbCFGyoUHG+ZxVxHYRKcb+S8eaL/1tyj3VGvWYx3Y5+oCUsJgnzcw==}
hasBin: true
peerDependencies:
@ -2375,8 +2375,8 @@ packages:
import-fresh: 3.3.0
picocolors: 1.0.0
sade: 1.8.1
svelte: 4.2.3
svelte-preprocess: 5.1.0(postcss-load-config@4.0.1)(postcss@8.4.31)(svelte@4.2.3)(typescript@5.2.2)
svelte: 4.2.5
svelte-preprocess: 5.1.0(postcss-load-config@4.0.1)(postcss@8.4.31)(svelte@4.2.5)(typescript@5.2.2)
typescript: 5.2.2
transitivePeerDependencies:
- '@babel/core'
@ -2390,7 +2390,7 @@ packages:
- sugarss
dev: true
/svelte-eslint-parser@0.33.1(svelte@4.2.3):
/svelte-eslint-parser@0.33.1(svelte@4.2.5):
resolution: {integrity: sha512-vo7xPGTlKBGdLH8T5L64FipvTrqv3OQRx9d2z5X05KKZDlF4rQk8KViZO4flKERY+5BiVdOh7zZ7JGJWo5P0uA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
@ -2404,19 +2404,19 @@ packages:
espree: 9.6.1
postcss: 8.4.31
postcss-scss: 4.0.9(postcss@8.4.31)
svelte: 4.2.3
svelte: 4.2.5
dev: true
/svelte-hmr@0.15.3(svelte@4.2.3):
/svelte-hmr@0.15.3(svelte@4.2.5):
resolution: {integrity: sha512-41snaPswvSf8TJUhlkoJBekRrABDXDMdpNpT2tfHIv4JuhgvHqLMhEPGtaQn0BmbNSTkuz2Ed20DF2eHw0SmBQ==}
engines: {node: ^12.20 || ^14.13.1 || >= 16}
peerDependencies:
svelte: ^3.19.0 || ^4.0.0
dependencies:
svelte: 4.2.3
svelte: 4.2.5
dev: true
/svelte-preprocess@5.1.0(postcss-load-config@4.0.1)(postcss@8.4.31)(svelte@4.2.3)(typescript@5.2.2):
/svelte-preprocess@5.1.0(postcss-load-config@4.0.1)(postcss@8.4.31)(svelte@4.2.5)(typescript@5.2.2):
resolution: {integrity: sha512-EkErPiDzHAc0k2MF5m6vBNmRUh338h2myhinUw/xaqsLs7/ZvsgREiLGj03VrSzbY/TB5ZXgBOsKraFee5yceA==}
engines: {node: '>= 14.10.0'}
requiresBuild: true
@ -2461,12 +2461,12 @@ packages:
postcss-load-config: 4.0.1(postcss@8.4.31)
sorcery: 0.11.0
strip-indent: 3.0.0
svelte: 4.2.3
svelte: 4.2.5
typescript: 5.2.2
dev: true
/svelte@4.2.3:
resolution: {integrity: sha512-sqmG9KC6uUc7fb3ZuWoxXvqk6MI9Uu4ABA1M0fYDgTlFYu1k02xp96u6U9+yJZiVm84m9zge7rrA/BNZdFpOKw==}
/svelte@4.2.5:
resolution: {integrity: sha512-P9YPKsGkNdw4OJbtpd1uzimQHPj7Ai2sPcOHmmD6VgkFhFDmcYevQi7vE4cQ1g8/Vs64aL2TwMoCNFAzv7TPaQ==}
engines: {node: '>=16'}
dependencies:
'@ampproject/remapping': 2.2.1
@ -2657,10 +2657,10 @@ packages:
dependencies:
estree-walker: 3.0.3
purgecss: 6.0.0-alpha.0
vite: 4.5.0(@types/node@20.9.0)
vite: 4.5.0(@types/node@20.9.1)
dev: true
/vite@4.5.0(@types/node@20.9.0):
/vite@4.5.0(@types/node@20.9.1):
resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==}
engines: {node: ^14.18.0 || >=16.0.0}
hasBin: true
@ -2688,7 +2688,7 @@ packages:
terser:
optional: true
dependencies:
'@types/node': 20.9.0
'@types/node': 20.9.1
esbuild: 0.18.20
postcss: 8.4.31
rollup: 3.29.4
@ -2704,7 +2704,7 @@ packages:
vite:
optional: true
dependencies:
vite: 4.5.0(@types/node@20.9.0)
vite: 4.5.0(@types/node@20.9.1)
dev: true
/web-vitals@3.5.0: