From dceab1a75a0c7f3ee1d53610649319d25c9a616e Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Tue, 26 Nov 2024 16:50:46 +0100 Subject: [PATCH 01/74] Add Forgejo action --- .forgejo/workflows/build.yaml | 117 ++++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 .forgejo/workflows/build.yaml diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml new file mode 100644 index 0000000..d386a7d --- /dev/null +++ b/.forgejo/workflows/build.yaml @@ -0,0 +1,117 @@ +on: [push] +jobs: + check-changes: + runs-on: docker + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Get changed files count + id: changed-files + uses: tj-actions/changed-files@v45 + with: + files_ignore: 'doc/**,README.md,Dockerfile,.*' + files_ignore_separator: ',' + - name: Print changed files count + run: > + echo "Changed files count: ${{ + steps.changed-files.outputs.all_changed_and_modified_files_count }}" + + build: + needs: check-changes + runs-on: ubuntu-latest + if: ${{ needs.check-changes.outputs.all_changed_and_modified_files_count >= 1 }} + permissions: + contents: write + + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: actions/setup-node@v4 + with: + node-version: lts/* + cache: yarn + cache-dependency-path: '**/yarn.lock' + - uses: actions/cache@v4 + with: + path: | + ~/.cache/pip + ~/node_modules + key: ${{ runner.os }}-pio + - uses: actions/setup-python@v5 + with: + python-version: '3.9' + - name: Get current date + id: dateAndTime + run: echo "dateAndTime=$(date +'%Y-%m-%d-%H:%M')" >> $GITHUB_OUTPUT + - name: Install mklittlefs + run: > + git clone https://github.com/earlephilhower/mklittlefs.git /tmp/mklittlefs && + cd /tmp/mklittlefs && + git submodule update --init && + make dist + - name: Install yarn + run: yarn && yarn postinstall + - name: Run linter + run: yarn lint + - name: Run vitest tests + run: yarn vitest run + - name: Install Playwright Browsers + run: npx playwright install --with-deps + - name: Run Playwright tests + run: npx playwright test + - name: Build WebUI + run: yarn build + - name: Get current block + id: getBlockHeight + run: echo "blockHeight=$(curl -s https://mempool.space/api/blocks/tip/height)" >> $GITHUB_OUTPUT + - name: Write block height to file + env: + BLOCK_HEIGHT: ${{ steps.getBlockHeight.outputs.blockHeight }} + run: mkdir -p output && echo "$BLOCK_HEIGHT" > output/version.txt + - name: gzip build for LittleFS + run: find dist -type f ! -name ".*" -exec sh -c 'mkdir -p "build_gz/$(dirname "${1#dist/}")" && gzip -k "$1" -c > "build_gz/${1#dist/}".gz' _ {} \; + - name: Write git rev to file + run: echo "$GITHUB_SHA" > build_gz/fs_hash.txt && echo "$GITHUB_SHA" > output/commit.txt + - name: Check GZipped directory size + run: | + # Set the threshold size in bytes + THRESHOLD=409600 + + # Calculate the total size of files in the directory + DIRECTORY_SIZE=$(du -b -s build_gz | awk '{print $1}') + + # Fail the workflow if the size exceeds the threshold + if [ "$DIRECTORY_SIZE" -gt "$THRESHOLD" ]; then + echo "Directory size exceeds the threshold of $THRESHOLD bytes" + exit 1 + else + echo "Directory size is within the threshold $DIRECTORY_SIZE" + fi + - name: Create tarball + run: tar czf webui.tgz --strip-components=1 dist + - name: Build LittleFS + run: | + set -e + /tmp/mklittlefs/mklittlefs -c build_gz -s 409600 output/littlefs.bin + - name: Upload artifacts + uses: actions/upload-artifact@v4 + with: + path: | + webui.tgz + output/littlefs.bin + - name: Create release + if: github.event_name == 'push' && github.ref == 'refs/heads/main' + uses: https://code.forgejo.org/actions/forgejo-release@v2.4.0 + with: + url: "https://git.btclock.dev/" + repo: "btclock/webui" + direction: upload + tag: ${{ steps.getBlockHeight.outputs.blockHeight }} + sha: "${{ github.sha }}" + release-dir: output + token: ${{ secrets.TOKEN }} + override: false + verbose: false + release-notes-assistant: false \ No newline at end of file From 0b3f6d3de17ceeb498bd5578f0d9dcff0077e098 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Tue, 26 Nov 2024 16:55:42 +0100 Subject: [PATCH 02/74] Fix forgejo workflow --- .forgejo/workflows/build.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index d386a7d..129385e 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -19,7 +19,7 @@ jobs: build: needs: check-changes - runs-on: ubuntu-latest + runs-on: docker if: ${{ needs.check-changes.outputs.all_changed_and_modified_files_count >= 1 }} permissions: contents: write @@ -106,7 +106,7 @@ jobs: uses: https://code.forgejo.org/actions/forgejo-release@v2.4.0 with: url: "https://git.btclock.dev/" - repo: "btclock/webui" + repo: "${{ github.repository }}" direction: upload tag: ${{ steps.getBlockHeight.outputs.blockHeight }} sha: "${{ github.sha }}" From 6028268227943f4a391f697a3771098ef9bd093d Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Tue, 26 Nov 2024 16:57:33 +0100 Subject: [PATCH 03/74] Fix workflow --- .forgejo/workflows/build.yaml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 129385e..0d8651a 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -2,6 +2,8 @@ on: [push] jobs: check-changes: runs-on: docker + outputs: + all_changed_and_modified_files_count: ${{ steps.changed-files.outputs.all_changed_and_modified_files_count }} steps: - name: Checkout code uses: actions/checkout@v4 @@ -105,13 +107,13 @@ jobs: if: github.event_name == 'push' && github.ref == 'refs/heads/main' uses: https://code.forgejo.org/actions/forgejo-release@v2.4.0 with: - url: "https://git.btclock.dev/" - repo: "${{ github.repository }}" + url: 'https://git.btclock.dev/' + repo: '${{ github.repository }}' direction: upload tag: ${{ steps.getBlockHeight.outputs.blockHeight }} - sha: "${{ github.sha }}" + sha: '${{ github.sha }}' release-dir: output token: ${{ secrets.TOKEN }} override: false verbose: false - release-notes-assistant: false \ No newline at end of file + release-notes-assistant: false From 55859cf8d4c9522f4ebc3f217254886e61afc926 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Tue, 26 Nov 2024 17:04:51 +0100 Subject: [PATCH 04/74] Fix workflow python version --- .forgejo/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 0d8651a..4a06721 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -43,7 +43,7 @@ jobs: key: ${{ runner.os }}-pio - uses: actions/setup-python@v5 with: - python-version: '3.9' + python-version: '>=3.10' - name: Get current date id: dateAndTime run: echo "dateAndTime=$(date +'%Y-%m-%d-%H:%M')" >> $GITHUB_OUTPUT From a891529cdc92d4b2a9aadf76a5ac6624d16afeb3 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Tue, 26 Nov 2024 17:14:57 +0100 Subject: [PATCH 05/74] Fix workflow container --- .forgejo/workflows/build.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 4a06721..0f088ee 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -22,6 +22,8 @@ jobs: build: needs: check-changes runs-on: docker + container: + image: catthehacker/ubuntu:act-22.04 if: ${{ needs.check-changes.outputs.all_changed_and_modified_files_count >= 1 }} permissions: contents: write From 81238e57edbde561b48c38c25dda60638943c515 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Tue, 26 Nov 2024 17:19:29 +0100 Subject: [PATCH 06/74] Forgejo js image --- .forgejo/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 0f088ee..1f64a5c 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -23,7 +23,7 @@ jobs: needs: check-changes runs-on: docker container: - image: catthehacker/ubuntu:act-22.04 + image: ghcr.io/catthehacker/ubuntu:js-22.04 if: ${{ needs.check-changes.outputs.all_changed_and_modified_files_count >= 1 }} permissions: contents: write From 1bac10e4ef1f88b0d98fdfd351dd593c4e80fc03 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Tue, 26 Nov 2024 17:27:22 +0100 Subject: [PATCH 07/74] use upload artifacts fork --- .forgejo/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 1f64a5c..fe38500 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -100,7 +100,7 @@ jobs: set -e /tmp/mklittlefs/mklittlefs -c build_gz -s 409600 output/littlefs.bin - name: Upload artifacts - uses: actions/upload-artifact@v4 + uses: https://code.forgejo.org/forgejo/upload-artifact@v4 with: path: | webui.tgz From da3c70285d8574d69e3048b046028c74d2edc6a7 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Tue, 26 Nov 2024 16:50:46 +0100 Subject: [PATCH 08/74] Add Forgejo action Fix forgejo workflow Fix workflow Fix workflow python version Fix workflow container Forgejo js image use upload artifacts fork --- .forgejo/workflows/build.yaml | 121 ++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 .forgejo/workflows/build.yaml diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml new file mode 100644 index 0000000..fe38500 --- /dev/null +++ b/.forgejo/workflows/build.yaml @@ -0,0 +1,121 @@ +on: [push] +jobs: + check-changes: + runs-on: docker + outputs: + all_changed_and_modified_files_count: ${{ steps.changed-files.outputs.all_changed_and_modified_files_count }} + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Get changed files count + id: changed-files + uses: tj-actions/changed-files@v45 + with: + files_ignore: 'doc/**,README.md,Dockerfile,.*' + files_ignore_separator: ',' + - name: Print changed files count + run: > + echo "Changed files count: ${{ + steps.changed-files.outputs.all_changed_and_modified_files_count }}" + + build: + needs: check-changes + runs-on: docker + container: + image: ghcr.io/catthehacker/ubuntu:js-22.04 + if: ${{ needs.check-changes.outputs.all_changed_and_modified_files_count >= 1 }} + permissions: + contents: write + + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: actions/setup-node@v4 + with: + node-version: lts/* + cache: yarn + cache-dependency-path: '**/yarn.lock' + - uses: actions/cache@v4 + with: + path: | + ~/.cache/pip + ~/node_modules + key: ${{ runner.os }}-pio + - uses: actions/setup-python@v5 + with: + python-version: '>=3.10' + - name: Get current date + id: dateAndTime + run: echo "dateAndTime=$(date +'%Y-%m-%d-%H:%M')" >> $GITHUB_OUTPUT + - name: Install mklittlefs + run: > + git clone https://github.com/earlephilhower/mklittlefs.git /tmp/mklittlefs && + cd /tmp/mklittlefs && + git submodule update --init && + make dist + - name: Install yarn + run: yarn && yarn postinstall + - name: Run linter + run: yarn lint + - name: Run vitest tests + run: yarn vitest run + - name: Install Playwright Browsers + run: npx playwright install --with-deps + - name: Run Playwright tests + run: npx playwright test + - name: Build WebUI + run: yarn build + - name: Get current block + id: getBlockHeight + run: echo "blockHeight=$(curl -s https://mempool.space/api/blocks/tip/height)" >> $GITHUB_OUTPUT + - name: Write block height to file + env: + BLOCK_HEIGHT: ${{ steps.getBlockHeight.outputs.blockHeight }} + run: mkdir -p output && echo "$BLOCK_HEIGHT" > output/version.txt + - name: gzip build for LittleFS + run: find dist -type f ! -name ".*" -exec sh -c 'mkdir -p "build_gz/$(dirname "${1#dist/}")" && gzip -k "$1" -c > "build_gz/${1#dist/}".gz' _ {} \; + - name: Write git rev to file + run: echo "$GITHUB_SHA" > build_gz/fs_hash.txt && echo "$GITHUB_SHA" > output/commit.txt + - name: Check GZipped directory size + run: | + # Set the threshold size in bytes + THRESHOLD=409600 + + # Calculate the total size of files in the directory + DIRECTORY_SIZE=$(du -b -s build_gz | awk '{print $1}') + + # Fail the workflow if the size exceeds the threshold + if [ "$DIRECTORY_SIZE" -gt "$THRESHOLD" ]; then + echo "Directory size exceeds the threshold of $THRESHOLD bytes" + exit 1 + else + echo "Directory size is within the threshold $DIRECTORY_SIZE" + fi + - name: Create tarball + run: tar czf webui.tgz --strip-components=1 dist + - name: Build LittleFS + run: | + set -e + /tmp/mklittlefs/mklittlefs -c build_gz -s 409600 output/littlefs.bin + - name: Upload artifacts + uses: https://code.forgejo.org/forgejo/upload-artifact@v4 + with: + path: | + webui.tgz + output/littlefs.bin + - name: Create release + if: github.event_name == 'push' && github.ref == 'refs/heads/main' + uses: https://code.forgejo.org/actions/forgejo-release@v2.4.0 + with: + url: 'https://git.btclock.dev/' + repo: '${{ github.repository }}' + direction: upload + tag: ${{ steps.getBlockHeight.outputs.blockHeight }} + sha: '${{ github.sha }}' + release-dir: output + token: ${{ secrets.TOKEN }} + override: false + verbose: false + release-notes-assistant: false From d74e9dab60772ef11f9b033cfe982d216a9c95ee Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Wed, 27 Nov 2024 10:03:32 +0100 Subject: [PATCH 09/74] Add Mow suffix mode setting --- src/lib/locales/de.json | 3 ++- src/lib/locales/en.json | 3 ++- src/lib/locales/es.json | 3 ++- src/lib/locales/nl.json | 3 ++- src/routes/Settings.svelte | 10 ++++++++++ 5 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/lib/locales/de.json b/src/lib/locales/de.json index 946b962..2ae345f 100644 --- a/src/lib/locales/de.json +++ b/src/lib/locales/de.json @@ -42,7 +42,8 @@ "httpAuthUser": "WebUI-Benutzername", "httpAuthPass": "WebUI-Passwort", "httpAuthText": "Schützt nur die WebUI mit einem Passwort, nicht API-Aufrufe.", - "currencies": "Währungen" + "currencies": "Währungen", + "mowMode": "Mow suffixmodus" }, "control": { "systemInfo": "Systeminfo", diff --git a/src/lib/locales/en.json b/src/lib/locales/en.json index a9ba033..32af86e 100644 --- a/src/lib/locales/en.json +++ b/src/lib/locales/en.json @@ -54,7 +54,8 @@ "httpAuthText": "Only password-protects WebUI, not API-calls.", "currencies": "Currencies", "stagingSource": "Use Staging datasource (for development)", - "useNostrTooltip": "Very experimental and unstable. Nostr data source is not required for Nostr Zap notifications." + "useNostrTooltip": "Very experimental and unstable. Nostr data source is not required for Nostr Zap notifications.", + "mowMode": "Mow Suffix Mode" }, "control": { "systemInfo": "System info", diff --git a/src/lib/locales/es.json b/src/lib/locales/es.json index 5eced4c..891f5ba 100644 --- a/src/lib/locales/es.json +++ b/src/lib/locales/es.json @@ -41,7 +41,8 @@ "httpAuthUser": "Nombre de usuario WebUI", "httpAuthPass": "Contraseña WebUI", "httpAuthText": "Solo la WebUI está protegida con contraseña, no las llamadas API.", - "currencies": "Monedas" + "currencies": "Monedas", + "mowMode": "Modo de sufijo Mow" }, "control": { "turnOff": "Apagar", diff --git a/src/lib/locales/nl.json b/src/lib/locales/nl.json index f126bcf..f000bd1 100644 --- a/src/lib/locales/nl.json +++ b/src/lib/locales/nl.json @@ -42,7 +42,8 @@ "httpAuthUser": "WebUI-gebruikersnaam", "httpAuthPass": "WebUI-wachtwoord", "httpAuthText": "Beveiligd enkel WebUI, niet de API.", - "currencies": "Valuta's" + "currencies": "Valuta's", + "mowMode": "Mow achtervoegsel" }, "control": { "systemInfo": "Systeeminformatie", diff --git a/src/routes/Settings.svelte b/src/routes/Settings.svelte index 40df8d3..761c6ee 100644 --- a/src/routes/Settings.svelte +++ b/src/routes/Settings.svelte @@ -651,6 +651,16 @@ label={$_('section.settings.suffixPrice')} /> + + + Date: Thu, 28 Nov 2024 17:40:10 +0100 Subject: [PATCH 10/74] Dependency updates, increase fs allowance, split up settings section and add settings --- .forgejo/workflows/build.yaml | 4 +- package.json | 1 + src/components/ToggleHeader.svelte | 28 + src/lib/locales/de.json | 14 +- src/lib/locales/en.json | 18 +- src/lib/locales/es.json | 14 +- src/lib/locales/nl.json | 14 +- src/routes/Settings.svelte | 1336 +++++++++++++++------------- src/routes/Status.svelte | 2 +- yarn.lock | 310 +++++-- 10 files changed, 1044 insertions(+), 697 deletions(-) create mode 100644 src/components/ToggleHeader.svelte diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index fe38500..b439c55 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -81,7 +81,7 @@ jobs: - name: Check GZipped directory size run: | # Set the threshold size in bytes - THRESHOLD=409600 + THRESHOLD=419840 # Calculate the total size of files in the directory DIRECTORY_SIZE=$(du -b -s build_gz | awk '{print $1}') @@ -98,7 +98,7 @@ jobs: - name: Build LittleFS run: | set -e - /tmp/mklittlefs/mklittlefs -c build_gz -s 409600 output/littlefs.bin + /tmp/mklittlefs/mklittlefs -c build_gz -s 419840 output/littlefs.bin - name: Upload artifacts uses: https://code.forgejo.org/forgejo/upload-artifact@v4 with: diff --git a/package.json b/package.json index 9c4937d..930fc00 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "msgpack-es": "^0.0.5", "nostr-tools": "^2.7.1", "patch-package": "^8.0.0", + "svelte-bootstrap-icons": "^3.1.1", "svelte-i18n": "^4.0.0" }, "resolutions": { diff --git a/src/components/ToggleHeader.svelte b/src/components/ToggleHeader.svelte new file mode 100644 index 0000000..acc8d3b --- /dev/null +++ b/src/components/ToggleHeader.svelte @@ -0,0 +1,28 @@ + + +

+ (isOpen = !isOpen)} + tabindex="0" + on:keypress={() => (isOpen = !isOpen)} + > + {#if isOpen} + + {:else} + + {/if} + {header} + +

+ + + diff --git a/src/lib/locales/de.json b/src/lib/locales/de.json index 2ae345f..50c6ffc 100644 --- a/src/lib/locales/de.json +++ b/src/lib/locales/de.json @@ -43,7 +43,19 @@ "httpAuthPass": "WebUI-Passwort", "httpAuthText": "Schützt nur die WebUI mit einem Passwort, nicht API-Aufrufe.", "currencies": "Währungen", - "mowMode": "Mow suffixmodus" + "mowMode": "Mow suffixmodus", + "suffixShareDot": "Kompakte Suffix-Notation", + "section": { + "displaysAndLed": "Anzeigen und LEDs", + "screenSettings": "Infospezifisch", + "dataSource": "Datenquelle", + "extraFeatures": "Zusätzliche Funktionen", + "system": "System" + }, + "ledFlashOnZap": "LED blinkt bei Nostr Zap", + "flFlashOnZap": "Displaybeleuchting bei Nostr Zap", + "showAll": "Alle anzeigen", + "hideAll": "Alles ausblenden" }, "control": { "systemInfo": "Systeminfo", diff --git a/src/lib/locales/en.json b/src/lib/locales/en.json index 32af86e..b4420dd 100644 --- a/src/lib/locales/en.json +++ b/src/lib/locales/en.json @@ -41,7 +41,7 @@ "nostrZapKey": "Nostr zap pubkey", "nostrRelay": "Nostr Relay", "nostrZapNotify": "Nostr Zap Notifications", - "useNostr": "Use Nostr datasource", + "useNostr": "Use Nostr data source", "bitaxeHostname": "BitAxe hostname or IP", "bitaxeEnabled": "Enable BitAxe", "nostrZapPubkey": "Nostr Zap pubkey", @@ -53,9 +53,21 @@ "httpAuthPass": "WebUI Password", "httpAuthText": "Only password-protects WebUI, not API-calls.", "currencies": "Currencies", - "stagingSource": "Use Staging datasource (for development)", + "stagingSource": "Use Staging data source (for development)", "useNostrTooltip": "Very experimental and unstable. Nostr data source is not required for Nostr Zap notifications.", - "mowMode": "Mow Suffix Mode" + "mowMode": "Mow Suffix Mode", + "suffixShareDot": "Suffix compact notation", + "section": { + "displaysAndLed": "Displays and LEDs", + "screenSettings": "Screen specific", + "dataSource": "Data source", + "extraFeatures": "Extra features", + "system": "System" + }, + "ledFlashOnZap": "LED flash on Nostr Zap", + "flFlashOnZap": "Frontlight flash on Nostr Zap", + "showAll": "Show all", + "hideAll": "Hide all" }, "control": { "systemInfo": "System info", diff --git a/src/lib/locales/es.json b/src/lib/locales/es.json index 891f5ba..121767f 100644 --- a/src/lib/locales/es.json +++ b/src/lib/locales/es.json @@ -42,7 +42,19 @@ "httpAuthPass": "Contraseña WebUI", "httpAuthText": "Solo la WebUI está protegida con contraseña, no las llamadas API.", "currencies": "Monedas", - "mowMode": "Modo de sufijo Mow" + "mowMode": "Modo de sufijo Mow", + "suffixShareDot": "Notación compacta de sufijo", + "section": { + "displaysAndLed": "Pantallas y LED", + "screenSettings": "Específico de la pantalla", + "dataSource": "fuente de datos", + "extraFeatures": "Funciones adicionales", + "system": "Sistema" + }, + "ledFlashOnZap": "LED parpadeante con Nostr Zap", + "flFlashOnZap": "Flash de luz frontal con Nostr Zap", + "showAll": "Mostrar todo", + "hideAll": "Ocultar todo" }, "control": { "turnOff": "Apagar", diff --git a/src/lib/locales/nl.json b/src/lib/locales/nl.json index f000bd1..65c120e 100644 --- a/src/lib/locales/nl.json +++ b/src/lib/locales/nl.json @@ -43,7 +43,19 @@ "httpAuthPass": "WebUI-wachtwoord", "httpAuthText": "Beveiligd enkel WebUI, niet de API.", "currencies": "Valuta's", - "mowMode": "Mow achtervoegsel" + "mowMode": "Mow achtervoegsel", + "suffixShareDot": "Achtervoegsel compacte notatie", + "section": { + "displaysAndLed": "Displays en LED's", + "screenSettings": "Schermspecifiek", + "dataSource": "Gegevensbron", + "extraFeatures": "Extra functies", + "system": "Systeem" + }, + "ledFlashOnZap": "Knipper LED bij Nostr Zap", + "flFlashOnZap": "Knipper displaylicht bij Nostr Zap", + "showAll": "Toon alles", + "hideAll": "Alles verbergen" }, "control": { "systemInfo": "Systeeminformatie", diff --git a/src/routes/Settings.svelte b/src/routes/Settings.svelte index 761c6ee..dbaf3b1 100644 --- a/src/routes/Settings.svelte +++ b/src/routes/Settings.svelte @@ -24,6 +24,7 @@ import EyeIcon from '../icons/EyeIcon.svelte'; import EyeSlashIcon from '../icons/EyeSlashIcon.svelte'; import { derived } from 'svelte/store'; + import ToggleHeader from '../components/ToggleHeader.svelte'; export let settings; @@ -196,647 +197,750 @@ } }; + const showAll = (show: boolean) => { + screenSettingsIsOpen = show; + displaysAndLedIsOpen = show; + dataSourceIsOpen = show; + extraFeaturesIsOpen = show; + systemIsOpen = show; + }; + export let xs = 12; export let sm = xs; export let md = sm; export let lg = md; export let xl = lg; export let xxl = xl; + + let screenSettingsIsOpen: boolean, + displaysAndLedIsOpen: boolean, + dataSourceIsOpen: boolean, + extraFeaturesIsOpen: boolean, + systemIsOpen: boolean; +
+ + | + +
{$_('section.settings.title', { default: 'Settings' })}
-
+ - - - - - - - - - - - - - - - {$_('time.minutes')} - - - - - - - - - {$_('time.minutes')} - - - - - - - - - {$_('time.seconds')} - - {$_('section.settings.shortAmountsWarning')} - - - - - - - - {$_('time.minutes')} - - - {$_('section.settings.tzOffsetHelpText')} - - - - - - - - - {#if $settings.hasFrontlight && !$settings.flDisable} - - - - - - - - - - - - - {/if} - {#if !$settings.flDisable && $settings.hasLightLevel} - - - - - - - {/if} - {#if $settings.bitaxeEnabled} - - - - - - - - - - {/if} - {#if 'nostrZapNotify' in $settings && $settings['nostrZapNotify']} - - - - checkValidNostrPubkey('nostrZapPubkey')} - invalid={!isValidHexPubKey($settings.nostrZapPubkey)} - bsSize={$uiSettings.inputSize} - required - minlength="64" - > - {#if !isValidHexPubKey($settings.nostrZapPubkey)} - {$_('section.settings.invalidNostrPubkey')} - {/if} - - - {/if} - {#if $settings.useNostr} - - - - checkValidNostrPubkey('nostrPubKey')} - invalid={!isValidHexPubKey($settings.nostrPubKey)} - bsSize={$uiSettings.inputSize} - > - {#if !isValidHexPubKey($settings.nostrPubKey)} - {$_('section.settings.invalidNostrPubkey')} - {/if} - - - {/if} - {#if 'nostrZapNotify' in $settings || $settings.useNostr} - - - - - - - - - - {/if} - - - - - - - - HTTPS - - - {$_('section.settings.mempoolInstanceHelpText')} - - - {#if $settings.httpAuthEnabled} - - - - - - - - - - - - - - {$_('section.settings.httpAuthText')} - - - {/if} - - - - - - - - - - - {#each wifiTxPowerMap as [key, value]} - - {/each} - - {$_('section.settings.wifiTxPowerText')} - - - - - - - - {$_('time.seconds')} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {#if $settings.hasFrontlight} - - - - {/if} - {#if $settings.hasFrontlight && !$settings.flDisable} - - - - - - - {/if} - {#if !$settings.actCurrencies} - - - - {/if} - - - - {#if $settings.nostrRelay} - - - - {$_('section.settings.useNostrTooltip')} - - - {/if} - {#if 'nostrZapNotify' in $settings} - - - - {/if} - {#if 'bitaxeEnabled' in $settings} - - - - {/if} - - - - - - - - - - {#if 'stagingSource' in $settings} - - - - {/if} - - - -

{$_('section.settings.screens')}

- {#if $settings.screens} - {#each $settings.screens as s} + - {/each} - {/if} - - {#if $settings.actCurrencies && $settings.useNostr !== true} - -

{$_('section.settings.currencies')}

- {$_('restartRequired')} - {#if $settings.availableCurrencies} - {#each $settings.availableCurrencies as c} + + + + + + + + + + + + + + + + + + + + + {#if !$settings.actCurrencies} -
- - -
+ - {/each} + {/if} +
+ +
{$_('section.settings.screens')}
+ {#if $settings.screens} + {#each $settings.screens as s} + + + + {/each} + {/if} +
+ {#if $settings.actCurrencies && $settings.useNostr !== true} + +
{$_('section.settings.currencies')}
+ {$_('restartRequired')} + {#if $settings.availableCurrencies} + {#each $settings.availableCurrencies as c} + +
+ + +
+ + {/each} + {/if} +
{/if} -
- {/if} + + + + + + + + + + + + + + + + + + + {$_('time.minutes')} + + + + + + + + + {$_('time.minutes')} + + + + + + + + + {$_('time.seconds')} + + {$_('section.settings.shortAmountsWarning')} + + + + + + + + + {#if $settings.hasFrontlight && !$settings.flDisable} + + + + + + + + + + + + + {/if} + {#if !$settings.flDisable && $settings.hasLightLevel} + + + + + + + {/if} + + + + + + + + + + + {#if $settings.hasFrontlight} + + + + {/if} + {#if $settings.hasFrontlight && !$settings.flDisable} + + + + + + + {/if} + + + + + + + + + + + + HTTPS + + + {$_('section.settings.mempoolInstanceHelpText')} + + + + + + + {#if $settings.nostrRelay} + + + + {$_('section.settings.useNostrTooltip')} + + + {/if} + {#if 'stagingSource' in $settings} + + + + {/if} + + + + + {#if $settings.bitaxeEnabled} + + + + + + + + + + {/if} + {#if 'nostrZapNotify' in $settings && $settings['nostrZapNotify']} + + + + checkValidNostrPubkey('nostrZapPubkey')} + invalid={!isValidHexPubKey($settings.nostrZapPubkey)} + bsSize={$uiSettings.inputSize} + required + minlength="64" + > + {#if !isValidHexPubKey($settings.nostrZapPubkey)} + {$_('section.settings.invalidNostrPubkey')} + {/if} + + + {/if} + {#if $settings.useNostr} + + + + checkValidNostrPubkey('nostrPubKey')} + invalid={!isValidHexPubKey($settings.nostrPubKey)} + bsSize={$uiSettings.inputSize} + > + {#if !isValidHexPubKey($settings.nostrPubKey)} + {$_('section.settings.invalidNostrPubkey')} + {/if} + + + {/if} + {#if 'nostrZapNotify' in $settings || $settings.useNostr} + + + + + + + + + + {/if} + + {#if 'bitaxeEnabled' in $settings} + + + + {/if} + {#if 'nostrZapNotify' in $settings} + + + + + + + {#if $settings.hasFrontlight && !$settings.flDisable} + + + + {/if} + {/if} + + + + + + + + + + {$_('time.minutes')} + + + {$_('section.settings.tzOffsetHelpText')} + + + {#if $settings.httpAuthEnabled} + + + + + + + + + + + + + + {$_('section.settings.httpAuthText')} + + + {/if} + + + + + + + + + + + {#each wifiTxPowerMap as [key, value]} + + {/each} + + {$_('section.settings.wifiTxPowerText')} + + + + + + + + {$_('time.seconds')} + + + + + + + + + + + + + + + + + diff --git a/src/routes/Status.svelte b/src/routes/Status.svelte index 7121106..1e76da6 100644 --- a/src/routes/Status.svelte +++ b/src/routes/Status.svelte @@ -136,7 +136,7 @@ {#if $settings.actCurrencies && $settings.ownDataSource} -
+
{#each $settings.actCurrencies as c}
-
+
{ - await page.route('*/**/api/status', async (route) => { - await route.fulfill({ json: statusJson }); - }); - - await page.route('*/**/api/show/screen/1', async (route) => { - //if (route.request().url().includes('*/**/api/show/screen/1')) { - statusJson.currentScreen = 1; - statusJson.data = ['MSCW/TIME', ' ', ' ', '2', '6', '4', '4']; - statusJson.rendered = statusJson.data; - //} - - await route.fulfill({ json: statusJson }); - }); - - await page.route('*/**/api/show/screen/2', async (route) => { - statusJson.currentScreen = 2; - statusJson.data = ['BTC/USD', '$', '3', '7', '8', '2', '4']; - statusJson.rendered = statusJson.data; - - await route.fulfill({ json: statusJson }); - }); - - await page.route('*/**/api/show/screen/4', async (route) => { - statusJson.currentScreen = 4; - statusJson.data = ['BIT/COIN', 'HALV/ING', '0/YRS', '149/DAYS', '8/HRS', '30/MINS', 'TO/GO']; - statusJson.rendered = statusJson.data; - - await route.fulfill({ json: statusJson }); - }); - - await page.route('*/**/api/settings', async (route) => { - await route.fulfill({ json: settingsJson }); - }); - - await page.route('**/events', (route) => { - const newStatus = statusJson; - newStatus.data = ['BLOCK/HEIGHT', '8', '0', '0', '8', '1', '5']; - - // Respond with a custom SSE message - route.fulfill({ - status: 200, - contentType: 'text/event-stream', - json: `${JSON.stringify(newStatus)}\n\n` - }); - }); -}); +test.beforeEach(initMock); test('index page has expected columns control, status, settings', async ({ page }) => { await page.goto('/'); @@ -181,6 +74,8 @@ test('time values can not be zero or negative', async ({ page }) => { }); test('info message when fetch eur price is enabled', async ({ page }) => { + delete (settingsJson as { actCurrencies?: string[] }).actCurrencies; + await page.goto('/'); await page.getByRole('button', { name: 'Show all' }).click(); diff --git a/tests/screenshots/viewport-screenshots.spec.ts b/tests/screenshots/viewport-screenshots.spec.ts new file mode 100644 index 0000000..9628342 --- /dev/null +++ b/tests/screenshots/viewport-screenshots.spec.ts @@ -0,0 +1,77 @@ +import { test, expect } from '@playwright/test'; + +import { initMock, settingsJson } from '../shared'; + +test.beforeEach(initMock); + +test('capture screenshots across devices', async ({ page }) => { + await page.goto('/'); + await expect(page.getByRole('heading', { name: 'Control' })).toBeVisible(); + await expect(page.getByRole('heading', { name: 'Status' })).toBeVisible(); + await expect(page.getByRole('heading', { name: 'Settings' })).toBeVisible(); + + await page.screenshot({ + path: `./test-results/screenshots/default-${test.info().project.name}.png`, + fullPage: true + }); +}); + +test('capture screenshots across devices with bitaxe screens', async ({ page }) => { + settingsJson.screens = [ + { + id: 0, + name: 'Block Height', + enabled: true + }, + { + id: 3, + name: 'Time', + enabled: true + }, + { + id: 4, + name: 'Halving countdown', + enabled: true + }, + { + id: 6, + name: 'Block Fee Rate', + enabled: true + }, + { + id: 10, + name: 'Sats per dollar', + enabled: true + }, + { + id: 20, + name: 'Ticker', + enabled: true + }, + { + id: 30, + name: 'Market Cap', + enabled: true + }, + { + id: 80, + name: 'BitAxe Hashrate', + enabled: true + }, + { + id: 81, + name: 'BitAxe Best Difficulty', + enabled: true + } + ]; + + await page.goto('/'); + await expect(page.getByRole('heading', { name: 'Control' })).toBeVisible(); + await expect(page.getByRole('heading', { name: 'Status' })).toBeVisible(); + await expect(page.getByRole('heading', { name: 'Settings' })).toBeVisible(); + + await page.screenshot({ + path: `./test-results/screenshots/bitaxe-${test.info().project.name}.png`, + fullPage: true + }); +}); diff --git a/tests/shared.ts b/tests/shared.ts new file mode 100644 index 0000000..18e7e9d --- /dev/null +++ b/tests/shared.ts @@ -0,0 +1,140 @@ +export const statusJson = { + currentScreen: 0, + numScreens: 7, + timerRunning: true, + espUptime: 4479, + espFreeHeap: 58508, + espHeapSize: 342108, + connectionStatus: { price: true, blocks: true }, + rssi: -66, + data: ['BLOCK/HEIGHT', '8', '1', '8', '0', '2', '6'], + rendered: ['BLOCK/HEIGHT', '8', '1', '8', '0', '2', '6'], + leds: [ + { red: 0, green: 0, blue: 0, hex: '#000000' }, + { red: 0, green: 0, blue: 0, hex: '#000000' }, + { red: 0, green: 0, blue: 0, hex: '#000000' }, + { red: 0, green: 0, blue: 0, hex: '#000000' } + ] +}; + +export const settingsJson = { + numScreens: 7, + fgColor: 415029, + bgColor: 0, + timerSeconds: 1800, + timerRunning: true, + minSecPriceUpd: 30, + fullRefreshMin: 60, + wpTimeout: 600, + tzOffset: 0, + useBitcoinNode: false, + mempoolInstance: 'mempool.space', + ledTestOnPower: true, + ledFlashOnUpd: true, + ledBrightness: 128, + stealFocus: true, + mcapBigChar: true, + mdnsEnabled: true, + otaEnabled: true, + fetchEurPrice: false, + hostnamePrefix: 'btclock', + hostname: 'btclock-d60b14', + ip: '192.168.20.231', + txPower: 78, + gitRev: '25d8b92bcbc8938417c140355ea3ba99ff9eb4b7', + gitTag: '3.1.9', + bitaxeEnabled: false, + bitaxeHostname: 'bitaxe1', + nostrZapNotify: true, + hwRev: 'REV_A_EPD_2_13', + fsRev: '4c5d9616212b27e3f05c35370f0befcf2c5a04b2', + nostrZapPubkey: 'b5127a08cf33616274800a4387881a9f98e04b9c37116e92de5250498635c422', + lastBuildTime: '1700666677', + screens: [ + { + id: 0, + name: 'Block Height', + enabled: true + }, + { + id: 3, + name: 'Time', + enabled: true + }, + { + id: 4, + name: 'Halving countdown', + enabled: true + }, + { + id: 6, + name: 'Block Fee Rate', + enabled: true + }, + { + id: 10, + name: 'Sats per dollar', + enabled: true + }, + { + id: 20, + name: 'Ticker', + enabled: true + }, + { + id: 30, + name: 'Market Cap', + enabled: true + } + ], + actCurrencies: ['USD', 'EUR'], + availableCurrencies: ['USD', 'EUR', 'GBP', 'JPY', 'AUD', 'CAD'] +}; + +export const initMock = async ({ page }) => { + await page.route('*/**/api/status', async (route) => { + await route.fulfill({ json: statusJson }); + }); + + await page.route('*/**/api/show/screen/1', async (route) => { + //if (route.request().url().includes('*/**/api/show/screen/1')) { + statusJson.currentScreen = 1; + statusJson.data = ['MSCW/TIME', ' ', ' ', '2', '6', '4', '4']; + statusJson.rendered = statusJson.data; + //} + + await route.fulfill({ json: statusJson }); + }); + + await page.route('*/**/api/show/screen/2', async (route) => { + statusJson.currentScreen = 2; + statusJson.data = ['BTC/USD', '$', '3', '7', '8', '2', '4']; + statusJson.rendered = statusJson.data; + + await route.fulfill({ json: statusJson }); + }); + + await page.route('*/**/api/show/screen/4', async (route) => { + statusJson.currentScreen = 4; + statusJson.data = ['BIT/COIN', 'HALV/ING', '0/YRS', '149/DAYS', '8/HRS', '30/MINS', 'TO/GO']; + statusJson.rendered = statusJson.data; + + await route.fulfill({ json: statusJson }); + }); + + await page.route('*/**/api/settings', async (route) => { + await route.fulfill({ json: settingsJson }); + }); + + await page.route('**/events', (route) => { + const newStatus = statusJson; + newStatus.data = ['BLOCK/HEIGHT', '8', '0', '0', '8', '1', '5']; + + // Respond with a custom SSE message + route.fulfill({ + status: 200, + contentType: 'text/event-stream', + json: `${JSON.stringify(newStatus)}\n\n` + }); + }); +}; From 653a39d0a339bcf3ac3365eacd2e5e8136ecf4c6 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Thu, 12 Dec 2024 23:04:13 +0100 Subject: [PATCH 18/74] Improvements for xs screens --- playwright.screenshot.config.ts | 15 ++++++ src/lib/style/app.scss | 38 +++++++++++++- src/routes/+layout.svelte | 26 ++++++++-- src/routes/+page.svelte | 50 ++++++++++++++++--- src/routes/Control.svelte | 4 +- src/routes/Settings.svelte | 4 +- src/routes/Status.svelte | 4 +- .../screenshots/viewport-screenshots.spec.ts | 22 +++++--- vite.config.ts | 8 +++ 9 files changed, 146 insertions(+), 25 deletions(-) diff --git a/playwright.screenshot.config.ts b/playwright.screenshot.config.ts index 2eadd5f..81264a4 100644 --- a/playwright.screenshot.config.ts +++ b/playwright.screenshot.config.ts @@ -1,6 +1,7 @@ import { defineConfig, devices } from '@playwright/test'; export default defineConfig({ + reporter: 'html', use: { locale: 'en-GB', timezoneId: 'Europe/Amsterdam' @@ -31,6 +32,20 @@ export default defineConfig({ use: { viewport: { width: 1512, height: 982 } } + }, + { + name: 'MacBook Pro 14 inch', + use: { + viewport: { width: 1512, height: 982 } + } + }, + { + name: 'MacBook Pro 14 inch Firefox HiDPI', + use: { ...devices['Desktop Firefox HiDPI'], viewport: { width: 1512, height: 982 } } + }, + { + name: 'MacBook Pro 14 inch Safari', + use: { ...devices['Desktop Safari'], viewport: { width: 1512, height: 982 } } } ] }); diff --git a/src/lib/style/app.scss b/src/lib/style/app.scss index 002e5db..0703d06 100644 --- a/src/lib/style/app.scss +++ b/src/lib/style/app.scss @@ -1,6 +1,4 @@ @import '../node_modules/bootstrap/scss/functions'; -@import '../node_modules/bootstrap/scss/variables'; -@import '../node_modules/bootstrap/scss/variables-dark'; //@import "@fontsource/antonio/latin-400.css"; @import '@fontsource/ubuntu/latin-400.css'; @@ -14,6 +12,8 @@ $font-family-base: 'Ubuntu'; $font-size-base: 0.9rem; $input-font-size-sm: $font-size-base * 0.875; +@import '../node_modules/bootstrap/scss/variables'; +@import '../node_modules/bootstrap/scss/variables-dark'; // $border-radius: .675rem; @import '../node_modules/bootstrap/scss/mixins'; @@ -43,6 +43,40 @@ $input-font-size-sm: $font-size-base * 0.875; @import '../node_modules/bootstrap/scss/helpers'; @import '../node_modules/bootstrap/scss/utilities/api'; +/* Default state (xs) - sticky */ +.sticky-xs-top { + position: sticky; + top: 0; + z-index: 1020; +} + +@media (max-width: 576px) { + main { + margin-top: 25px; + } +} + +/* Remove sticky behavior for larger screens */ +@media (min-width: 576px) { + .sticky-xs-top { + position: relative; + } +} + +@include color-mode(dark) { + .navbar { + --bs-navbar-color: $light; + background-color: $dark; + } +} + +@include color-mode(light) { + .navbar { + --bs-navbar-color: $dark; + background-color: $light; + } +} + nav { margin-bottom: 15px; } diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 0faad53..e421f5a 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -12,6 +12,7 @@ NavbarBrand, NavbarToggler } from '@sveltestrap/sveltestrap'; + import { _ } from 'svelte-i18n'; import { page } from '$app/stores'; import { locale, locales, isLoading } from 'svelte-i18n'; @@ -38,7 +39,7 @@ return flagMap[lowercaseCode]; } else { // Return null for unsupported language codes - return null; + return flagMap['en']; } }; @@ -61,8 +62,23 @@ }; - - ₿TClock + + ₿TClock + + @@ -94,4 +110,6 @@ - +
+ +
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index b37ab13..c2e4e3b 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -3,6 +3,7 @@ import { screenSize, updateScreenSize } from '$lib/screen'; import { Container, Row, Toast, ToastBody } from '@sveltestrap/sveltestrap'; + import { replaceState } from '$app/navigation'; import { onMount } from 'svelte'; import { writable } from 'svelte/store'; @@ -16,12 +17,6 @@ bgColor: '0' }); - // let uiSettings = writable({ - // inputSize: 'sm', - // selectClass: '', - // btnSize: 'lg' - // }); - let status = writable({ data: ['L', 'O', 'A', 'D', 'I', 'N', 'G'], espFreeHeap: 0, @@ -60,7 +55,43 @@ }); }; + let sections: (HTMLElement | null)[]; + let observer: IntersectionObserver; + const SM_BREAKPOINT = 576; + + const setupObserver = () => { + if (window.innerWidth < SM_BREAKPOINT) { + observer = new IntersectionObserver( + (entries) => { + entries.forEach((entry) => { + if (entry.isIntersecting) { + const id = entry.target.id; + replaceState(`#${id}`); + + // Update nav pills + document.querySelectorAll('.nav-link').forEach((link) => { + link.classList.remove('active'); + if (link.getAttribute('href') === `#${id}`) { + link.classList.add('active'); + } + }); + } + }); + }, + { + threshold: 0.25 // Trigger when section is 50% visible + } + ); + + sections = ['control', 'status', 'settings'].map((id) => document.getElementById(id)); + + sections.forEach((section) => observer.observe(section!)); + } + }; + onMount(() => { + setupObserver(); + fetchSettingsData(); fetchStatusData(); @@ -72,6 +103,11 @@ }); function handleResize() { + if (observer) { + observer.disconnect(); + } + setupObserver(); + updateScreenSize(); } @@ -125,7 +161,9 @@ + + diff --git a/src/routes/Control.svelte b/src/routes/Control.svelte index d89ee10..25f5a44 100644 --- a/src/routes/Control.svelte +++ b/src/routes/Control.svelte @@ -105,8 +105,8 @@ export let xxl = xl; - - + + {$_('section.control.title', { default: 'Control' })} diff --git a/src/routes/Settings.svelte b/src/routes/Settings.svelte index 141c512..77c8a3d 100644 --- a/src/routes/Settings.svelte +++ b/src/routes/Settings.svelte @@ -221,8 +221,8 @@ systemIsOpen: boolean; - - + +
- - + + {$_('section.status.title', { default: 'Status' })} diff --git a/tests/screenshots/viewport-screenshots.spec.ts b/tests/screenshots/viewport-screenshots.spec.ts index 9628342..573b059 100644 --- a/tests/screenshots/viewport-screenshots.spec.ts +++ b/tests/screenshots/viewport-screenshots.spec.ts @@ -4,19 +4,23 @@ import { initMock, settingsJson } from '../shared'; test.beforeEach(initMock); -test('capture screenshots across devices', async ({ page }) => { +test('capture screenshots across devices', async ({ page }, testInfo) => { await page.goto('/'); await expect(page.getByRole('heading', { name: 'Control' })).toBeVisible(); await expect(page.getByRole('heading', { name: 'Status' })).toBeVisible(); await expect(page.getByRole('heading', { name: 'Settings' })).toBeVisible(); - await page.screenshot({ - path: `./test-results/screenshots/default-${test.info().project.name}.png`, - fullPage: true + const screenshot = await page.screenshot({ + path: `./test-results/screenshots/default-${test.info().project.name.toLowerCase().replace(' ', '_')}.png` + }); + + await testInfo.attach(`default`, { + body: screenshot, + contentType: 'image/png' }); }); -test('capture screenshots across devices with bitaxe screens', async ({ page }) => { +test('capture screenshots across devices with bitaxe screens', async ({ page }, testInfo) => { settingsJson.screens = [ { id: 0, @@ -71,7 +75,11 @@ test('capture screenshots across devices with bitaxe screens', async ({ page }) await expect(page.getByRole('heading', { name: 'Settings' })).toBeVisible(); await page.screenshot({ - path: `./test-results/screenshots/bitaxe-${test.info().project.name}.png`, - fullPage: true + path: `./test-results/screenshots/bitaxe-${test.info().project.name.toLowerCase().replace(' ', '_')}.png` + }); + + await testInfo.attach(`bitaxe`, { + path: `./test-results/screenshots/bitaxe-${test.info().project.name.toLowerCase().replace(' ', '_')}.png`, + contentType: 'image/png' }); }); diff --git a/vite.config.ts b/vite.config.ts index bb8e5b2..b2ed254 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -76,6 +76,14 @@ export default defineConfig({ } } }, + css: { + preprocessorOptions: { + scss: { + quietDeps: true, + silenceDeprecations: ['import'] + } + } + }, test: { include: ['src/**/*.{test,spec}.{js,ts}'], globals: true, From 266a99be96189bea92e0ef593f930bb92d3b5b20 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Wed, 18 Dec 2024 00:45:26 +0100 Subject: [PATCH 19/74] Add vertical screen description option --- src/lib/locales/de.json | 3 ++- src/lib/locales/en.json | 3 ++- src/lib/locales/es.json | 3 ++- src/lib/locales/nl.json | 3 ++- src/lib/style/app.scss | 10 ++++++++-- src/routes/Rendered.svelte | 15 ++++++++------- src/routes/Settings.svelte | 9 +++++++++ src/routes/Status.svelte | 6 +++++- 8 files changed, 38 insertions(+), 14 deletions(-) diff --git a/src/lib/locales/de.json b/src/lib/locales/de.json index a26ab60..e9756ff 100644 --- a/src/lib/locales/de.json +++ b/src/lib/locales/de.json @@ -57,7 +57,8 @@ "showAll": "Alle anzeigen", "hideAll": "Alles ausblenden", "flOffWhenDark": "Displaybeleuchtung aus, wenn es dunkel ist", - "luxLightToggleText": "Zum Deaktivieren auf 0 setzen" + "luxLightToggleText": "Zum Deaktivieren auf 0 setzen", + "verticalDesc": "Vrtikale Bildschirmbeschreibung" }, "control": { "systemInfo": "Systeminfo", diff --git a/src/lib/locales/en.json b/src/lib/locales/en.json index 6e829bd..3ab90ed 100644 --- a/src/lib/locales/en.json +++ b/src/lib/locales/en.json @@ -69,7 +69,8 @@ "showAll": "Show all", "hideAll": "Hide all", "flOffWhenDark": "Frontlight off when dark", - "luxLightToggleText": "Set to 0 to disable" + "luxLightToggleText": "Set to 0 to disable", + "verticalDesc": "Use vertical screen description" }, "control": { "systemInfo": "System info", diff --git a/src/lib/locales/es.json b/src/lib/locales/es.json index eb15ced..79b6673 100644 --- a/src/lib/locales/es.json +++ b/src/lib/locales/es.json @@ -56,7 +56,8 @@ "showAll": "Mostrar todo", "hideAll": "Ocultar todo", "flOffWhenDark": "Luz de la pantalla cuando está oscuro", - "luxLightToggleText": "Establecer en 0 para desactivar" + "luxLightToggleText": "Establecer en 0 para desactivar", + "verticalDesc": "Descripción de pantalla vertical" }, "control": { "turnOff": "Apagar", diff --git a/src/lib/locales/nl.json b/src/lib/locales/nl.json index b31f7ad..eb5b5af 100644 --- a/src/lib/locales/nl.json +++ b/src/lib/locales/nl.json @@ -57,7 +57,8 @@ "showAll": "Toon alles", "hideAll": "Alles verbergen", "flOffWhenDark": "Displaylicht uit als het donker is", - "luxLightToggleText": "Stel in op 0 om uit te schakelen" + "luxLightToggleText": "Stel in op 0 om uit te schakelen", + "verticalDesc": "Verticale schermbeschrijving" }, "control": { "systemInfo": "Systeeminformatie", diff --git a/src/lib/style/app.scss b/src/lib/style/app.scss index 0703d06..8e9115c 100644 --- a/src/lib/style/app.scss +++ b/src/lib/style/app.scss @@ -158,12 +158,18 @@ nav { padding: 5px; } - .splitText div:first-child::after { + &.verticalDesc > .splitText:first-child { + .textcontainer { + transform: rotate(-90deg); + } + } + + .splitText .textcontainer :first-child::after { display: block; content: ''; margin-top: 0px; border-bottom: 2px solid; - margin-bottom: 3px; + // margin-bottom: 3px; } .splitText { diff --git a/src/routes/Rendered.svelte b/src/routes/Rendered.svelte index 4c4167b..99c3a26 100644 --- a/src/routes/Rendered.svelte +++ b/src/routes/Rendered.svelte @@ -9,7 +9,7 @@ }; export let className = 'btclock-wrapper'; - + export let verticalDesc = false; // Define the currency symbols as constants const CURRENCY_USD = '$'; const CURRENCY_EUR = '['; @@ -44,15 +44,16 @@
-
+
{#each status.data as char} {#if isSplitText(char)}
- {#if char.split('/').length} - {char.split('/')[0]} -
- {char.split('/')[1]} - {/if} +
+ {#if char.split('/').length} + {char.split('/')[0]} + {char.split('/')[1]} + {/if} +
diff --git a/src/routes/Settings.svelte b/src/routes/Settings.svelte index 77c8a3d..8130940 100644 --- a/src/routes/Settings.svelte +++ b/src/routes/Settings.svelte @@ -318,6 +318,15 @@ label={$_('section.settings.suffixShareDot')} /> + + + {#if !$settings.actCurrencies} diff --git a/src/routes/Status.svelte b/src/routes/Status.svelte index afe2c87..812ee68 100644 --- a/src/routes/Status.svelte +++ b/src/routes/Status.svelte @@ -151,7 +151,11 @@
{#if $status.data}
- +
{$_('section.status.screenCycle')}: Date: Wed, 18 Dec 2024 01:24:21 +0100 Subject: [PATCH 20/74] Add bitaxe icon and modify tests for it --- src/lib/style/app.scss | 4 ++++ src/routes/Rendered.svelte | 21 ++++++++++++++++-- static/bitaxe.webp | Bin 0 -> 2486 bytes .../screenshots/viewport-screenshots.spec.ts | 5 ++++- 4 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 static/bitaxe.webp diff --git a/src/lib/style/app.scss b/src/lib/style/app.scss index 8e9115c..53eeee8 100644 --- a/src/lib/style/app.scss +++ b/src/lib/style/app.scss @@ -299,3 +299,7 @@ nav { input[type='number'] { text-align: right; } + +.lightMode .bitaxelogo { + filter: brightness(0) saturate(100%); +} diff --git a/src/routes/Rendered.svelte b/src/routes/Rendered.svelte index 99c3a26..d2beb74 100644 --- a/src/routes/Rendered.svelte +++ b/src/routes/Rendered.svelte @@ -59,7 +59,7 @@ {/each} -->
{:else if char.startsWith('mdi')} -
+
{#if char.endsWith('rocket')} {/if} @@ -69,6 +69,9 @@ {#if char.endsWith('bolt')} {/if} + {#if char.endsWith('bitaxe')} + + {/if}
{:else if char === 'STS'}
S
@@ -83,8 +86,22 @@
- diff --git a/static/bitaxe.webp b/static/bitaxe.webp new file mode 100644 index 0000000000000000000000000000000000000000..3c907c12a77647c9f742882dec2ed85e903c5d72 GIT binary patch literal 2486 zcmY*a2|QHm8~(-&V;6%4#WaYLISk3(Xa>nPsK{-(mKn)bW-_)CVaAnR%C${{ERmwR z;*u?-h}4zBwPwu{Zpn5>x7+>y&-Xj$eZKcR&-1?T`JLbIv$rrayDI>Iqv;{?ak8$H zAOK(o_YML;695w{@?i%g0I>OJpZEBOy&E65YxSUKlLwpnd0D%bb+Y?zJr*gd=6N)X_SN;R&!y0bDQQTwn9HD0XXMbxDPmcSLK^$%Vu_u`WKht9r+W(zxNc1ucymbyht z&#gYXn?it*L(Eqs$ItC^R}`08zs>VeUcBq7vO*B;&@z9oiF?NI-jUIxrP_VA-jnCu zM(u{vvgP|48ntdg8j-BR2TZG*eivWi3lfPGA+e;<*oqsU-|#k6#CU7;xe@2#3Vgx$1uTcP}A@nE#`DeaX*FCC7z zy0_MxIrI9`QnEQIN-J8d2y%%p8@s|#6R-@aAzHsjD+%XB5h|VTP(Rx~7~WrL*|3}~ zaUUv+pFW!=v&2qNot$J8!=pu3GLj<@>R;KM%pO#~&0;i)-rd@4AkBB*bHDi5oQ;Uv zQOpOuF_FJUNT>3XWrq9}Hmu!i^mo1EA?zfVH5fyRoKM{q8Fe?`x`{4M-O*26a8|+P<>iY^EtAAD*j>I%mX$(*ODZ~#Dy9RHnTuo?uctjZ+j28W} zJV5bqh1JnnC-?*QR3t3aSdmg;Xy>@#j(xlweN`Y_Pdyx%o@8^hyh^XK{~;b4B>_Tc zOyr`=?pQnB5Noi;{pt5J^-#jvGiX`#jv>CJ`kN0+MpX3;>LLZpNgjQYPxW-pP!ovF z-kgZ2oG)PhTJd!5)yR#5%17si%MhTmND9WDybvr|)O9j_2Xh~C@`H-LZfozGF`RhP z^1!fIO=s0<-dk_7dg8QyRa|6tCAFF}T!%Eqn<)}$nJ3HD$~m2LPnojqB`k&PFc3HJ zyQFy6w)}=nd$XXk6-}7(vZFf-!-g!+R&Tuyw(xN;1u9pf)X4(|bXt;4=DS-%))&9=y3 zr?21t*pt>S40@m&<4=^HOT|xD8IGc1s&2ZMugy8Twxq*!A&(=-wxacb*>_&bSXmBo zszhx}-0t*HQZr!l%t_-Ft9){%U?RD;DTr5;Dx=ZNc*MMmJkgx!9!kxenET5{fL1N? zy8e!+G>g^d_tJVPE`~Ii)0BOxuLYkHBZY@-|)4;VUUx#8pYZ3wRxc@3>ZRf+Z|=6|_Mf}{l_SWjz#jXhuc0l?`IscJdI#s};B;fvlJ!)&L+`8NBNZah z;k+=$a*b<7|GAOE>!p|Tzh*7yn_?3z!cu0soF#1Kjz%|Ro5i4Gyqw$pkw3Rm(|9!6 zu`A`Y#`iZ9ZAeibA#IWmB8yQ`CU#dOqdx`gW^#laB!#l#Z%iYP4b}JxW}!mM@X9J$ z8AVmzoZ+9Iz|l@NFU!V_)wXZzn*Incup7ukL%G*{mcxdRnJlnvx`HQ=7g*j03Pf?r z*wtTa1HzwfVkcI}bOY%% zyQ{loJ}uu5L%+8=&^l%RiS=kT{9+c_=D`63AyG7KLcp=qD&8Z*i`0UJ)lp8$bYUF< z`AHBl6@{o=Av(^j!u`@Y8{4SLZ6N#7BPogY3*lFDYHLq#5AE(O&#=bGq&}GBUEe9z z)EE2*?Bqydc`j^l@3WQPG6*y8e44H0O7Sdd)90|;xY+H%4MVk?5l-v-r9MSVHx{JB zltM*reO*UxQ&A=wYX@2GXv!U6AUf08w^9&vJ|sZbPm#!(N^Ba?m{gW{LNEEC9VTz@ zb}K+EM^fyDY~E}({9nvtv88jeCS!uF6J5}GFWcFRo-5Fue(&^{* zA&9|X;22ssKYtHMQ%_G1(!fJ_ygHYmP7Cs-y9BEH(iHzO`PYX;p}F~co~L{I`C_(w zU0nSx(v7g#twKMpfBK|*Qva*uOT&F@8t3Nc18u#5G;tcx4{xs2a4V~C>+eb7R^IYA k)-?Ra{J-4yI)>0z@&9S&pGm)ExuY5j8bUulo3SAH8~?g1Bme*a literal 0 HcmV?d00001 diff --git a/tests/screenshots/viewport-screenshots.spec.ts b/tests/screenshots/viewport-screenshots.spec.ts index 573b059..5ec5569 100644 --- a/tests/screenshots/viewport-screenshots.spec.ts +++ b/tests/screenshots/viewport-screenshots.spec.ts @@ -1,6 +1,6 @@ import { test, expect } from '@playwright/test'; -import { initMock, settingsJson } from '../shared'; +import { initMock, settingsJson, statusJson } from '../shared'; test.beforeEach(initMock); @@ -69,6 +69,9 @@ test('capture screenshots across devices with bitaxe screens', async ({ page }, } ]; + statusJson.data = ['mdi:bitaxe', '', 'mdi:pickaxe', '6', '3', '7', 'GH/S']; + statusJson.rendered = ['mdi:bitaxe', '', 'mdi:pickaxe', '6', '3', '7', 'GH/S']; + await page.goto('/'); await expect(page.getByRole('heading', { name: 'Control' })).toBeVisible(); await expect(page.getByRole('heading', { name: 'Status' })).toBeVisible(); From 85b9b17506f89696b89ab6f6e6ed231b7a8f6e91 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Wed, 18 Dec 2024 01:28:17 +0100 Subject: [PATCH 21/74] Add alt tag to bitaxe logo --- src/routes/Rendered.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/Rendered.svelte b/src/routes/Rendered.svelte index d2beb74..d544ad8 100644 --- a/src/routes/Rendered.svelte +++ b/src/routes/Rendered.svelte @@ -70,7 +70,7 @@ {/if} {#if char.endsWith('bitaxe')} - + {/if}
{:else if char === 'STS'} From 2bea761d3c69954053882249380ca5a48c31b467 Mon Sep 17 00:00:00 2001 From: kdmukai Date: Mon, 16 Dec 2024 17:32:03 -0600 Subject: [PATCH 22/74] work-in-progress, untested --- README.md | 6 +++++- src/lib/locales/en.json | 2 ++ src/routes/Settings.svelte | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 805bfa1..1e9dd3c 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,11 @@ Make sure the postinstall script is ran, because otherwise the filenames are to ## Deploying -To upload the firmware to the BTClock, you need to GZIP all the files. You can use the python script `gzip_build.py` for that. +To upload the firmware to the BTClock, you need to GZIP all the files. You can use the python script `gzip_build.py` for that: + +```bash +python3 gzip_build.py +``` Then you can make a `LittleFS.bin` with mklittlefs: diff --git a/src/lib/locales/en.json b/src/lib/locales/en.json index 3ab90ed..f08f40b 100644 --- a/src/lib/locales/en.json +++ b/src/lib/locales/en.json @@ -44,6 +44,8 @@ "useNostr": "Use Nostr data source", "bitaxeHostname": "BitAxe hostname or IP", "bitaxeEnabled": "Enable BitAxe", + "miningPoolName": "Mining Pool", + "miningPoolUser": "Mining Pool username or api key", "nostrZapPubkey": "Nostr Zap pubkey", "invalidNostrPubkey": "Invalid Nostr pubkey, note that your pubkey does NOT start with npub.", "convertingValidNpub": "Converting valid npub to pubkey", diff --git a/src/routes/Settings.svelte b/src/routes/Settings.svelte index 8130940..43964f3 100644 --- a/src/routes/Settings.svelte +++ b/src/routes/Settings.svelte @@ -698,6 +698,40 @@ {/if} + {#if $settings.miningPoolStatsEnabled} + + + + + + + + + + + + + {/if} {#if 'nostrZapNotify' in $settings && $settings['nostrZapNotify']} @@ -727,7 +729,6 @@ id="miningPoolUser" bsSize={$uiSettings.inputSize} required - minlength="64" > @@ -811,6 +812,17 @@ /> {/if} + {#if 'miningPoolStatsEnabled' in $settings} + + + + {/if} {#if 'nostrZapNotify' in $settings} Date: Wed, 18 Dec 2024 17:07:23 -0600 Subject: [PATCH 25/74] bugfix for long preferences key --- src/lib/locales/en.json | 2 +- src/routes/Settings.svelte | 10 +++++----- tests/shared.ts | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/lib/locales/en.json b/src/lib/locales/en.json index c4f826e..caab16c 100644 --- a/src/lib/locales/en.json +++ b/src/lib/locales/en.json @@ -44,7 +44,7 @@ "useNostr": "Use Nostr data source", "bitaxeHostname": "BitAxe hostname or IP", "bitaxeEnabled": "Enable BitAxe", - "miningPoolStatsEnabled": "Enable Mining Pool Stats", + "miningPoolStats": "Enable Mining Pool Stats", "miningPoolName": "Mining Pool", "miningPoolUser": "Mining Pool username or api key", "nostrZapPubkey": "Nostr Zap pubkey", diff --git a/src/routes/Settings.svelte b/src/routes/Settings.svelte index 385ebe3..2dbdcdc 100644 --- a/src/routes/Settings.svelte +++ b/src/routes/Settings.svelte @@ -698,7 +698,7 @@ {/if} - {#if $settings.miningPoolStatsEnabled} + {#if $settings.miningPoolStats} {/if} - {#if 'miningPoolStatsEnabled' in $settings} + {#if 'miningPoolStats' in $settings} {/if} diff --git a/tests/shared.ts b/tests/shared.ts index 75ec6ec..716ff1b 100644 --- a/tests/shared.ts +++ b/tests/shared.ts @@ -45,7 +45,7 @@ export const settingsJson = { gitTag: '3.1.9', bitaxeEnabled: false, bitaxeHostname: 'bitaxe1', - miningPoolStatsEnabled: false, + miningPoolStats: false, miningPoolName: 'ocean', miningPoolUser: '38Qkkei3SuF1Eo45BaYmRHUneRD54yyTFy', nostrZapNotify: true, From a00eb5457383cc08b8537dbda39091d2a4808ff3 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Fri, 20 Dec 2024 01:20:15 +0100 Subject: [PATCH 26/74] Get available pools from device --- src/routes/Settings.svelte | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/routes/Settings.svelte b/src/routes/Settings.svelte index 2dbdcdc..147ffe4 100644 --- a/src/routes/Settings.svelte +++ b/src/routes/Settings.svelte @@ -44,6 +44,18 @@ ['5dBm', 20] // 5dBm ]); + const miningPoolMap = new Map([ + ['noderunners', 'pool.noderunners.network'], + ['braiins', 'braiins pool'], + ['ocean', 'ocean.xyz'] + ]); + + const getMiningPoolName = (name: string) => { + if (miningPoolMap.has(name)) return miningPoolMap.get(name); + + return name; + }; + const dispatch = createEventDispatcher(); const handleReset = (e: Event) => { @@ -712,8 +724,9 @@ bsSize={$uiSettings.inputSize} class={$uiSettings.selectClass} > - - + {#each $settings.availablePools as pool} + + {/each} From dfe703d67683f92313bea5080df4d3f6fa4ef26d Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Fri, 20 Dec 2024 01:23:45 +0100 Subject: [PATCH 27/74] Fix capitalization --- src/routes/Settings.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/Settings.svelte b/src/routes/Settings.svelte index 147ffe4..ab07e21 100644 --- a/src/routes/Settings.svelte +++ b/src/routes/Settings.svelte @@ -46,7 +46,7 @@ const miningPoolMap = new Map([ ['noderunners', 'pool.noderunners.network'], - ['braiins', 'braiins pool'], + ['braiins', 'Braiins Pool'], ['ocean', 'ocean.xyz'] ]); From fd328d4f05345eaa73cf27d05bb542eaa6915cdb Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Fri, 20 Dec 2024 04:03:35 +0100 Subject: [PATCH 28/74] Add more mining pools --- src/routes/Settings.svelte | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/routes/Settings.svelte b/src/routes/Settings.svelte index ab07e21..fe9591c 100644 --- a/src/routes/Settings.svelte +++ b/src/routes/Settings.svelte @@ -45,9 +45,12 @@ ]); const miningPoolMap = new Map([ - ['noderunners', 'pool.noderunners.network'], + ['noderunners', 'Noderunners.network'], ['braiins', 'Braiins Pool'], - ['ocean', 'ocean.xyz'] + ['ocean', 'ocean.xyz'], + ['satoshi_radio', 'Satoshi Radio pool'], + ['public_pool', 'public-pool.io'], + ['gobrrr_pool', 'Go Brrr pool'] ]); const getMiningPoolName = (name: string) => { From 551d714cce27afaee1ec6d6e54cb984afe7bd2bf Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Fri, 20 Dec 2024 15:22:59 +0100 Subject: [PATCH 29/74] Remove woff(1) assets, show something when mining pool logo is shown --- src/lib/style/app.scss | 20 +++++++++++++++++--- src/lib/style/satsymbol.scss | 4 +--- src/routes/Rendered.svelte | 7 +++++++ static/fonts/Satoshi_Symbol.woff | Bin 2340 -> 0 bytes 4 files changed, 25 insertions(+), 6 deletions(-) delete mode 100644 static/fonts/Satoshi_Symbol.woff diff --git a/src/lib/style/app.scss b/src/lib/style/app.scss index 53eeee8..c09af73 100644 --- a/src/lib/style/app.scss +++ b/src/lib/style/app.scss @@ -1,9 +1,23 @@ +@use '@fontsource/ubuntu/scss/mixins' as Ubuntu; +@use '@fontsource/antonio/scss/mixins' as Antonio; + @import '../node_modules/bootstrap/scss/functions'; //@import "@fontsource/antonio/latin-400.css"; -@import '@fontsource/ubuntu/latin-400.css'; -//@import '@fontsource/oswald/latin-400.css'; -@import '@fontsource/antonio/latin-400.css'; + +@include Ubuntu.faces( + $subsets: latin, + $weights: 400, + $formats: 'woff2', + $directory: '@fontsource/ubuntu/files' +); + +@include Antonio.faces( + $subsets: latin, + $weights: 400, + $formats: 'woff2', + $directory: '@fontsource/antonio/files' +); @import './satsymbol'; diff --git a/src/lib/style/satsymbol.scss b/src/lib/style/satsymbol.scss index f761701..9b7eefd 100644 --- a/src/lib/style/satsymbol.scss +++ b/src/lib/style/satsymbol.scss @@ -1,8 +1,6 @@ @font-face { font-family: 'Satoshi Symbol'; - src: - url('/fonts/Satoshi_Symbol.woff2') format('woff2'), - url('/fonts/Satoshi_Symbol.woff') format('woff'); + src: url('/fonts/Satoshi_Symbol.woff2') format('woff2'); font-weight: normal; font-style: normal; font-display: swap; diff --git a/src/routes/Rendered.svelte b/src/routes/Rendered.svelte index d544ad8..e4a1783 100644 --- a/src/routes/Rendered.svelte +++ b/src/routes/Rendered.svelte @@ -72,6 +72,9 @@ {#if char.endsWith('bitaxe')} {/if} + {#if char.endsWith('miningpool')} + + {/if}
{:else if char === 'STS'}
S
@@ -104,4 +107,8 @@ .bitaxelogo { transform: rotate(-90deg); } + + .pool-logo { + font-size: 0.75rem; + } diff --git a/static/fonts/Satoshi_Symbol.woff b/static/fonts/Satoshi_Symbol.woff deleted file mode 100644 index 0b184da4ff2afc93b26328061ff4b9c507985d50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2340 zcmZuzc|25m8$V|@vk$Tj(h#x^#!a%^62=;`yphsOGng<8Q|MCBZJ8KxyAm0%B_u7j z7U?R>RASPiZg!Fzk*uN6+%xy>^ZxU`zjMCN^Z7o{_j%6w{XU=H`JDuBIvoH3Xkc^! zg3Oy3$n5_cbh`geNQZ`Unlgx3Ef-vzoaq379*6jP2wH#v5bo_~Mgst_0^(i}7&$H_ zax5;B2LLc#h(CmKaXHc6-@=)ED25(}VzQoSsT6>RM;!?R060_&76Smq$5($iixbLZ zL);wFY=&T^oi{SZfr3zs192?~x;R5v7l(T&5sEEC+z>*i<|YN_s2CQcgN;I5EW;6v zRC6vf5qd5tfVixd0#pFn(M)bA03bafZ6)LdAB5MGc`^J$03avpHwNk5-1z0x#9kJI z&0qi{hPPF5@4s>%(0F|Fl&1AnN-X&`*Y0IYc&k)uQhVJcbuSU6pJf2hgxD^q!H>GS zHB~V$rz{Ob2eQd(WFJri@LPgIv;UEIWoNM%p#Z2)31b6ix2Al>1Ee=V`+xEW6v9PK zP3=uh5fYnp?bKabPSU=ntOL`v9Rq5 z!zPpZKVurcTb!y_6RmxF@KuyVpTdoxnR37ax0= zzcjNjw>bM{o`l9@i5LPdlTm~eoXzlN2sVb;16%ZUte_bHD*wH906d@wTG3@t7xV>F z!0TWy3O8I2Sn+fe|DirRw` zpl+dtsXrUNTFvEwVZI3KaOzd1(w+?6PwjD(IXoXojVzB=EI(fiMH*N$1nv9X7kE2~)>rIMWE# z72S5vg&T%1Br*cUk+&ACuTEPE&GDEgc_f>ZFL-EVg{@@WA%&?4%~6Yt8drifUd#5 z__4_cho?2ZQ@#W>^M%0g$G%_FPcEl&?w*=>bZ@2d-MrT*s>63K__7J^ri=bk*2HgX z_Inq$N_d}lE*P_h^4>qOp}+iD?O4A{?k}q4W;z42*yFo2Y_|1Gr?RCRl6Fbs*A2K& zc#YXTbktkY94IUwzh(dOh^WT<#mxxY%y{L9vjv?n*5`3Fexq=#S&wex9!BcRn4B*< z(_;KMQ4#O)yd|S1{{R zPg0)6uF^&VW{#)TyJYq(304-0Ed_}gcWfSR47qY;U`s_ygMHvwamf?mosUPw9^>!$ z;`Pf9o%@mBm1k-8%;!2G#oR@kkpOiI)!0ny6~)-XshUECs+SdY!+Wn>9N1}7l%|V` zD;-xCw6ZG17Nt*HsPb+KvpJ;}b~fVpVXmc~wJ%Re@J2hGXk;jA$XRX5E_<1yYILEu z-Qq2Mx|G*$q>QXGJ^y^i(O>hoM#OgWt3z7+CAa41qsw2TX$>BUv1acco#1USq(*roTO5^U7P=Uwi~C#W zj_~*TP&d2JJ05)Ff2QEiJzF<8>^r5dcu;hDd0UC_QguGQ^p=^w_E>UTW-Z-6@5`R4 z;>Js1)~JKTi<-TQF;Z#gIhM;rPRMGv<{Gvk?auzx#^wmliT44eCGMX;4-E$HhOHnP zk31rzY;q{3F~I#Q{^h^EJyC|05dWn@`((dLsJPtpL$M! zh5o+8`WNJ?!+JNa`A@JPpIXZw%57*%q;4NXXE0j4afa7NtyC{~ejBGgp%5cA9FdN~ z58fxVS9PMR?yf}{CPZ6l5%bI4uJda2lJle`b5%VLoXA7l8ZS!z%Do~sdeyWjr&6UE zB>VnzJDSdSQZ=p;LU)h&gy65 zRwL<@ewIL?g#OHO2!=DQ?N;B_XkGxSgh|=KJ_NWAN>jsFnQ?-3s2gDyQ z7lMkqWVV3mTS{hTTRhIAwCV~wB?cWCBOqV=eN^GzN2coJuct$HZ8J=lv6btQ20EGT4U_Z{+Veo(jCF}qLF@m5xg?+Gqj`t2A ZOQwQ!GBb!WikA6)cebU>kF2wt{~KgA#qR(B From cefa98148a04526b344783bc423f5d0cfbfaced8 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Fri, 20 Dec 2024 17:16:50 +0100 Subject: [PATCH 30/74] Updates and cleanup --- package.json | 1 + .../@sveltejs+kit+2.13.0+001+initial.patch | 30 ++ vite.config.ts | 22 +- yarn.lock | 286 +++++++++++++----- 4 files changed, 252 insertions(+), 87 deletions(-) create mode 100644 patches/@sveltejs+kit+2.13.0+001+initial.patch diff --git a/package.json b/package.json index 44cc323..e895b4c 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,7 @@ "jsdom": "^25.0.0", "prettier": "^3.3.3", "prettier-plugin-svelte": "^3.2.6", + "rollup-plugin-visualizer": "^5.12.0", "sass": "^1.79.3", "svelte": "^4.2.19", "svelte-check": "^4.0.2", diff --git a/patches/@sveltejs+kit+2.13.0+001+initial.patch b/patches/@sveltejs+kit+2.13.0+001+initial.patch new file mode 100644 index 0000000..1947cb3 --- /dev/null +++ b/patches/@sveltejs+kit+2.13.0+001+initial.patch @@ -0,0 +1,30 @@ +diff --git a/node_modules/@sveltejs/kit/src/exports/vite/index.js b/node_modules/@sveltejs/kit/src/exports/vite/index.js +index ad519c9..bee1516 100644 +--- a/node_modules/@sveltejs/kit/src/exports/vite/index.js ++++ b/node_modules/@sveltejs/kit/src/exports/vite/index.js +@@ -644,9 +644,9 @@ async function kit({ svelte_config }) { + input, + output: { + format: 'esm', +- entryFileNames: ssr ? '[name].js' : `${prefix}/[name].[hash].${ext}`, +- chunkFileNames: ssr ? 'chunks/[name].js' : `${prefix}/chunks/[name].[hash].${ext}`, +- assetFileNames: `${prefix}/assets/[name].[hash][extname]`, ++ entryFileNames: ssr ? '[name].js' : `${prefix}/[hash].${ext}`, ++ chunkFileNames: ssr ? 'chunks/[name].js' : `${prefix}/chunks/[hash].${ext}`, ++ assetFileNames: `${prefix}/assets/[hash][extname]`, + hoistTransitiveImports: false, + sourcemapIgnoreList, + manualChunks: +@@ -661,9 +661,9 @@ async function kit({ svelte_config }) { + worker: { + rollupOptions: { + output: { +- entryFileNames: `${prefix}/workers/[name]-[hash].js`, +- chunkFileNames: `${prefix}/workers/chunks/[name]-[hash].js`, +- assetFileNames: `${prefix}/workers/assets/[name]-[hash][extname]`, ++ entryFileNames: `${prefix}/workers/[hash].js`, ++ chunkFileNames: `${prefix}/workers/chunks/[hash].js`, ++ assetFileNames: `${prefix}/workers/assets/[hash][extname]`, + hoistTransitiveImports: false + } + } diff --git a/vite.config.ts b/vite.config.ts index b2ed254..d156353 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,6 +1,7 @@ import { sveltekit } from '@sveltejs/kit/vite'; import { defineConfig } from 'vitest/config'; import GithubActionsReporter from 'vitest-github-actions-reporter'; +// import { visualizer } from 'rollup-plugin-visualizer'; import * as fs from 'fs'; import * as path from 'path'; @@ -65,14 +66,29 @@ export default defineConfig({ } } } + // visualizer({ + // emitFile: true, + // filename: "stats.html", + // }) ], build: { - minify: true, + minify: 'esbuild', cssCodeSplit: false, rollupOptions: { output: { - manualChunks: () => 'app', - assetFileNames: '[name][extname]' + // assetFileNames: '[hash][extname]', + entryFileNames: `[hash][extname]`, + chunkFileNames: `[hash][extname]`, + assetFileNames: `[hash][extname]`, + preserveModules: false, + + manualChunks: (id) => { + if (id.includes('node_modules')) { + return 'vendor'; + } else { + return 'app'; + } + } } } }, diff --git a/yarn.lock b/yarn.lock index d729bb7..e957b66 100644 --- a/yarn.lock +++ b/yarn.lock @@ -325,10 +325,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@9.16.0": - version "9.16.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.16.0.tgz#3df2b2dd3b9163056616886c86e4082f45dbf3f4" - integrity sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg== +"@eslint/js@9.17.0": + version "9.17.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.17.0.tgz#1523e586791f80376a6f8398a3964455ecc651ec" + integrity sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w== "@eslint/object-schema@^2.1.5": version "2.1.5" @@ -769,14 +769,14 @@ integrity sha512-MGJcesnJWj7FxDcB/GbrdYD3q24Uk0PIL4QIX149ku+hlJuj//nxUbb0HxUTpjkecWfHjVveSUnUaQWnPRXlpg== "@sveltejs/kit@^2.0.0": - version "2.8.5" - resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-2.8.5.tgz#6eb3617547619cf38b19fb2e00da6aa00d0a44c8" - integrity sha512-5ry1jPd4r9knsphDK2eTYUFPhFZMqF0PHFfa8MdMQCqWaKwLSXdFMU/Vevih1I7C1/VNB5MvTuFl1kXu5vx8UA== + version "2.13.0" + resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-2.13.0.tgz#46cf8fe302f059242363f09268702069387cfd58" + integrity sha512-6t6ne00vZx/TjD6s0Jvwt8wRLKBwbSAN1nhlOzcLUSTYX1hTp4eCBaTPB5Yz/lu+tYcvz4YPEEuPv3yfsNp2gw== dependencies: "@types/cookie" "^0.6.0" cookie "^0.6.0" devalue "^5.1.0" - esm-env "^1.0.0" + esm-env "^1.2.1" import-meta-resolve "^4.1.0" kleur "^4.1.5" magic-string "^0.30.5" @@ -877,62 +877,62 @@ resolved "https://registry.yarnpkg.com/@types/swagger-ui/-/swagger-ui-3.52.4.tgz#96c4886e8f86ae392f8d940bf7029cf490a51c72" integrity sha512-7NV7q8BfupqdQxr26OkM0g0YEPB9uXnKGzXadgcearvI9MoCHt3F72lPTX3fZZIlrr21DC0IK26wcDMZ37oFDA== -"@typescript-eslint/eslint-plugin@8.18.0", "@typescript-eslint/eslint-plugin@^8.7.0": - version "8.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.18.0.tgz#0901933326aea4443b81df3f740ca7dfc45c7bea" - integrity sha512-NR2yS7qUqCL7AIxdJUQf2MKKNDVNaig/dEB0GBLU7D+ZdHgK1NoH/3wsgO3OnPVipn51tG3MAwaODEGil70WEw== +"@typescript-eslint/eslint-plugin@8.18.1", "@typescript-eslint/eslint-plugin@^8.7.0": + version "8.18.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.18.1.tgz#992e5ac1553ce20d0d46aa6eccd79dc36dedc805" + integrity sha512-Ncvsq5CT3Gvh+uJG0Lwlho6suwDfUXH0HztslDf5I+F2wAFAZMRwYLEorumpKLzmO2suAXZ/td1tBg4NZIi9CQ== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.18.0" - "@typescript-eslint/type-utils" "8.18.0" - "@typescript-eslint/utils" "8.18.0" - "@typescript-eslint/visitor-keys" "8.18.0" + "@typescript-eslint/scope-manager" "8.18.1" + "@typescript-eslint/type-utils" "8.18.1" + "@typescript-eslint/utils" "8.18.1" + "@typescript-eslint/visitor-keys" "8.18.1" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" ts-api-utils "^1.3.0" -"@typescript-eslint/parser@8.18.0", "@typescript-eslint/parser@^8.7.0": - version "8.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.18.0.tgz#a1c9456cbb6a089730bf1d3fc47946c5fb5fe67b" - integrity sha512-hgUZ3kTEpVzKaK3uNibExUYm6SKKOmTU2BOxBSvOYwtJEPdVQ70kZJpPjstlnhCHcuc2WGfSbpKlb/69ttyN5Q== +"@typescript-eslint/parser@8.18.1", "@typescript-eslint/parser@^8.7.0": + version "8.18.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.18.1.tgz#c258bae062778b7696793bc492249027a39dfb95" + integrity sha512-rBnTWHCdbYM2lh7hjyXqxk70wvon3p2FyaniZuey5TrcGBpfhVp0OxOa6gxr9Q9YhZFKyfbEnxc24ZnVbbUkCA== dependencies: - "@typescript-eslint/scope-manager" "8.18.0" - "@typescript-eslint/types" "8.18.0" - "@typescript-eslint/typescript-estree" "8.18.0" - "@typescript-eslint/visitor-keys" "8.18.0" + "@typescript-eslint/scope-manager" "8.18.1" + "@typescript-eslint/types" "8.18.1" + "@typescript-eslint/typescript-estree" "8.18.1" + "@typescript-eslint/visitor-keys" "8.18.1" debug "^4.3.4" -"@typescript-eslint/scope-manager@8.18.0": - version "8.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.18.0.tgz#30b040cb4557804a7e2bcc65cf8fdb630c96546f" - integrity sha512-PNGcHop0jkK2WVYGotk/hxj+UFLhXtGPiGtiaWgVBVP1jhMoMCHlTyJA+hEj4rszoSdLTK3fN4oOatrL0Cp+Xw== +"@typescript-eslint/scope-manager@8.18.1": + version "8.18.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.18.1.tgz#52cedc3a8178d7464a70beffed3203678648e55b" + integrity sha512-HxfHo2b090M5s2+/9Z3gkBhI6xBH8OJCFjH9MhQ+nnoZqxU3wNxkLT+VWXWSFWc3UF3Z+CfPAyqdCTdoXtDPCQ== dependencies: - "@typescript-eslint/types" "8.18.0" - "@typescript-eslint/visitor-keys" "8.18.0" + "@typescript-eslint/types" "8.18.1" + "@typescript-eslint/visitor-keys" "8.18.1" -"@typescript-eslint/type-utils@8.18.0": - version "8.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.18.0.tgz#6f0d12cf923b6fd95ae4d877708c0adaad93c471" - integrity sha512-er224jRepVAVLnMF2Q7MZJCq5CsdH2oqjP4dT7K6ij09Kyd+R21r7UVJrF0buMVdZS5QRhDzpvzAxHxabQadow== +"@typescript-eslint/type-utils@8.18.1": + version "8.18.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.18.1.tgz#10f41285475c0bdee452b79ff7223f0e43a7781e" + integrity sha512-jAhTdK/Qx2NJPNOTxXpMwlOiSymtR2j283TtPqXkKBdH8OAMmhiUfP0kJjc/qSE51Xrq02Gj9NY7MwK+UxVwHQ== dependencies: - "@typescript-eslint/typescript-estree" "8.18.0" - "@typescript-eslint/utils" "8.18.0" + "@typescript-eslint/typescript-estree" "8.18.1" + "@typescript-eslint/utils" "8.18.1" debug "^4.3.4" ts-api-utils "^1.3.0" -"@typescript-eslint/types@8.18.0": - version "8.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.18.0.tgz#3afcd30def8756bc78541268ea819a043221d5f3" - integrity sha512-FNYxgyTCAnFwTrzpBGq+zrnoTO4x0c1CKYY5MuUTzpScqmY5fmsh2o3+57lqdI3NZucBDCzDgdEbIaNfAjAHQA== +"@typescript-eslint/types@8.18.1": + version "8.18.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.18.1.tgz#d7f4f94d0bba9ebd088de840266fcd45408a8fff" + integrity sha512-7uoAUsCj66qdNQNpH2G8MyTFlgerum8ubf21s3TSM3XmKXuIn+H2Sifh/ES2nPOPiYSRJWAk0fDkW0APBWcpfw== -"@typescript-eslint/typescript-estree@8.18.0": - version "8.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.18.0.tgz#d8ca785799fbb9c700cdff1a79c046c3e633c7f9" - integrity sha512-rqQgFRu6yPkauz+ms3nQpohwejS8bvgbPyIDq13cgEDbkXt4LH4OkDMT0/fN1RUtzG8e8AKJyDBoocuQh8qNeg== +"@typescript-eslint/typescript-estree@8.18.1": + version "8.18.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.18.1.tgz#2a86cd64b211a742f78dfa7e6f4860413475367e" + integrity sha512-z8U21WI5txzl2XYOW7i9hJhxoKKNG1kcU4RzyNvKrdZDmbjkmLBo8bgeiOJmA06kizLI76/CCBAAGlTlEeUfyg== dependencies: - "@typescript-eslint/types" "8.18.0" - "@typescript-eslint/visitor-keys" "8.18.0" + "@typescript-eslint/types" "8.18.1" + "@typescript-eslint/visitor-keys" "8.18.1" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" @@ -940,22 +940,22 @@ semver "^7.6.0" ts-api-utils "^1.3.0" -"@typescript-eslint/utils@8.18.0": - version "8.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.18.0.tgz#48f67205d42b65d895797bb7349d1be5c39a62f7" - integrity sha512-p6GLdY383i7h5b0Qrfbix3Vc3+J2k6QWw6UMUeY5JGfm3C5LbZ4QIZzJNoNOfgyRe0uuYKjvVOsO/jD4SJO+xg== +"@typescript-eslint/utils@8.18.1": + version "8.18.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.18.1.tgz#c4199ea23fc823c736e2c96fd07b1f7235fa92d5" + integrity sha512-8vikiIj2ebrC4WRdcAdDcmnu9Q/MXXwg+STf40BVfT8exDqBCUPdypvzcUPxEqRGKg9ALagZ0UWcYCtn+4W2iQ== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.18.0" - "@typescript-eslint/types" "8.18.0" - "@typescript-eslint/typescript-estree" "8.18.0" + "@typescript-eslint/scope-manager" "8.18.1" + "@typescript-eslint/types" "8.18.1" + "@typescript-eslint/typescript-estree" "8.18.1" -"@typescript-eslint/visitor-keys@8.18.0": - version "8.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.18.0.tgz#7b6d33534fa808e33a19951907231ad2ea5c36dd" - integrity sha512-pCh/qEA8Lb1wVIqNvBke8UaRjJ6wrAWkJO5yyIbs8Yx6TNGYyfNjOo61tLv+WwLvoLPp4BQ8B7AHKijl8NGUfw== +"@typescript-eslint/visitor-keys@8.18.1": + version "8.18.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.18.1.tgz#344b4f6bc83f104f514676facf3129260df7610a" + integrity sha512-Vj0WLm5/ZsD013YeUKn+K0y8p1M0jPpxOkKdbD1wB0ns53a5piVY02zjf072TblEweAbcYiFiPoSMF3kp+VhhQ== dependencies: - "@typescript-eslint/types" "8.18.0" + "@typescript-eslint/types" "8.18.1" eslint-visitor-keys "^4.2.0" "@vitest/expect@2.1.8": @@ -1072,7 +1072,7 @@ ansi-regex@^5.0.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== -ansi-styles@^4.1.0: +ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== @@ -1220,7 +1220,14 @@ check-error@^2.1.1: resolved "https://registry.yarnpkg.com/check-error/-/check-error-2.1.1.tgz#87eb876ae71ee388fa0471fe423f494be1d96ccc" integrity sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw== -chokidar@^4.0.0, chokidar@^4.0.1: +chokidar@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.3.tgz#7be37a4c03c9aee1ecfe862a4a23b2c70c205d30" + integrity sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA== + dependencies: + readdirp "^4.0.1" + +chokidar@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.1.tgz#4a6dff66798fb0f72a94f616abbd7e1a19f31d41" integrity sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA== @@ -1243,6 +1250,15 @@ cli-color@^2.0.3: memoizee "^0.4.15" timers-ext "^0.1.7" +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + code-red@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/code-red/-/code-red-1.0.4.tgz#59ba5c9d1d320a4ef795bc10a28bd42bfebe3e35" @@ -1292,7 +1308,7 @@ cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" -cross-spawn@^7.0.5: +cross-spawn@^7.0.6: version "7.0.6" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== @@ -1385,6 +1401,11 @@ define-data-property@^1.1.4: es-errors "^1.3.0" gopd "^1.0.1" +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -1415,6 +1436,11 @@ dom-accessibility-api@^0.6.3: resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz#993e925cc1d73f2c662e7d75dd5a5445259a8fd8" integrity sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w== +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + entities@^4.4.0: version "4.5.0" resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" @@ -1532,6 +1558,11 @@ esbuild@^0.21.3: "@esbuild/win32-ia32" "0.21.5" "@esbuild/win32-x64" "0.21.5" +escalade@^3.1.1: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== + escape-string-regexp@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" @@ -1593,16 +1624,16 @@ eslint-visitor-keys@^4.2.0: integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw== eslint@^9.11.0: - version "9.16.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.16.0.tgz#66832e66258922ac0a626f803a9273e37747f2a6" - integrity sha512-whp8mSQI4C8VXd+fLgSM0lh3UlmcFtVwUQjyKCFfsp+2ItAIYhlq/hqGahGqHE6cv9unM41VlqKk2VtKYR2TaA== + version "9.17.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.17.0.tgz#faa1facb5dd042172fdc520106984b5c2421bb0c" + integrity sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.12.1" "@eslint/config-array" "^0.19.0" "@eslint/core" "^0.9.0" "@eslint/eslintrc" "^3.2.0" - "@eslint/js" "9.16.0" + "@eslint/js" "9.17.0" "@eslint/plugin-kit" "^0.2.3" "@humanfs/node" "^0.16.6" "@humanwhocodes/module-importer" "^1.0.1" @@ -1611,7 +1642,7 @@ eslint@^9.11.0: "@types/json-schema" "^7.0.15" ajv "^6.12.4" chalk "^4.0.0" - cross-spawn "^7.0.5" + cross-spawn "^7.0.6" debug "^4.3.2" escape-string-regexp "^4.0.0" eslint-scope "^8.2.0" @@ -1632,10 +1663,10 @@ eslint@^9.11.0: natural-compare "^1.4.0" optionator "^0.9.3" -esm-env@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/esm-env/-/esm-env-1.2.0.tgz#637c0586244c0eb14bfd7f5e96a6b43b9e8f5c2b" - integrity sha512-OhSQuHL3mUcaQHjGe8UMG8GsJIJHYYz0flR0h9fiTPNMupLMkb7TvcRD0EeJXW5a8GHBgfz08b6FDLNK7kkPQA== +esm-env@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/esm-env/-/esm-env-1.2.1.tgz#34c2a0ba60582948afbe7bd779bc66f9d3aece7e" + integrity sha512-U9JedYYjCnadUlXk7e1Kr+aENQhtUaoaV9+gZm1T8LC/YBAPJx3NSPIAurFOC0U5vrdSevnUJS2/wUVxGwPhng== esniff@^2.0.1: version "2.0.1" @@ -1850,6 +1881,11 @@ function-bind@^1.1.2: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + get-intrinsic@^1.1.3, get-intrinsic@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" @@ -2034,7 +2070,7 @@ intl-messageformat@^10.5.3: "@formatjs/icu-messageformat-parser" "2.8.0" tslib "^2.7.0" -is-docker@^2.0.0: +is-docker@^2.0.0, is-docker@^2.1.1: version "2.2.1" resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== @@ -2044,6 +2080,11 @@ is-extglob@^2.1.1: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" @@ -2073,7 +2114,7 @@ is-reference@^3.0.0, is-reference@^3.0.1: dependencies: "@types/estree" "*" -is-wsl@^2.1.1: +is-wsl@^2.1.1, is-wsl@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== @@ -2259,9 +2300,9 @@ magic-string@^0.30.12: "@jridgewell/sourcemap-codec" "^1.5.0" magic-string@^0.30.5: - version "0.30.14" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.14.tgz#e9bb29870b81cfc1ec3cc656552f5a7fcbf19077" - integrity sha512-5c99P1WKTed11ZC0HMJOj6CDIue6F8ySu+bJL+85q1zBEIY8IklrJ1eiKC2NDRh3Ct3FcvmJPyQHb9erXMTJNw== + version "0.30.17" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.17.tgz#450a449673d2460e5bbcfba9a61916a1714c7453" + integrity sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA== dependencies: "@jridgewell/sourcemap-codec" "^1.5.0" @@ -2417,6 +2458,15 @@ open@^7.4.2: is-docker "^2.0.0" is-wsl "^2.1.1" +open@^8.4.0: + version "8.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" + integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== + dependencies: + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" + optionator@^0.9.3: version "0.9.4" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" @@ -2643,6 +2693,11 @@ regenerator-runtime@^0.14.0: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" @@ -2660,6 +2715,16 @@ rimraf@^2.6.3: dependencies: glob "^7.1.3" +rollup-plugin-visualizer@^5.12.0: + version "5.12.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.12.0.tgz#661542191ce78ee4f378995297260d0c1efb1302" + integrity sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ== + dependencies: + open "^8.4.0" + picomatch "^2.3.1" + source-map "^0.7.4" + yargs "^17.5.1" + rollup@^4.20.0: version "4.27.4" resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.27.4.tgz#b23e4ef4fe4d0d87f5237dacf63f95a499503897" @@ -2712,9 +2777,9 @@ sade@^1.7.4, sade@^1.8.1: integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== sass@^1.79.3: - version "1.82.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.82.0.tgz#30da277af3d0fa6042e9ceabd0d984ed6d07df70" - integrity sha512-j4GMCTa8elGyN9A7x7bEglx0VgSpNUG4W4wNedQ33wSMdnkqQCT8HTwOaVSV4e6yQovcu/3Oc4coJP/l0xhL2Q== + version "1.83.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.83.0.tgz#e36842c0b88a94ed336fd16249b878a0541d536f" + integrity sha512-qsSxlayzoOjdvXMVLkzF84DJFc2HZEL/rFyGIKbbilYtAvlCxyuzUeff9LawTn4btVnLKg75Z8MMr1lxU1lfGw== dependencies: chokidar "^4.0.0" immutable "^5.0.2" @@ -2797,6 +2862,11 @@ source-map-js@^1.0.1: resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== +source-map@^0.7.4: + version "0.7.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + stackback@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/stackback/-/stackback-0.0.2.tgz#1ac8a0d9483848d1695e418b6d031a3c3ce68e3b" @@ -2807,6 +2877,22 @@ std-env@^3.8.0: resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.8.0.tgz#b56ffc1baf1a29dcc80a3bdf11d7fca7c315e7d5" integrity sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w== +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-indent@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" @@ -3023,13 +3109,13 @@ type@^2.7.2: integrity sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ== typescript-eslint@^8.7.0: - version "8.18.0" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.18.0.tgz#41026f27a3481185f3239d817ae5b960572145a0" - integrity sha512-Xq2rRjn6tzVpAyHr3+nmSg1/9k9aIHnJ2iZeOH7cfGOWqTkXTm3kwpQglEuLGdNrYvPF+2gtAs+/KF5rjVo+WQ== + version "8.18.1" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.18.1.tgz#197b284b6769678ed77d9868df180eeaf61108eb" + integrity sha512-Mlaw6yxuaDEPQvb/2Qwu3/TfgeBHy9iTJ3mTwe7OvpPmF6KPQjVOfGyEJpPv6Ez2C34OODChhXrzYw/9phI0MQ== dependencies: - "@typescript-eslint/eslint-plugin" "8.18.0" - "@typescript-eslint/parser" "8.18.0" - "@typescript-eslint/utils" "8.18.0" + "@typescript-eslint/eslint-plugin" "8.18.1" + "@typescript-eslint/parser" "8.18.1" + "@typescript-eslint/utils" "8.18.1" typescript@^5.5.4: version "5.6.3" @@ -3175,6 +3261,15 @@ word-wrap@^1.2.5: resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -3195,6 +3290,11 @@ xmlchars@^2.2.0: resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + yaml@^1.10.2: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" @@ -3205,6 +3305,24 @@ yaml@^2.2.2: resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.4.tgz#53fc1d514be80aabf386dc6001eb29bf3b7523b2" integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs@^17.5.1: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" From 8a9c013f2438324a1d724f429b29f5e27b62577c Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Fri, 20 Dec 2024 17:18:33 +0100 Subject: [PATCH 31/74] Remove old patches --- patches/@sveltejs+kit+2.7.5.patch | 17 ----------------- patches/@sveltejs+kit+2.8.5.patch | 17 ----------------- 2 files changed, 34 deletions(-) delete mode 100644 patches/@sveltejs+kit+2.7.5.patch delete mode 100644 patches/@sveltejs+kit+2.8.5.patch diff --git a/patches/@sveltejs+kit+2.7.5.patch b/patches/@sveltejs+kit+2.7.5.patch deleted file mode 100644 index e25e1e5..0000000 --- a/patches/@sveltejs+kit+2.7.5.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/node_modules/@sveltejs/kit/src/exports/vite/index.js b/node_modules/@sveltejs/kit/src/exports/vite/index.js -index 40fa4c6..738cabf 100644 ---- a/node_modules/@sveltejs/kit/src/exports/vite/index.js -+++ b/node_modules/@sveltejs/kit/src/exports/vite/index.js -@@ -655,9 +655,9 @@ async function kit({ svelte_config }) { - input, - output: { - format: 'esm', -- entryFileNames: ssr ? '[name].js' : `${prefix}/[name].[hash].${ext}`, -- chunkFileNames: ssr ? 'chunks/[name].js' : `${prefix}/chunks/[name].[hash].${ext}`, -- assetFileNames: `${prefix}/assets/[name].[hash][extname]`, -+ entryFileNames: ssr ? '[name].js' : `${prefix}/[hash].${ext}`, -+ chunkFileNames: ssr ? 'chunks/[name].js' : `${prefix}/chunks/[hash].${ext}`, -+ assetFileNames: `${prefix}/assets/[hash][extname]`, - hoistTransitiveImports: false, - sourcemapIgnoreList - }, diff --git a/patches/@sveltejs+kit+2.8.5.patch b/patches/@sveltejs+kit+2.8.5.patch deleted file mode 100644 index 80f5dba..0000000 --- a/patches/@sveltejs+kit+2.8.5.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/node_modules/@sveltejs/kit/src/exports/vite/index.js b/node_modules/@sveltejs/kit/src/exports/vite/index.js -index e6521e9..f31c28b 100644 ---- a/node_modules/@sveltejs/kit/src/exports/vite/index.js -+++ b/node_modules/@sveltejs/kit/src/exports/vite/index.js -@@ -639,9 +639,9 @@ async function kit({ svelte_config }) { - input, - output: { - format: 'esm', -- entryFileNames: ssr ? '[name].js' : `${prefix}/[name].[hash].${ext}`, -- chunkFileNames: ssr ? 'chunks/[name].js' : `${prefix}/chunks/[name].[hash].${ext}`, -- assetFileNames: `${prefix}/assets/[name].[hash][extname]`, -+ entryFileNames: ssr ? '[name].js' : `${prefix}/[hash].${ext}`, -+ chunkFileNames: ssr ? 'chunks/[name].js' : `${prefix}/chunks/[hash].${ext}`, -+ assetFileNames: `${prefix}/assets/[hash][extname]`, - hoistTransitiveImports: false, - sourcemapIgnoreList - }, From 25258b43a71b917ad38bc3d13b2fff49c6679042 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Fri, 20 Dec 2024 17:56:10 +0100 Subject: [PATCH 32/74] Settings refactor --- src/components/SettingsInput.svelte | 58 ++ src/components/SettingsSelect.svelte | 34 + src/components/SettingsSwitch.svelte | 15 + src/routes/Settings.svelte | 1095 ++++++++++---------------- 4 files changed, 538 insertions(+), 664 deletions(-) create mode 100644 src/components/SettingsInput.svelte create mode 100644 src/components/SettingsSelect.svelte create mode 100644 src/components/SettingsSwitch.svelte diff --git a/src/components/SettingsInput.svelte b/src/components/SettingsInput.svelte new file mode 100644 index 0000000..f95650b --- /dev/null +++ b/src/components/SettingsInput.svelte @@ -0,0 +1,58 @@ + + + + + + + + {#if suffix} + {suffix} + {/if} + + + {#if helpText} + {helpText} + {/if} + + diff --git a/src/components/SettingsSelect.svelte b/src/components/SettingsSelect.svelte new file mode 100644 index 0000000..ef34fec --- /dev/null +++ b/src/components/SettingsSelect.svelte @@ -0,0 +1,34 @@ + + + + + + + {#each options as [key, val]} + + {/each} + + {#if helpText} + {helpText} + {/if} + + diff --git a/src/components/SettingsSwitch.svelte b/src/components/SettingsSwitch.svelte new file mode 100644 index 0000000..27a3156 --- /dev/null +++ b/src/components/SettingsSwitch.svelte @@ -0,0 +1,15 @@ + + + + + diff --git a/src/routes/Settings.svelte b/src/routes/Settings.svelte index fe9591c..fe8a084 100644 --- a/src/routes/Settings.svelte +++ b/src/routes/Settings.svelte @@ -3,6 +3,7 @@ import { PUBLIC_BASE_URL } from '$lib/config'; import { uiSettings } from '$lib/uiSettings'; import { createEventDispatcher } from 'svelte'; + import SettingsSwitch from '../components/SettingsSwitch.svelte'; import { _ } from 'svelte-i18n'; import { @@ -13,12 +14,6 @@ CardTitle, Col, Form, - FormText, - Input, - InputGroup, - InputGroupText, - Label, - Tooltip, Row } from '@sveltestrap/sveltestrap'; @@ -27,6 +22,8 @@ import { derived } from 'svelte/store'; import ToggleHeader from '../components/ToggleHeader.svelte'; + import SettingsInput from '../components/SettingsInput.svelte'; + import SettingsSelect from '../components/SettingsSelect.svelte'; export let settings; @@ -156,7 +153,7 @@ } }; - const checkValidNostrPubkey = (key) => { + const checkValidNostrPubkey = (key: string) => { if (isValidNpub($settings[key])) { dispatch('showToast', { color: 'info', @@ -258,6 +255,7 @@
{$_('section.settings.title', { default: 'Settings' })}
+ @@ -267,107 +265,86 @@ isOpen={screenSettingsIsOpen} > - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + {#if !$settings.actCurrencies} - - - + {/if}
{$_('section.settings.screens')}
{#if $settings.screens} {#each $settings.screens as s} - - - + {/each} {/if}
@@ -401,217 +378,157 @@ header={$_('section.settings.section.displaysAndLed')} isOpen={displaysAndLedIsOpen} > - - - - - - - - - + + + + + + + + + + + {#if $settings.hasFrontlight && !$settings.flDisable} + + + + {/if} + + {#if !$settings.flDisable && $settings.hasLightLevel} + + {/if} - - - - - {$_('time.minutes')} - - - - - - - - - {$_('time.minutes')} - - - - - - - - - {$_('time.seconds')} - - {$_('section.settings.shortAmountsWarning')} - - - - - - - - - {#if $settings.hasFrontlight && !$settings.flDisable} - - - - - - - - - - - - - {/if} - {#if !$settings.flDisable && $settings.hasLightLevel} - - - - - {$_('section.settings.luxLightToggleText')} - - - {/if} - - - - - - - - - - + + + + + + {#if $settings.hasFrontlight} - - - + {/if} + {#if $settings.hasFrontlight && !$settings.flDisable} - - - - - - - - - + + + + + {/if} @@ -620,69 +537,40 @@ header={$_('section.settings.section.dataSource')} isOpen={dataSourceIsOpen} > + + - - - - - - - HTTPS - - - {$_('section.settings.mempoolInstanceHelpText')} - - - - - - + + {#if $settings.nostrRelay} - - - - {$_('section.settings.useNostrTooltip')} - - + {/if} + {#if 'stagingSource' in $settings} - - - + {/if} @@ -692,334 +580,213 @@ isOpen={extraFeaturesIsOpen} > {#if $settings.bitaxeEnabled} - - + - - - - - - - + {/if} {#if $settings.miningPoolStats} - - - - - {#each $settings.availablePools as pool} - - {/each} - - - - - - - - - + [getMiningPoolName(pool), pool])} + size={$uiSettings.inputSize} + selectClass={$uiSettings.selectClass} + /> + {/if} {#if 'nostrZapNotify' in $settings && $settings['nostrZapNotify']} - - - - checkValidNostrPubkey('nostrZapPubkey')} - invalid={!isValidHexPubKey($settings.nostrZapPubkey)} - bsSize={$uiSettings.inputSize} - required - minlength="64" - > - {#if !isValidHexPubKey($settings.nostrZapPubkey)} - {$_('section.settings.invalidNostrPubkey')} - {/if} - - + checkValidNostrPubkey('nostrZapPubkey')} + /> {/if} {#if $settings.useNostr} - - - - checkValidNostrPubkey('nostrPubKey')} - invalid={!isValidHexPubKey($settings.nostrPubKey)} - bsSize={$uiSettings.inputSize} - > - {#if !isValidHexPubKey($settings.nostrPubKey)} - {$_('section.settings.invalidNostrPubkey')} - {/if} - - + checkValidNostrPubkey('nostrPubKey')} + /> {/if} {#if 'nostrZapNotify' in $settings || $settings.useNostr} - - + - - - - - - - + {/if} {#if 'bitaxeEnabled' in $settings} - - - + {/if} {#if 'miningPoolStats' in $settings} - - - + {/if} {#if 'nostrZapNotify' in $settings} - - - - - - + + {#if $settings.hasFrontlight && !$settings.flDisable} - - - + {/if} {/if}
- - + - - - - {$_('time.minutes')} - - - {$_('section.settings.tzOffsetHelpText')} - - + + {#if $settings.httpAuthEnabled} - - + + - - {$_('section.settings.httpAuthText')} - - + {#if !showPassword}{:else}{/if} + + {/if} + + + + + + + - - - - - - - - - - {#each wifiTxPowerMap as [key, value]} - - {/each} - - {$_('section.settings.wifiTxPowerText')} - - - - - - - - {$_('time.seconds')} - - - - - - - - - - - - - + + + From 20c81628f1a15e932ba2715c2a95c88f7dfcdba9 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Fri, 20 Dec 2024 17:59:52 +0100 Subject: [PATCH 33/74] More vite improvements --- vite.config.ts | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/vite.config.ts b/vite.config.ts index d156353..2c3749e 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -74,6 +74,7 @@ export default defineConfig({ build: { minify: 'esbuild', cssCodeSplit: false, + chunkSizeWarningLimit: 550, rollupOptions: { output: { // assetFileNames: '[hash][extname]', @@ -82,12 +83,8 @@ export default defineConfig({ assetFileNames: `[hash][extname]`, preserveModules: false, - manualChunks: (id) => { - if (id.includes('node_modules')) { - return 'vendor'; - } else { - return 'app'; - } + manualChunks: () => { + return 'app'; } } } From 23529dbd4b4d62f072f16c88aa5bd90bfe7e488b Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Fri, 20 Dec 2024 18:19:01 +0100 Subject: [PATCH 34/74] Improve project layout --- src/{ => lib}/components/ColorSchemeSwitcher.svelte | 0 src/{ => lib}/components/SettingsInput.svelte | 0 src/{ => lib}/components/SettingsSelect.svelte | 0 src/{ => lib}/components/SettingsSwitch.svelte | 0 src/{ => lib}/components/ToggleHeader.svelte | 0 src/lib/components/index.ts | 5 +++++ src/routes/+layout.svelte | 2 +- src/routes/Settings.svelte | 8 +------- 8 files changed, 7 insertions(+), 8 deletions(-) rename src/{ => lib}/components/ColorSchemeSwitcher.svelte (100%) rename src/{ => lib}/components/SettingsInput.svelte (100%) rename src/{ => lib}/components/SettingsSelect.svelte (100%) rename src/{ => lib}/components/SettingsSwitch.svelte (100%) rename src/{ => lib}/components/ToggleHeader.svelte (100%) create mode 100644 src/lib/components/index.ts diff --git a/src/components/ColorSchemeSwitcher.svelte b/src/lib/components/ColorSchemeSwitcher.svelte similarity index 100% rename from src/components/ColorSchemeSwitcher.svelte rename to src/lib/components/ColorSchemeSwitcher.svelte diff --git a/src/components/SettingsInput.svelte b/src/lib/components/SettingsInput.svelte similarity index 100% rename from src/components/SettingsInput.svelte rename to src/lib/components/SettingsInput.svelte diff --git a/src/components/SettingsSelect.svelte b/src/lib/components/SettingsSelect.svelte similarity index 100% rename from src/components/SettingsSelect.svelte rename to src/lib/components/SettingsSelect.svelte diff --git a/src/components/SettingsSwitch.svelte b/src/lib/components/SettingsSwitch.svelte similarity index 100% rename from src/components/SettingsSwitch.svelte rename to src/lib/components/SettingsSwitch.svelte diff --git a/src/components/ToggleHeader.svelte b/src/lib/components/ToggleHeader.svelte similarity index 100% rename from src/components/ToggleHeader.svelte rename to src/lib/components/ToggleHeader.svelte diff --git a/src/lib/components/index.ts b/src/lib/components/index.ts new file mode 100644 index 0000000..53338a1 --- /dev/null +++ b/src/lib/components/index.ts @@ -0,0 +1,5 @@ +export { default as SettingsSwitch } from './SettingsSwitch.svelte'; +export { default as SettingsInput } from './SettingsInput.svelte'; +export { default as SettingsSelect } from './SettingsSelect.svelte'; +export { default as ToggleHeader } from './ToggleHeader.svelte'; +export { default as ColorSchemeSwitcher } from './ColorSchemeSwitcher.svelte'; diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index e421f5a..ae01278 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -16,7 +16,7 @@ import { page } from '$app/stores'; import { locale, locales, isLoading } from 'svelte-i18n'; - import ColorSchemeSwitcher from '../components/ColorSchemeSwitcher.svelte'; + import { ColorSchemeSwitcher } from '$lib/components'; export const setLocale = (lang: string) => () => { locale.set(lang); diff --git a/src/routes/Settings.svelte b/src/routes/Settings.svelte index fe8a084..4c551ee 100644 --- a/src/routes/Settings.svelte +++ b/src/routes/Settings.svelte @@ -3,8 +3,6 @@ import { PUBLIC_BASE_URL } from '$lib/config'; import { uiSettings } from '$lib/uiSettings'; import { createEventDispatcher } from 'svelte'; - import SettingsSwitch from '../components/SettingsSwitch.svelte'; - import { _ } from 'svelte-i18n'; import { Button, @@ -16,14 +14,10 @@ Form, Row } from '@sveltestrap/sveltestrap'; - import EyeIcon from 'svelte-bootstrap-icons/lib/Eye.svelte'; import EyeSlashIcon from 'svelte-bootstrap-icons/lib/EyeSlash.svelte'; - import { derived } from 'svelte/store'; - import ToggleHeader from '../components/ToggleHeader.svelte'; - import SettingsInput from '../components/SettingsInput.svelte'; - import SettingsSelect from '../components/SettingsSelect.svelte'; + import { SettingsSwitch, SettingsInput, SettingsSelect, ToggleHeader } from '$lib/components'; export let settings; From 924be8fc2eb02fe384a20b53da1a9fa3d8db8a05 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Fri, 20 Dec 2024 18:57:36 +0100 Subject: [PATCH 35/74] Fix locale-related bugs and test it with screenshots --- playwright.screenshot.config.ts | 12 +++- src/lib/i18n/index.ts | 22 ++++++-- src/routes/+layout.svelte | 19 ++++--- src/routes/+layout.ts | 13 +++-- .../screenshots/viewport-screenshots.spec.ts | 56 +++++++++++++++++-- vite.config.ts | 5 +- 6 files changed, 102 insertions(+), 25 deletions(-) diff --git a/playwright.screenshot.config.ts b/playwright.screenshot.config.ts index 81264a4..985069a 100644 --- a/playwright.screenshot.config.ts +++ b/playwright.screenshot.config.ts @@ -34,9 +34,17 @@ export default defineConfig({ } }, { - name: 'MacBook Pro 14 inch', + name: 'MacBook Pro 14 inch NL locale', use: { - viewport: { width: 1512, height: 982 } + viewport: { width: 1512, height: 982 }, + locale: 'nl' + } + }, + { + name: 'MacBook Pro 14 inch nl-NL locale', + use: { + viewport: { width: 1512, height: 982 }, + locale: 'nl-NL' } }, { diff --git a/src/lib/i18n/index.ts b/src/lib/i18n/index.ts index 2959787..fa817a7 100644 --- a/src/lib/i18n/index.ts +++ b/src/lib/i18n/index.ts @@ -8,11 +8,23 @@ register('nl', () => import('../locales/nl.json')); register('es', () => import('../locales/es.json')); register('de', () => import('../locales/de.json')); +const getInitialLocale = () => { + if (!browser) return defaultLocale; + + // Check localStorage first + const storedLocale = localStorage.getItem('locale'); + if (storedLocale) return storedLocale; + + // Get browser locale and normalize it + const browserLocale = window.navigator.language; + const normalizedLocale = browserLocale.split('-')[0].toLowerCase(); + + // Check if we support this locale + const supportedLocales = ['en', 'nl', 'es', 'de']; + return supportedLocales.includes(normalizedLocale) ? normalizedLocale : defaultLocale; +}; + init({ fallbackLocale: defaultLocale, - initialLocale: browser - ? browser && localStorage.getItem('locale') - ? localStorage.getItem('locale') - : window.navigator.language.slice(0, 2) - : defaultLocale + initialLocale: getInitialLocale() }); diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index ae01278..0f1cc8a 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -17,6 +17,7 @@ import { page } from '$app/stores'; import { locale, locales, isLoading } from 'svelte-i18n'; import { ColorSchemeSwitcher } from '$lib/components'; + import { derived } from 'svelte/store'; export const setLocale = (lang: string) => () => { locale.set(lang); @@ -45,13 +46,14 @@ let languageNames = {}; - locale.subscribe(() => { - if ($locale) { - let newLanguageNames = new Intl.DisplayNames([$locale], { type: 'language' }); + const currentLocale = derived(locale, ($locale) => $locale || 'en'); - for (let l of $locales) { - languageNames[l] = newLanguageNames.of(l); - } + locale.subscribe(() => { + const localeToUse = $locale || 'en'; + let newLanguageNames = new Intl.DisplayNames([localeToUse], { type: 'language' }); + + for (let l of $locales) { + languageNames[l] = newLanguageNames.of(l) || l; } }); @@ -95,7 +97,10 @@ {#if !$isLoading} - {getFlagEmoji($locale)} {languageNames[$locale]} + {getFlagEmoji($currentLocale)} + {languageNames[$currentLocale] || 'English'} {#each $locales as locale} { - if (browser && localStorage.getItem('locale')) { - locale.set(localStorage.getItem('locale')); - } else if (browser) { - locale.set(window.navigator.language); + if (browser) { + if (localStorage.getItem('locale')) { + locale.set(localStorage.getItem('locale')); + } else { + // Normalize the browser locale + const browserLocale = window.navigator.language.split('-')[0].toLowerCase(); + const supportedLocales = ['en', 'nl', 'es', 'de']; + locale.set(supportedLocales.includes(browserLocale) ? browserLocale : 'en'); + } } await waitLocale(); }; diff --git a/tests/screenshots/viewport-screenshots.spec.ts b/tests/screenshots/viewport-screenshots.spec.ts index 5ec5569..4a27512 100644 --- a/tests/screenshots/viewport-screenshots.spec.ts +++ b/tests/screenshots/viewport-screenshots.spec.ts @@ -4,11 +4,47 @@ import { initMock, settingsJson, statusJson } from '../shared'; test.beforeEach(initMock); +// Define the translations for the headings +const headings = { + en: { + control: 'Control', + status: 'Status', + settings: 'Settings', + language: 'English' + }, + de: { + control: 'Steuerung', + status: 'Status', + settings: 'Einstellungen', + language: 'Deutsch' + }, + nl: { + control: 'Besturing', + status: 'Status', + settings: 'Instellingen', + language: 'Nederlands' + }, + es: { + control: 'Control', + status: 'Estado', + settings: 'Ajustes', + language: 'Español' + } +}; + test('capture screenshots across devices', async ({ page }, testInfo) => { + // Get the locale from the browser or default to 'en' + const locale = testInfo.project.use?.locale?.split('-')[0].toLowerCase() || 'en'; + const translations = headings[locale] || headings.en; + await page.goto('/'); - await expect(page.getByRole('heading', { name: 'Control' })).toBeVisible(); - await expect(page.getByRole('heading', { name: 'Status' })).toBeVisible(); - await expect(page.getByRole('heading', { name: 'Settings' })).toBeVisible(); + await expect(page.getByRole('heading', { name: translations.control })).toBeVisible(); + await expect(page.getByRole('heading', { name: translations.status })).toBeVisible(); + await expect(page.getByRole('heading', { name: translations.settings })).toBeVisible(); + + if (await page.locator('#nav-language-dropdown').isVisible()) { + await expect(page.getByRole('link', { name: translations.language })).toBeVisible(); + } const screenshot = await page.screenshot({ path: `./test-results/screenshots/default-${test.info().project.name.toLowerCase().replace(' ', '_')}.png` @@ -21,6 +57,9 @@ test('capture screenshots across devices', async ({ page }, testInfo) => { }); test('capture screenshots across devices with bitaxe screens', async ({ page }, testInfo) => { + const locale = testInfo.project.use?.locale?.split('-')[0].toLowerCase() || 'en'; + const translations = headings[locale] || headings.en; + settingsJson.screens = [ { id: 0, @@ -73,9 +112,14 @@ test('capture screenshots across devices with bitaxe screens', async ({ page }, statusJson.rendered = ['mdi:bitaxe', '', 'mdi:pickaxe', '6', '3', '7', 'GH/S']; await page.goto('/'); - await expect(page.getByRole('heading', { name: 'Control' })).toBeVisible(); - await expect(page.getByRole('heading', { name: 'Status' })).toBeVisible(); - await expect(page.getByRole('heading', { name: 'Settings' })).toBeVisible(); + + await expect(page.getByRole('heading', { name: translations.control })).toBeVisible(); + await expect(page.getByRole('heading', { name: translations.status })).toBeVisible(); + await expect(page.getByRole('heading', { name: translations.settings })).toBeVisible(); + + if (await page.locator('#nav-language-dropdown').isVisible()) { + await expect(page.getByRole('link', { name: translations.language })).toBeVisible(); + } await page.screenshot({ path: `./test-results/screenshots/bitaxe-${test.info().project.name.toLowerCase().replace(' ', '_')}.png` diff --git a/vite.config.ts b/vite.config.ts index 2c3749e..c9bdcf6 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,5 +1,5 @@ import { sveltekit } from '@sveltejs/kit/vite'; -import { defineConfig } from 'vitest/config'; +import { defineConfig } from 'vite'; import GithubActionsReporter from 'vitest-github-actions-reporter'; // import { visualizer } from 'rollup-plugin-visualizer'; @@ -102,5 +102,8 @@ export default defineConfig({ globals: true, environment: 'jsdom', reporters: process.env.GITHUB_ACTIONS ? ['default', new GithubActionsReporter()] : 'default' + }, + define: { + 'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV) } }); From cc538cf64352526c88d1c8865c71c49da4639964 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Thu, 26 Dec 2024 01:09:35 +0100 Subject: [PATCH 36/74] Dependency updates and convert npub to hex on paste --- ...=> @sveltejs+kit+2.15.0+001+initial.patch} | 12 +- src/lib/components/SettingsInput.svelte | 7 + src/routes/Settings.svelte | 3 + yarn.lock | 136 +++++++++--------- 4 files changed, 84 insertions(+), 74 deletions(-) rename patches/{@sveltejs+kit+2.13.0+001+initial.patch => @sveltejs+kit+2.15.0+001+initial.patch} (81%) diff --git a/patches/@sveltejs+kit+2.13.0+001+initial.patch b/patches/@sveltejs+kit+2.15.0+001+initial.patch similarity index 81% rename from patches/@sveltejs+kit+2.13.0+001+initial.patch rename to patches/@sveltejs+kit+2.15.0+001+initial.patch index 1947cb3..0f933b2 100644 --- a/patches/@sveltejs+kit+2.13.0+001+initial.patch +++ b/patches/@sveltejs+kit+2.15.0+001+initial.patch @@ -1,11 +1,11 @@ diff --git a/node_modules/@sveltejs/kit/src/exports/vite/index.js b/node_modules/@sveltejs/kit/src/exports/vite/index.js -index ad519c9..bee1516 100644 +index 21bc3d4..eef2db3 100644 --- a/node_modules/@sveltejs/kit/src/exports/vite/index.js +++ b/node_modules/@sveltejs/kit/src/exports/vite/index.js -@@ -644,9 +644,9 @@ async function kit({ svelte_config }) { - input, +@@ -648,9 +648,9 @@ async function kit({ svelte_config }) { output: { - format: 'esm', + format: inline ? 'iife' : 'esm', + name: `__sveltekit_${version_hash}.app`, - entryFileNames: ssr ? '[name].js' : `${prefix}/[name].[hash].${ext}`, - chunkFileNames: ssr ? 'chunks/[name].js' : `${prefix}/chunks/[name].[hash].${ext}`, - assetFileNames: `${prefix}/assets/[name].[hash][extname]`, @@ -14,8 +14,8 @@ index ad519c9..bee1516 100644 + assetFileNames: `${prefix}/assets/[hash][extname]`, hoistTransitiveImports: false, sourcemapIgnoreList, - manualChunks: -@@ -661,9 +661,9 @@ async function kit({ svelte_config }) { + manualChunks: split ? undefined : () => 'bundle', +@@ -665,9 +665,9 @@ async function kit({ svelte_config }) { worker: { rollupOptions: { output: { diff --git a/src/lib/components/SettingsInput.svelte b/src/lib/components/SettingsInput.svelte index f95650b..a298ba1 100644 --- a/src/lib/components/SettingsInput.svelte +++ b/src/lib/components/SettingsInput.svelte @@ -25,6 +25,11 @@ export let invalid: boolean | undefined = undefined; export let minlength: string | undefined = undefined; export let onChange: (() => void) | undefined = undefined; + export let onInput: (() => void) | undefined = undefined; + + const onInputHandler = () => { + onInput?.(); + }; @@ -45,6 +50,8 @@ {minlength} bsSize={size} on:change={onChange} + on:input={onInputHandler} + spellcheck={type === 'text' ? 'false' : undefined} /> {#if suffix} {suffix} diff --git a/src/routes/Settings.svelte b/src/routes/Settings.svelte index 4c551ee..3360e22 100644 --- a/src/routes/Settings.svelte +++ b/src/routes/Settings.svelte @@ -148,6 +148,7 @@ }; const checkValidNostrPubkey = (key: string) => { + $settings[key] = $settings[key].trim(); if (isValidNpub($settings[key])) { dispatch('showToast', { color: 'info', @@ -617,6 +618,7 @@ : undefined} size={$uiSettings.inputSize} onChange={() => checkValidNostrPubkey('nostrZapPubkey')} + onInput={() => checkValidNostrPubkey('nostrZapPubkey')} /> {/if} {#if $settings.useNostr} @@ -630,6 +632,7 @@ : undefined} size={$uiSettings.inputSize} onChange={() => checkValidNostrPubkey('nostrPubKey')} + onInput={() => checkValidNostrPubkey('nostrPubKey')} /> {/if} {#if 'nostrZapNotify' in $settings || $settings.useNostr} diff --git a/yarn.lock b/yarn.lock index e957b66..14911a9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -764,14 +764,14 @@ import-meta-resolve "^4.1.0" "@sveltejs/adapter-static@^3.0.0": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@sveltejs/adapter-static/-/adapter-static-3.0.6.tgz#a580ad86aa90a52b19b6440f3c9521bd731211c1" - integrity sha512-MGJcesnJWj7FxDcB/GbrdYD3q24Uk0PIL4QIX149ku+hlJuj//nxUbb0HxUTpjkecWfHjVveSUnUaQWnPRXlpg== + version "3.0.8" + resolved "https://registry.yarnpkg.com/@sveltejs/adapter-static/-/adapter-static-3.0.8.tgz#f23ee99a9678dbaec58b79d183bc3defbfe99f1a" + integrity sha512-YaDrquRpZwfcXbnlDsSrBQNCChVOT9MGuSg+dMAyfsAa1SmiAhrA5jUYUiIMC59G92kIbY/AaQOWcBdq+lh+zg== "@sveltejs/kit@^2.0.0": - version "2.13.0" - resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-2.13.0.tgz#46cf8fe302f059242363f09268702069387cfd58" - integrity sha512-6t6ne00vZx/TjD6s0Jvwt8wRLKBwbSAN1nhlOzcLUSTYX1hTp4eCBaTPB5Yz/lu+tYcvz4YPEEuPv3yfsNp2gw== + version "2.15.0" + resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-2.15.0.tgz#9903e212a309a18ce9082ff6fe2cb64c3f4f79c1" + integrity sha512-FI1bhfhFNGI2sKg+BhiRyM4eaOvX+KZqRYSQqL5PK3ZZREX2xufZ6MzZAw79N846OnIxYNqcz/3VOUq+FPDd3w== dependencies: "@types/cookie" "^0.6.0" cookie "^0.6.0" @@ -877,62 +877,62 @@ resolved "https://registry.yarnpkg.com/@types/swagger-ui/-/swagger-ui-3.52.4.tgz#96c4886e8f86ae392f8d940bf7029cf490a51c72" integrity sha512-7NV7q8BfupqdQxr26OkM0g0YEPB9uXnKGzXadgcearvI9MoCHt3F72lPTX3fZZIlrr21DC0IK26wcDMZ37oFDA== -"@typescript-eslint/eslint-plugin@8.18.1", "@typescript-eslint/eslint-plugin@^8.7.0": - version "8.18.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.18.1.tgz#992e5ac1553ce20d0d46aa6eccd79dc36dedc805" - integrity sha512-Ncvsq5CT3Gvh+uJG0Lwlho6suwDfUXH0HztslDf5I+F2wAFAZMRwYLEorumpKLzmO2suAXZ/td1tBg4NZIi9CQ== +"@typescript-eslint/eslint-plugin@8.18.2", "@typescript-eslint/eslint-plugin@^8.7.0": + version "8.18.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.18.2.tgz#c78e363ab5fe3b21dd1c90d8be9581534417f78e" + integrity sha512-adig4SzPLjeQ0Tm+jvsozSGiCliI2ajeURDGHjZ2llnA+A67HihCQ+a3amtPhUakd1GlwHxSRvzOZktbEvhPPg== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.18.1" - "@typescript-eslint/type-utils" "8.18.1" - "@typescript-eslint/utils" "8.18.1" - "@typescript-eslint/visitor-keys" "8.18.1" + "@typescript-eslint/scope-manager" "8.18.2" + "@typescript-eslint/type-utils" "8.18.2" + "@typescript-eslint/utils" "8.18.2" + "@typescript-eslint/visitor-keys" "8.18.2" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" ts-api-utils "^1.3.0" -"@typescript-eslint/parser@8.18.1", "@typescript-eslint/parser@^8.7.0": - version "8.18.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.18.1.tgz#c258bae062778b7696793bc492249027a39dfb95" - integrity sha512-rBnTWHCdbYM2lh7hjyXqxk70wvon3p2FyaniZuey5TrcGBpfhVp0OxOa6gxr9Q9YhZFKyfbEnxc24ZnVbbUkCA== +"@typescript-eslint/parser@8.18.2", "@typescript-eslint/parser@^8.7.0": + version "8.18.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.18.2.tgz#0379a2e881d51d8fcf7ebdfa0dd18eee79182ce2" + integrity sha512-y7tcq4StgxQD4mDr9+Jb26dZ+HTZ/SkfqpXSiqeUXZHxOUyjWDKsmwKhJ0/tApR08DgOhrFAoAhyB80/p3ViuA== dependencies: - "@typescript-eslint/scope-manager" "8.18.1" - "@typescript-eslint/types" "8.18.1" - "@typescript-eslint/typescript-estree" "8.18.1" - "@typescript-eslint/visitor-keys" "8.18.1" + "@typescript-eslint/scope-manager" "8.18.2" + "@typescript-eslint/types" "8.18.2" + "@typescript-eslint/typescript-estree" "8.18.2" + "@typescript-eslint/visitor-keys" "8.18.2" debug "^4.3.4" -"@typescript-eslint/scope-manager@8.18.1": - version "8.18.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.18.1.tgz#52cedc3a8178d7464a70beffed3203678648e55b" - integrity sha512-HxfHo2b090M5s2+/9Z3gkBhI6xBH8OJCFjH9MhQ+nnoZqxU3wNxkLT+VWXWSFWc3UF3Z+CfPAyqdCTdoXtDPCQ== +"@typescript-eslint/scope-manager@8.18.2": + version "8.18.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.18.2.tgz#d193c200d61eb0ddec5987c8e48c9d4e1c0510bd" + integrity sha512-YJFSfbd0CJjy14r/EvWapYgV4R5CHzptssoag2M7y3Ra7XNta6GPAJPPP5KGB9j14viYXyrzRO5GkX7CRfo8/g== dependencies: - "@typescript-eslint/types" "8.18.1" - "@typescript-eslint/visitor-keys" "8.18.1" + "@typescript-eslint/types" "8.18.2" + "@typescript-eslint/visitor-keys" "8.18.2" -"@typescript-eslint/type-utils@8.18.1": - version "8.18.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.18.1.tgz#10f41285475c0bdee452b79ff7223f0e43a7781e" - integrity sha512-jAhTdK/Qx2NJPNOTxXpMwlOiSymtR2j283TtPqXkKBdH8OAMmhiUfP0kJjc/qSE51Xrq02Gj9NY7MwK+UxVwHQ== +"@typescript-eslint/type-utils@8.18.2": + version "8.18.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.18.2.tgz#5ad07e09002eee237591881df674c1c0c91ca52f" + integrity sha512-AB/Wr1Lz31bzHfGm/jgbFR0VB0SML/hd2P1yxzKDM48YmP7vbyJNHRExUE/wZsQj2wUCvbWH8poNHFuxLqCTnA== dependencies: - "@typescript-eslint/typescript-estree" "8.18.1" - "@typescript-eslint/utils" "8.18.1" + "@typescript-eslint/typescript-estree" "8.18.2" + "@typescript-eslint/utils" "8.18.2" debug "^4.3.4" ts-api-utils "^1.3.0" -"@typescript-eslint/types@8.18.1": - version "8.18.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.18.1.tgz#d7f4f94d0bba9ebd088de840266fcd45408a8fff" - integrity sha512-7uoAUsCj66qdNQNpH2G8MyTFlgerum8ubf21s3TSM3XmKXuIn+H2Sifh/ES2nPOPiYSRJWAk0fDkW0APBWcpfw== +"@typescript-eslint/types@8.18.2": + version "8.18.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.18.2.tgz#5ebad5b384c8aa1c0f86cee1c61bcdbe7511f547" + integrity sha512-Z/zblEPp8cIvmEn6+tPDIHUbRu/0z5lqZ+NvolL5SvXWT5rQy7+Nch83M0++XzO0XrWRFWECgOAyE8bsJTl1GQ== -"@typescript-eslint/typescript-estree@8.18.1": - version "8.18.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.18.1.tgz#2a86cd64b211a742f78dfa7e6f4860413475367e" - integrity sha512-z8U21WI5txzl2XYOW7i9hJhxoKKNG1kcU4RzyNvKrdZDmbjkmLBo8bgeiOJmA06kizLI76/CCBAAGlTlEeUfyg== +"@typescript-eslint/typescript-estree@8.18.2": + version "8.18.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.18.2.tgz#fffb85527f8304e29bfbbdc712f4515da9f8b47c" + integrity sha512-WXAVt595HjpmlfH4crSdM/1bcsqh+1weFRWIa9XMTx/XHZ9TCKMcr725tLYqWOgzKdeDrqVHxFotrvWcEsk2Tg== dependencies: - "@typescript-eslint/types" "8.18.1" - "@typescript-eslint/visitor-keys" "8.18.1" + "@typescript-eslint/types" "8.18.2" + "@typescript-eslint/visitor-keys" "8.18.2" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" @@ -940,22 +940,22 @@ semver "^7.6.0" ts-api-utils "^1.3.0" -"@typescript-eslint/utils@8.18.1": - version "8.18.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.18.1.tgz#c4199ea23fc823c736e2c96fd07b1f7235fa92d5" - integrity sha512-8vikiIj2ebrC4WRdcAdDcmnu9Q/MXXwg+STf40BVfT8exDqBCUPdypvzcUPxEqRGKg9ALagZ0UWcYCtn+4W2iQ== +"@typescript-eslint/utils@8.18.2": + version "8.18.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.18.2.tgz#a2635f71904a84f9e47fe1b6f65a6d944ff1adf9" + integrity sha512-Cr4A0H7DtVIPkauj4sTSXVl+VBWewE9/o40KcF3TV9aqDEOWoXF3/+oRXNby3DYzZeCATvbdksYsGZzplwnK/Q== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.18.1" - "@typescript-eslint/types" "8.18.1" - "@typescript-eslint/typescript-estree" "8.18.1" + "@typescript-eslint/scope-manager" "8.18.2" + "@typescript-eslint/types" "8.18.2" + "@typescript-eslint/typescript-estree" "8.18.2" -"@typescript-eslint/visitor-keys@8.18.1": - version "8.18.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.18.1.tgz#344b4f6bc83f104f514676facf3129260df7610a" - integrity sha512-Vj0WLm5/ZsD013YeUKn+K0y8p1M0jPpxOkKdbD1wB0ns53a5piVY02zjf072TblEweAbcYiFiPoSMF3kp+VhhQ== +"@typescript-eslint/visitor-keys@8.18.2": + version "8.18.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.18.2.tgz#b3e434b701f086b10a7c82416ebc56899d27ef2f" + integrity sha512-zORcwn4C3trOWiCqFQP1x6G3xTRyZ1LYydnj51cRnJ6hxBlr/cKPckk+PKPUw/fXmvfKTcw7bwY3w9izgx5jZw== dependencies: - "@typescript-eslint/types" "8.18.1" + "@typescript-eslint/types" "8.18.2" eslint-visitor-keys "^4.2.0" "@vitest/expect@2.1.8": @@ -1779,9 +1779,9 @@ fast-levenshtein@^2.0.6: integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fastq@^1.6.0: - version "1.17.1" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" - integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== + version "1.18.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.18.0.tgz#d631d7e25faffea81887fe5ea8c9010e1b36fee0" + integrity sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw== dependencies: reusify "^1.0.4" @@ -2913,9 +2913,9 @@ supports-color@^7.1.0: has-flag "^4.0.0" svelte-bootstrap-icons@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/svelte-bootstrap-icons/-/svelte-bootstrap-icons-3.1.1.tgz#aafacdffd0082ef1aea041784f7818f40083089a" - integrity sha512-ghJlt6TX3IX35M7wSvGyrmVgXeT5GMRF+7+q6L4OUT2RJWF09mQIvZTZ04Ii3FBfg10KdzFdvVuoB8M0cVHfzw== + version "3.1.2" + resolved "https://registry.yarnpkg.com/svelte-bootstrap-icons/-/svelte-bootstrap-icons-3.1.2.tgz#19f39fa4c29df567d53abdde01d0573d48a53a0b" + integrity sha512-vy+qmWFfLJZxu5BaDlmaUG4uzki1rodX5ERZAP6KQdyO/2WNeGBDU4Yke3Z0NRq+VSepK86iAy+iUJvlUdsbBg== svelte-check@^4.0.2: version "4.1.1" @@ -3109,13 +3109,13 @@ type@^2.7.2: integrity sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ== typescript-eslint@^8.7.0: - version "8.18.1" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.18.1.tgz#197b284b6769678ed77d9868df180eeaf61108eb" - integrity sha512-Mlaw6yxuaDEPQvb/2Qwu3/TfgeBHy9iTJ3mTwe7OvpPmF6KPQjVOfGyEJpPv6Ez2C34OODChhXrzYw/9phI0MQ== + version "8.18.2" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.18.2.tgz#71334dcf843adc3fbb771dce5ade7876aa0d62b7" + integrity sha512-KuXezG6jHkvC3MvizeXgupZzaG5wjhU3yE8E7e6viOvAvD9xAWYp8/vy0WULTGe9DYDWcQu7aW03YIV3mSitrQ== dependencies: - "@typescript-eslint/eslint-plugin" "8.18.1" - "@typescript-eslint/parser" "8.18.1" - "@typescript-eslint/utils" "8.18.1" + "@typescript-eslint/eslint-plugin" "8.18.2" + "@typescript-eslint/parser" "8.18.2" + "@typescript-eslint/utils" "8.18.2" typescript@^5.5.4: version "5.6.3" From 4ae1fc794c953cf4e782e56356096781d6d86ecd Mon Sep 17 00:00:00 2001 From: Ticktock Depbot Date: Thu, 26 Dec 2024 14:22:04 +0000 Subject: [PATCH 37/74] Add renovate.json --- renovate.json | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 renovate.json diff --git a/renovate.json b/renovate.json new file mode 100644 index 0000000..5db72dd --- /dev/null +++ b/renovate.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "config:recommended" + ] +} From 46eb763adbbdb149d85294ae425cb4f2e8870398 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Thu, 26 Dec 2024 15:26:03 +0100 Subject: [PATCH 38/74] Update renovate configuration --- renovate.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/renovate.json b/renovate.json index 5db72dd..d9840f5 100644 --- a/renovate.json +++ b/renovate.json @@ -1,6 +1,14 @@ { - "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "extends": [ - "config:recommended" - ] + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": ["config:base"], + "packageRules": [ + { + "matchPackagePatterns": ["*"], + "matchUpdateTypes": ["major"], + "enabled": false + } + ], + "npm": { + "rangeStrategy": "update-lockfile" + } } From ad142105f331b25e3a9abdafb7bddf1225d1d3e0 Mon Sep 17 00:00:00 2001 From: Ticktock Depbot Date: Thu, 26 Dec 2024 14:29:18 +0000 Subject: [PATCH 39/74] Update actions/forgejo-release action to v2.5.1 --- .forgejo/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index a1e59a8..b061eee 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -107,7 +107,7 @@ jobs: output/littlefs.bin - name: Create release if: github.event_name == 'push' && github.ref == 'refs/heads/main' - uses: https://code.forgejo.org/actions/forgejo-release@v2.4.0 + uses: https://code.forgejo.org/actions/forgejo-release@v2.5.1 with: url: 'https://git.btclock.dev/' repo: '${{ github.repository }}' From a59de5796f1ea838d6ac535ae5fc6db9929ffcb4 Mon Sep 17 00:00:00 2001 From: Ticktock Depbot Date: Thu, 26 Dec 2024 14:29:21 +0000 Subject: [PATCH 40/74] Migrate config renovate.json --- renovate.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/renovate.json b/renovate.json index d9840f5..7dca1ca 100644 --- a/renovate.json +++ b/renovate.json @@ -1,11 +1,11 @@ { "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "extends": ["config:base"], + "extends": ["config:recommended"], "packageRules": [ { - "matchPackagePatterns": ["*"], "matchUpdateTypes": ["major"], - "enabled": false + "enabled": false, + "matchPackageNames": ["*"] } ], "npm": { From 236a2bb4aec90ab895ce9fb30a1721fb537dbb5b Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Thu, 26 Dec 2024 15:39:47 +0100 Subject: [PATCH 41/74] Only release on main --- .forgejo/workflows/build.yaml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index b061eee..1da8225 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -1,4 +1,9 @@ -on: [push] +on: + push: + branches: + - main + pull_request: + jobs: check-changes: runs-on: docker @@ -67,10 +72,15 @@ jobs: run: npx playwright test - name: Build WebUI run: yarn build + + # The following steps only run on push to main - name: Get current block + if: github.event_name == 'push' && github.ref == 'refs/heads/main' id: getBlockHeight run: echo "blockHeight=$(curl -s https://mempool.space/api/blocks/tip/height)" >> $GITHUB_OUTPUT + - name: Write block height to file + if: github.event_name == 'push' && github.ref == 'refs/heads/main' env: BLOCK_HEIGHT: ${{ steps.getBlockHeight.outputs.blockHeight }} run: mkdir -p output && echo "$BLOCK_HEIGHT" > output/version.txt @@ -94,12 +104,14 @@ jobs: echo "Directory size is within the threshold $DIRECTORY_SIZE" fi - name: Create tarball + if: github.event_name == 'push' && github.ref == 'refs/heads/main' run: tar czf webui.tgz --strip-components=1 dist - name: Build LittleFS run: | set -e /tmp/mklittlefs/mklittlefs -c build_gz -s 410000 output/littlefs.bin - name: Upload artifacts + if: github.event_name == 'push' && github.ref == 'refs/heads/main' uses: https://code.forgejo.org/forgejo/upload-artifact@v4 with: path: | From 20fba4078203c0efcf7d21f4a110237d97363ad8 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Thu, 26 Dec 2024 15:45:12 +0100 Subject: [PATCH 42/74] Fix workflow --- .forgejo/workflows/build.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 1da8225..ce43015 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -80,7 +80,6 @@ jobs: run: echo "blockHeight=$(curl -s https://mempool.space/api/blocks/tip/height)" >> $GITHUB_OUTPUT - name: Write block height to file - if: github.event_name == 'push' && github.ref == 'refs/heads/main' env: BLOCK_HEIGHT: ${{ steps.getBlockHeight.outputs.blockHeight }} run: mkdir -p output && echo "$BLOCK_HEIGHT" > output/version.txt From b9c08dec6414113cd2c6905656d7997e8a660101 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Thu, 26 Dec 2024 15:56:55 +0100 Subject: [PATCH 43/74] Remove unused GitHub reporter --- package.json | 4 +--- vite.config.ts | 4 +--- yarn.lock | 35 +---------------------------------- 3 files changed, 3 insertions(+), 40 deletions(-) diff --git a/package.json b/package.json index e895b4c..ccf16dc 100644 --- a/package.json +++ b/package.json @@ -42,8 +42,7 @@ "typescript": "^5.5.4", "typescript-eslint": "^8.7.0", "vite": "^5.4.7", - "vitest": "^2.1.1", - "vitest-github-actions-reporter": "^0.11.0" + "vitest": "^2.1.1" }, "type": "module", "dependencies": { @@ -65,7 +64,6 @@ }, "resolutions": { "es5-ext": ">=0.10.64", - "undici": ">=5.28.4", "ws": ">=8.18.0", "axios": ">=1.7.7", "micromatch": ">=4.0.8" diff --git a/vite.config.ts b/vite.config.ts index c9bdcf6..3368d70 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,6 +1,5 @@ import { sveltekit } from '@sveltejs/kit/vite'; import { defineConfig } from 'vite'; -import GithubActionsReporter from 'vitest-github-actions-reporter'; // import { visualizer } from 'rollup-plugin-visualizer'; import * as fs from 'fs'; @@ -100,8 +99,7 @@ export default defineConfig({ test: { include: ['src/**/*.{test,spec}.{js,ts}'], globals: true, - environment: 'jsdom', - reporters: process.env.GITHUB_ACTIONS ? ['default', new GithubActionsReporter()] : 'default' + environment: 'jsdom' }, define: { 'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV) diff --git a/yarn.lock b/yarn.lock index 14911a9..d69bccb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,22 +2,6 @@ # yarn lockfile v1 -"@actions/core@^1.10.0": - version "1.10.1" - resolved "https://registry.yarnpkg.com/@actions/core/-/core-1.10.1.tgz#61108e7ac40acae95ee36da074fa5850ca4ced8a" - integrity sha512-3lBR9EDAY+iYIpTnTIXmWcNbX3T2kCkAEQGIQx4NVQ0575nk2k3GRZDTPQG+vVtS2izSLmINlxXf0uLtnrTP+g== - dependencies: - "@actions/http-client" "^2.0.1" - uuid "^8.3.2" - -"@actions/http-client@^2.0.1": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-2.2.0.tgz#f8239f375be6185fcd07765efdcf0031ad5df1a0" - integrity sha512-q+epW0trjVUUHboliPb4UF9g2msf+w61b32tAkFEwL/IwP0DQWgbCMM0Hbe3e3WXSKz5VcUXbzJQgy8Hkra/Lg== - dependencies: - tunnel "^0.0.6" - undici "^5.25.4" - "@adobe/css-tools@^4.4.0": version "4.4.0" resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.4.0.tgz#728c484f4e10df03d5a3acd0d8adcbbebff8ad63" @@ -3091,11 +3075,6 @@ tslib@^2.7.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== -tunnel@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" - integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== - type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" @@ -3122,7 +3101,7 @@ typescript@^5.5.4: resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.6.3.tgz#5f3449e31c9d94febb17de03cc081dd56d81db5b" integrity sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw== -undici@>=5.28.4, undici@^5.25.4: +undici@>=5.28.4: version "6.19.8" resolved "https://registry.yarnpkg.com/undici/-/undici-6.19.8.tgz#002d7c8a28f8cc3a44ff33c3d4be4d85e15d40e1" integrity sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g== @@ -3144,11 +3123,6 @@ util-deprecate@^1.0.2: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - vite-node@2.1.8: version "2.1.8" resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-2.1.8.tgz#9495ca17652f6f7f95ca7c4b568a235e0c8dbac5" @@ -3176,13 +3150,6 @@ vitefu@^0.2.5: resolved "https://registry.yarnpkg.com/vitefu/-/vitefu-0.2.5.tgz#c1b93c377fbdd3e5ddd69840ea3aa70b40d90969" integrity sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q== -vitest-github-actions-reporter@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/vitest-github-actions-reporter/-/vitest-github-actions-reporter-0.11.1.tgz#42ffaaf9d3b182cfb7552532f9d1e290190914e0" - integrity sha512-ZHHB0wBgOPhMYCB17WKVlJZa+5SdudBZFoVoebwfq3ioIUTeLQGYHwh85vpdJAxRghLP8d0qI/6eCTueGyDVXA== - dependencies: - "@actions/core" "^1.10.0" - vitest@^2.1.1: version "2.1.8" resolved "https://registry.yarnpkg.com/vitest/-/vitest-2.1.8.tgz#2e6a00bc24833574d535c96d6602fb64163092fa" From 5d03f588015f36b07c81f9f5caa00f16d5bd9c21 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Thu, 26 Dec 2024 16:01:02 +0100 Subject: [PATCH 44/74] Cache playwright browsers for workflow --- .forgejo/workflows/build.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index ce43015..da64930 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -47,7 +47,8 @@ jobs: path: | ~/.cache/pip ~/node_modules - key: ${{ runner.os }}-pio + ~/.cache/ms-playwright + key: ${{ runner.os }}-pio-playwright-${{ hashFiles('**/yarn.lock') }} - uses: actions/setup-python@v5 with: python-version: '>=3.10' @@ -67,6 +68,7 @@ jobs: - name: Run vitest tests run: yarn vitest run - name: Install Playwright Browsers + if: steps.cache.outputs.cache-hit != 'true' run: npx playwright install --with-deps - name: Run Playwright tests run: npx playwright test From 65b6df5d92f3f936e823a5c1413681aee85ab0c5 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Thu, 26 Dec 2024 16:13:15 +0100 Subject: [PATCH 45/74] Remove axios as it is not needed --- package.json | 1 - yarn.lock | 5 ----- 2 files changed, 6 deletions(-) diff --git a/package.json b/package.json index ccf16dc..305f1db 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,6 @@ "resolutions": { "es5-ext": ">=0.10.64", "ws": ">=8.18.0", - "axios": ">=1.7.7", "micromatch": ">=4.0.8" }, "packageManager": "yarn@1.22.21+sha1.1959a18351b811cdeedbd484a8f86c3cc3bbaf72" diff --git a/yarn.lock b/yarn.lock index d69bccb..4bc50db 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3101,11 +3101,6 @@ typescript@^5.5.4: resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.6.3.tgz#5f3449e31c9d94febb17de03cc081dd56d81db5b" integrity sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw== -undici@>=5.28.4: - version "6.19.8" - resolved "https://registry.yarnpkg.com/undici/-/undici-6.19.8.tgz#002d7c8a28f8cc3a44ff33c3d4be4d85e15d40e1" - integrity sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g== - universalify@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" From 2ce53eb499e00a990be5cb0ea078e146f467ceb4 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Thu, 26 Dec 2024 23:59:20 +0100 Subject: [PATCH 46/74] Show new WebUI filenames --- src/routes/FirmwareUpdater.svelte | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/routes/FirmwareUpdater.svelte b/src/routes/FirmwareUpdater.svelte index a9a3229..27b1b63 100644 --- a/src/routes/FirmwareUpdater.svelte +++ b/src/routes/FirmwareUpdater.svelte @@ -112,6 +112,25 @@ return binaryFilename; }; + const getWebUiBinaryName = () => { + let webuiFilename = ''; + switch ($settings.hwRev) { + case 'REV_V8_EPD_2_13': + webuiFilename = 'littlefs_16MB.bin'; + break; + case 'REV_B_EPD_2_13': + webuiFilename = 'littlefs_8MB.bin'; + break; + case 'REV_A_EPD_2_13': + webuiFilename = 'littlefs_4MB.bin'; + break; + default: + webuiFilename = 'Unsupported hardware, unable to determine WebUI binary filename'; + } + + return webuiFilename; + }; + const onAutoUpdate = async (e: Event) => { e.preventDefault(); @@ -217,7 +236,7 @@ >
- + Date: Sat, 28 Dec 2024 17:56:48 +0100 Subject: [PATCH 47/74] Split up settings sections, use new datasource selector --- .../settings/DataSourceSettings.svelte | 142 ++++ .../settings/DisplaySettings.svelte | 189 +++++ .../settings/ExtraFeaturesSettings.svelte | 190 +++++ .../settings/ScreenSpecificSettings.svelte | 125 +++ .../components/settings/SystemSettings.svelte | 113 +++ src/lib/components/settings/index.ts | 5 + src/lib/i18n/en.json | 0 src/lib/locales/de.json | 13 +- src/lib/locales/en.json | 23 +- src/lib/locales/es.json | 13 +- src/lib/types/dataSource.ts | 6 + src/routes/Settings.svelte | 761 ++---------------- src/routes/Status.svelte | 9 +- 13 files changed, 869 insertions(+), 720 deletions(-) create mode 100644 src/lib/components/settings/DataSourceSettings.svelte create mode 100644 src/lib/components/settings/DisplaySettings.svelte create mode 100644 src/lib/components/settings/ExtraFeaturesSettings.svelte create mode 100644 src/lib/components/settings/ScreenSpecificSettings.svelte create mode 100644 src/lib/components/settings/SystemSettings.svelte create mode 100644 src/lib/components/settings/index.ts create mode 100644 src/lib/i18n/en.json create mode 100644 src/lib/types/dataSource.ts diff --git a/src/lib/components/settings/DataSourceSettings.svelte b/src/lib/components/settings/DataSourceSettings.svelte new file mode 100644 index 0000000..5891573 --- /dev/null +++ b/src/lib/components/settings/DataSourceSettings.svelte @@ -0,0 +1,142 @@ + + + + + + +
Data Source
+ + + + + + + + + {#if $settings.nostrRelay} + + + + {/if} + + + + + + +
+ + {#if $settings.dataSource === DataSourceType.THIRD_PARTY_SOURCE} + + + + HTTPS + + + {/if} + + {#if $settings.dataSource === DataSourceType.NOSTR_SOURCE} + + checkValidNostrPubkey('nostrPubKey')} + onInput={() => checkValidNostrPubkey('nostrPubKey')} + /> + {/if} + + {#if $settings.dataSource === DataSourceType.CUSTOM_SOURCE} + + + {/if} +
+
diff --git a/src/lib/components/settings/DisplaySettings.svelte b/src/lib/components/settings/DisplaySettings.svelte new file mode 100644 index 0000000..e391a8c --- /dev/null +++ b/src/lib/components/settings/DisplaySettings.svelte @@ -0,0 +1,189 @@ + + + + + + + + + + + + + + + {#if $settings.hasFrontlight && !$settings.flDisable} + + + + {/if} + + {#if !$settings.flDisable && $settings.hasLightLevel} + + {/if} + + + + + + + + + {#if $settings.hasFrontlight} + + {/if} + + {#if $settings.hasFrontlight && !$settings.flDisable} + + + + + + {/if} + + + diff --git a/src/lib/components/settings/ExtraFeaturesSettings.svelte b/src/lib/components/settings/ExtraFeaturesSettings.svelte new file mode 100644 index 0000000..2d6615c --- /dev/null +++ b/src/lib/components/settings/ExtraFeaturesSettings.svelte @@ -0,0 +1,190 @@ + + + + + + {#if 'bitaxeEnabled' in $settings} + + +
BitAxe
+ + {#if $settings.bitaxeEnabled} + + + + {/if} + +
+ {/if} + + + {#if 'miningPoolStats' in $settings} + + +
Mining Pool stats
+ + {#if $settings.miningPoolStats} + + + {/if} + +
+ {/if} + + + {#if 'nostrZapNotify' in $settings} + + +
Nostr
+ + + {#if $settings.nostrZapNotify} + + + {#if $settings.hasFrontlight && !$settings.flDisable} + + {/if} + + checkValidNostrPubkey('nostrZapPubkey')} + onInput={() => checkValidNostrPubkey('nostrZapPubkey')} + /> + {/if} + +
+ {/if} +
+
diff --git a/src/lib/components/settings/ScreenSpecificSettings.svelte b/src/lib/components/settings/ScreenSpecificSettings.svelte new file mode 100644 index 0000000..45f9313 --- /dev/null +++ b/src/lib/components/settings/ScreenSpecificSettings.svelte @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + {#if !$settings.actCurrencies} + + {/if} + + +
{$_('section.settings.screens')}
+ {#if $settings.screens} + {#each $settings.screens as s} + + {/each} + {/if} +
+ {#if $settings.actCurrencies && $settings.useNostr !== true} + +
{$_('section.settings.currencies')}
+ {$_('restartRequired')} + {#if $settings.availableCurrencies} + {#each $settings.availableCurrencies as c} + +
+ + +
+ + {/each} + {/if} +
+ {/if} +
+
diff --git a/src/lib/components/settings/SystemSettings.svelte b/src/lib/components/settings/SystemSettings.svelte new file mode 100644 index 0000000..5f12e2d --- /dev/null +++ b/src/lib/components/settings/SystemSettings.svelte @@ -0,0 +1,113 @@ + + + + + + + + + {#if $settings.httpAuthEnabled} + + + + + {/if} + + + + + + + + + + + + + diff --git a/src/lib/components/settings/index.ts b/src/lib/components/settings/index.ts new file mode 100644 index 0000000..6ddfa7c --- /dev/null +++ b/src/lib/components/settings/index.ts @@ -0,0 +1,5 @@ +export { default as ScreenSpecificSettings } from './ScreenSpecificSettings.svelte'; +export { default as DisplaySettings } from './DisplaySettings.svelte'; +export { default as DataSourceSettings } from './DataSourceSettings.svelte'; +export { default as ExtraFeaturesSettings } from './ExtraFeaturesSettings.svelte'; +export { default as SystemSettings } from './SystemSettings.svelte'; diff --git a/src/lib/i18n/en.json b/src/lib/i18n/en.json new file mode 100644 index 0000000..e69de29 diff --git a/src/lib/locales/de.json b/src/lib/locales/de.json index e9756ff..852e68b 100644 --- a/src/lib/locales/de.json +++ b/src/lib/locales/de.json @@ -30,7 +30,7 @@ "wifiTxPower": "WiFi-TX-Leistung", "settingsSaved": "Einstellungen gespeichert", "errorSavingSettings": "Fehler beim Speichern der Einstellungen", - "ownDataSource": "BTClock-Datenquelle verwenden", + "ownDataSource": "BTClock-Datenquelle", "flAlwaysOn": "Displaybeleuchtung immer an", "flEffectDelay": "Displaybeleuchtungeffekt Geschwindigkeit", "flFlashOnUpd": "Displaybeleuchting bei neuem Block", @@ -58,7 +58,16 @@ "hideAll": "Alles ausblenden", "flOffWhenDark": "Displaybeleuchtung aus, wenn es dunkel ist", "luxLightToggleText": "Zum Deaktivieren auf 0 setzen", - "verticalDesc": "Vrtikale Bildschirmbeschreibung" + "verticalDesc": "Vrtikale Bildschirmbeschreibung", + "enableDebugLog": "Debug-Protokoll aktivieren", + "bitaxeEnabled": "BitAxe-Integration aktivieren", + "miningPoolStats": "Mining-Pool-Statistiken Integration Aktivieren", + "nostrZapNotify": "Nostr Zap-Benachrichtigungen aktivieren", + "thirdPartySource": "mempool.space/coincap.io Verwenden", + "dataSource": { + "nostr": "Nostr-Verlag", + "custom": "Benutzerdefinierter dataquelle" + } }, "control": { "systemInfo": "Systeminfo", diff --git a/src/lib/locales/en.json b/src/lib/locales/en.json index caab16c..4cd430c 100644 --- a/src/lib/locales/en.json +++ b/src/lib/locales/en.json @@ -29,7 +29,7 @@ "wifiTxPower": "WiFi TX power", "settingsSaved": "Settings saved", "errorSavingSettings": "Error saving settings", - "ownDataSource": "Use BTClock data source", + "ownDataSource": "BTClock data source", "flMaxBrightness": "Frontlight brightness", "flAlwaysOn": "Frontlight always on", "flEffectDelay": "Frontlight effect speed", @@ -40,11 +40,11 @@ "nostrPubKey": "Nostr source pubkey", "nostrZapKey": "Nostr zap pubkey", "nostrRelay": "Nostr Relay", - "nostrZapNotify": "Nostr Zap Notifications", + "nostrZapNotify": "Enable Nostr Zap Notifications", "useNostr": "Use Nostr data source", "bitaxeHostname": "BitAxe hostname or IP", - "bitaxeEnabled": "Enable BitAxe", - "miningPoolStats": "Enable Mining Pool Stats", + "bitaxeEnabled": "Enable BitAxe-integration", + "miningPoolStats": "Enable Mining Pool Stats integration", "miningPoolName": "Mining Pool", "miningPoolUser": "Mining Pool username or api key", "nostrZapPubkey": "Nostr Zap pubkey", @@ -56,7 +56,7 @@ "httpAuthPass": "WebUI Password", "httpAuthText": "Only password-protects WebUI, not API-calls.", "currencies": "Currencies", - "stagingSource": "Use Staging data source (for development)", + "customSource": "Use custom data source endpoint", "useNostrTooltip": "Very experimental and unstable. Nostr data source is not required for Nostr Zap notifications.", "mowMode": "Mow Suffix Mode", "suffixShareDot": "Suffix compact notation", @@ -73,7 +73,18 @@ "hideAll": "Hide all", "flOffWhenDark": "Frontlight off when dark", "luxLightToggleText": "Set to 0 to disable", - "verticalDesc": "Use vertical screen description" + "verticalDesc": "Use vertical screen description", + "enableDebugLog": "Enable Debug-log", + "dataSource": { + "label": "Data Source", + "btclock": "BTClock Data Source", + "thirdParty": "mempool.space/coincap.io", + "nostr": "Nostr publisher", + "custom": "Custom Endpoint" + }, + "thirdPartySource": "Use mempool.space/coincap.io", + "ceDisableSSL": "Disable SSL", + "ceEndpoint": "Endpoint hostname" }, "control": { "systemInfo": "System info", diff --git a/src/lib/locales/es.json b/src/lib/locales/es.json index 79b6673..96824e3 100644 --- a/src/lib/locales/es.json +++ b/src/lib/locales/es.json @@ -28,7 +28,7 @@ "wifiTxPowerText": "En la mayoría de los casos no es necesario configurar esto.", "settingsSaved": "Configuración guardada", "errorSavingSettings": "Error al guardar la configuración", - "ownDataSource": "Utilice la fuente de datos BTClock", + "ownDataSource": "fuente de datos BTClock", "flMaxBrightness": "Brillo de luz de la pantalla", "flAlwaysOn": "Luz de la pantalla siempre encendida", "flEffectDelay": "Velocidad del efecto de luz de la pantalla", @@ -57,7 +57,16 @@ "hideAll": "Ocultar todo", "flOffWhenDark": "Luz de la pantalla cuando está oscuro", "luxLightToggleText": "Establecer en 0 para desactivar", - "verticalDesc": "Descripción de pantalla vertical" + "verticalDesc": "Descripción de pantalla vertical", + "enableDebugLog": "Habilitar registro de depuración", + "bitaxeEnabled": "Habilitar la integración de BitAxe", + "miningPoolStats": "Habilitar la integración de estadísticas del grupo minero", + "nostrZapNotify": "Habilitar notificaciones de Nostr Zap", + "thirdPartySource": "Utilice mempool.space/coincap.io", + "dataSource": { + "nostr": "editorial nostr", + "custom": "Punto final personalizado" + } }, "control": { "turnOff": "Apagar", diff --git a/src/lib/types/dataSource.ts b/src/lib/types/dataSource.ts new file mode 100644 index 0000000..ffadd46 --- /dev/null +++ b/src/lib/types/dataSource.ts @@ -0,0 +1,6 @@ +export enum DataSourceType { + BTCLOCK_SOURCE = 0, + THIRD_PARTY_SOURCE = 1, + NOSTR_SOURCE = 2, + CUSTOM_SOURCE = 3 +} diff --git a/src/routes/Settings.svelte b/src/routes/Settings.svelte index 3360e22..1210ad6 100644 --- a/src/routes/Settings.svelte +++ b/src/routes/Settings.svelte @@ -1,7 +1,5 @@
- + + | - + +
- {$_('section.settings.title', { default: 'Settings' })} + {$_('section.settings.title')}
- - - - - - - - - - - - - + + + + + + - {#if !$settings.actCurrencies} - - {/if} - - -
{$_('section.settings.screens')}
- {#if $settings.screens} - {#each $settings.screens as s} - - {/each} - {/if} -
- {#if $settings.actCurrencies && $settings.useNostr !== true} - -
{$_('section.settings.currencies')}
- {$_('restartRequired')} - {#if $settings.availableCurrencies} - {#each $settings.availableCurrencies as c} - -
- - -
- - {/each} - {/if} -
- {/if} -
-
- - - - - - - - - - - - {#if $settings.hasFrontlight && !$settings.flDisable} - - - - {/if} - - {#if !$settings.flDisable && $settings.hasLightLevel} - - {/if} - - - - - - - - - {#if $settings.hasFrontlight} - - {/if} - - {#if $settings.hasFrontlight && !$settings.flDisable} - - - - - - {/if} - - - - - - - - - - {#if $settings.nostrRelay} - - {/if} - - {#if 'stagingSource' in $settings} - - {/if} - - - - - {#if $settings.bitaxeEnabled} - - - - {/if} - {#if $settings.miningPoolStats} - [getMiningPoolName(pool), pool])} - size={$uiSettings.inputSize} - selectClass={$uiSettings.selectClass} - /> - - {/if} - {#if 'nostrZapNotify' in $settings && $settings['nostrZapNotify']} - checkValidNostrPubkey('nostrZapPubkey')} - onInput={() => checkValidNostrPubkey('nostrZapPubkey')} - /> - {/if} - {#if $settings.useNostr} - checkValidNostrPubkey('nostrPubKey')} - onInput={() => checkValidNostrPubkey('nostrPubKey')} - /> - {/if} - {#if 'nostrZapNotify' in $settings || $settings.useNostr} - - - - {/if} - - {#if 'bitaxeEnabled' in $settings} - - {/if} - {#if 'miningPoolStats' in $settings} - - {/if} - {#if 'nostrZapNotify' in $settings} - - - {#if $settings.hasFrontlight && !$settings.flDisable} - - {/if} - {/if} - - - - - - - - - {#if $settings.httpAuthEnabled} - - - - - {/if} - - - - - - - - - - - - - - - - - - -
- + + + + diff --git a/src/routes/Status.svelte b/src/routes/Status.svelte index 812ee68..678a23a 100644 --- a/src/routes/Status.svelte +++ b/src/routes/Status.svelte @@ -17,6 +17,7 @@ Row } from '@sveltestrap/sveltestrap'; import Rendered from './Rendered.svelte'; + import { DataSourceType } from '$lib/types/dataSource'; export let settings; export let status: writable; @@ -74,7 +75,7 @@ }); settings.subscribe((value: object) => { - lightMode = value.bgColor > value.fgColor; + lightMode = !value.invertedColor; if (value.screens) buttonChunks = chunkArray(value.screens, 5); }); @@ -218,7 +219,7 @@ {$_('section.status.uptime')}: {toUptimestring($status.espUptime)}

- {#if $settings.useNostr || $settings.nostrZapNotify} + {#if $settings.dataSource == DataSourceType.NOSTR_SOURCE || $settings.nostrZapNotify} {$_('section.status.nostrConnection')}: {#if $status.connectionStatus && $status.connectionStatus.nostr} @@ -228,8 +229,8 @@ {/if} {/if} - {#if !$settings.useNostr} - {#if !$settings.ownDataSource} + {#if $settings.dataSource != DataSourceType.NOSTR_SOURCE} + {#if $settings.dataSource == DataSourceType.THIRD_PARTY_SOURCE} {$_('section.status.wsPriceConnection')}: {#if $status.connectionStatus && $status.connectionStatus.price} From 468e105adfaded0440ff8bba61a8241d54f28cd4 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Sat, 28 Dec 2024 20:45:10 +0100 Subject: [PATCH 48/74] Better feedback when auto-updating and improve handling of disconnects and restarts --- src/lib/components/Placeholder.svelte | 11 + src/lib/components/index.ts | 1 + src/lib/locales/de.json | 3 +- src/lib/locales/en.json | 3 +- src/lib/locales/es.json | 3 +- src/lib/locales/nl.json | 3 +- src/lib/style/app.scss | 33 +++ src/routes/+page.svelte | 103 ++++++--- src/routes/Control.svelte | 20 +- src/routes/FirmwareUpdater.svelte | 113 +++++----- src/routes/Settings.svelte | 51 +++-- src/routes/Status.svelte | 289 ++++++++++++++------------ 12 files changed, 378 insertions(+), 255 deletions(-) create mode 100644 src/lib/components/Placeholder.svelte diff --git a/src/lib/components/Placeholder.svelte b/src/lib/components/Placeholder.svelte new file mode 100644 index 0000000..3eecfdc --- /dev/null +++ b/src/lib/components/Placeholder.svelte @@ -0,0 +1,11 @@ + + + + {valueToCheck ? value : ''} + diff --git a/src/lib/components/index.ts b/src/lib/components/index.ts index 53338a1..b026c1c 100644 --- a/src/lib/components/index.ts +++ b/src/lib/components/index.ts @@ -3,3 +3,4 @@ export { default as SettingsInput } from './SettingsInput.svelte'; export { default as SettingsSelect } from './SettingsSelect.svelte'; export { default as ToggleHeader } from './ToggleHeader.svelte'; export { default as ColorSchemeSwitcher } from './ColorSchemeSwitcher.svelte'; +export { default as Placeholder } from './Placeholder.svelte'; diff --git a/src/lib/locales/de.json b/src/lib/locales/de.json index 852e68b..796b166 100644 --- a/src/lib/locales/de.json +++ b/src/lib/locales/de.json @@ -107,7 +107,8 @@ "latestVersion": "Letzte Version", "releaseDate": "Veröffentlichungsdatum", "viewRelease": "Veröffentlichung anzeigen", - "autoUpdate": "Update installieren (experimentell)" + "autoUpdate": "Update installieren (experimentell)", + "autoUpdateInProgress": "Automatische Aktualisierung läuft, bitte warten..." } }, "colors": { diff --git a/src/lib/locales/en.json b/src/lib/locales/en.json index 4cd430c..8336ac1 100644 --- a/src/lib/locales/en.json +++ b/src/lib/locales/en.json @@ -126,7 +126,8 @@ "latestVersion": "Latest Version", "releaseDate": "Release Date", "viewRelease": "View Release", - "autoUpdate": "Install update (experimental)" + "autoUpdate": "Install update (experimental)", + "autoUpdateInProgress": "Auto-update in progress, please wait..." } }, "colors": { diff --git a/src/lib/locales/es.json b/src/lib/locales/es.json index 96824e3..1b318a9 100644 --- a/src/lib/locales/es.json +++ b/src/lib/locales/es.json @@ -106,7 +106,8 @@ "latestVersion": "Ultima versión", "releaseDate": "Fecha de lanzamiento", "viewRelease": "Ver lanzamiento", - "autoUpdate": "Instalar actualización (experimental)" + "autoUpdate": "Instalar actualización (experimental)", + "autoUpdateInProgress": "Actualización automática en progreso, espere..." } }, "button": { diff --git a/src/lib/locales/nl.json b/src/lib/locales/nl.json index eb5b5af..96cfc6c 100644 --- a/src/lib/locales/nl.json +++ b/src/lib/locales/nl.json @@ -97,7 +97,8 @@ "latestVersion": "Laatste versie", "releaseDate": "Datum van publicatie", "viewRelease": "Bekijk publicatie", - "autoUpdate": "Update installeren (experimenteel)" + "autoUpdate": "Update installeren (experimenteel)", + "autoUpdateInProgress": "Automatische update wordt uitgevoerd. Even geduld a.u.b...." } }, "colors": { diff --git a/src/lib/style/app.scss b/src/lib/style/app.scss index c09af73..dd3d50a 100644 --- a/src/lib/style/app.scss +++ b/src/lib/style/app.scss @@ -53,6 +53,8 @@ $input-font-size-sm: $font-size-base * 0.875; @import '../node_modules/bootstrap/scss/tooltip'; @import '../node_modules/bootstrap/scss/toasts'; @import '../node_modules/bootstrap/scss/alert'; +@import '../node_modules/bootstrap/scss/placeholders'; +@import '../node_modules/bootstrap/scss/spinners'; @import '../node_modules/bootstrap/scss/helpers'; @import '../node_modules/bootstrap/scss/utilities/api'; @@ -317,3 +319,34 @@ input[type='number'] { .lightMode .bitaxelogo { filter: brightness(0) saturate(100%); } + +.connection-lost-overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.75); + z-index: 1050; + display: flex; + justify-content: center; + align-items: center; + + .overlay-content { + background-color: rgba(255, 255, 255, 0.75); + + padding: 0.5rem; + border-radius: 0.5rem; + text-align: center; + + i { + font-size: 1rem; + color: $danger; + margin-bottom: 1rem; + } + + h4 { + margin-bottom: 0.5rem; + } + } +} diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index c2e4e3b..a6f0bfb 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -14,7 +14,8 @@ let settings = writable({ fgColor: '0', - bgColor: '0' + bgColor: '0', + isLoaded: false }); let status = writable({ @@ -25,34 +26,45 @@ price: false, blocks: false }, - leds: [] + leds: [], + isUpdating: false }); - const fetchStatusData = () => { - fetch(`${PUBLIC_BASE_URL}/api/status`, { credentials: 'same-origin' }) - .then((res) => res.json()) - .then((data) => { - status.set(data); - }); + const fetchStatusData = async () => { + const res = await fetch(`${PUBLIC_BASE_URL}/api/status`, { credentials: 'same-origin' }); + + if (!res.ok) { + console.error('Error fetching status data:', res.statusText); + return false; + } + + const data = await res.json(); + status.set(data); + return true; }; - const fetchSettingsData = () => { - fetch(PUBLIC_BASE_URL + `/api/settings`, { credentials: 'same-origin' }) - .then((res) => res.json()) - .then((data) => { - data.fgColor = String(data.fgColor); - data.bgColor = String(data.bgColor); - data.timePerScreen = data.timerSeconds / 60; + const fetchSettingsData = async () => { + const res = await fetch(PUBLIC_BASE_URL + `/api/settings`, { credentials: 'same-origin' }); - if (data.fgColor > 65535) { - data.fgColor = '65535'; - } + if (!res.ok) { + console.error('Error fetching settings data:', res.statusText); + return; + } - if (data.bgColor > 65535) { - data.bgColor = '65535'; - } - settings.set(data); - }); + const data = await res.json(); + + data.fgColor = String(data.fgColor); + data.bgColor = String(data.bgColor); + data.timePerScreen = data.timerSeconds / 60; + + if (data.fgColor > 65535) { + data.fgColor = '65535'; + } + + if (data.bgColor > 65535) { + data.bgColor = '65535'; + } + settings.set(data); }; let sections: (HTMLElement | null)[]; @@ -89,18 +101,45 @@ } }; - onMount(() => { + onMount(async () => { setupObserver(); - fetchSettingsData(); - fetchStatusData(); + const connectEventSource = () => { + console.log('Connecting to EventSource'); + const evtSource = new EventSource(`${PUBLIC_BASE_URL}/events`); - const evtSource = new EventSource(`${PUBLIC_BASE_URL}/events`); + evtSource.addEventListener('status', (e) => { + let dataObj = JSON.parse(e.data); + status.update((s) => ({ ...s, isUpdating: true })); + status.set(dataObj); + }); - evtSource.addEventListener('status', (e) => { - let dataObj = JSON.parse(e.data); - status.set(dataObj); - }); + evtSource.addEventListener('message', (e) => { + if (e.data == 'closing') { + console.log('EventSource closing'); + status.update((s) => ({ ...s, isUpdating: false })); + evtSource.close(); // Close the current connection + setTimeout(connectEventSource, 5000); + } + }); + + evtSource.addEventListener('error', (e) => { + console.error('EventSource failed:', e); + status.update((s) => ({ ...s, isUpdating: false })); + evtSource.close(); // Close the current connection + setTimeout(connectEventSource, 1000); + }); + }; + + try { + await fetchSettingsData(); + if (await fetchStatusData()) { + settings.update((s) => ({ ...s, isLoaded: true })); + connectEventSource(); + } + } catch (error) { + console.log('Error fetching data:', error); + } function handleResize() { if (observer) { @@ -159,7 +198,7 @@ - + diff --git a/src/routes/Control.svelte b/src/routes/Control.svelte index 25f5a44..fc3d76e 100644 --- a/src/routes/Control.svelte +++ b/src/routes/Control.svelte @@ -17,6 +17,7 @@ } from '@sveltestrap/sveltestrap'; import FirmwareUpdater from './FirmwareUpdater.svelte'; import { uiSettings } from '$lib/uiSettings'; + import { Placeholder } from '$lib/components'; export let settings = {}; @@ -214,15 +215,16 @@ {/if}

  • - {$_('section.control.buildTime')}: {new Date( - $settings.lastBuildTime * 1000 - ).toLocaleString()} + {$_('section.control.buildTime')}:
  • -
  • IP: {$settings.ip}
  • -
  • HW revision: {$settings.hwRev}
  • -
  • {$_('section.control.fwCommit')}: {$settings.gitRev}
  • -
  • WebUI commit: {$settings.fsRev}
  • -
  • {$_('section.control.hostname')}: {$settings.hostname}
  • +
  • IP:
  • +
  • HW revision:
  • +
  • {$_('section.control.fwCommit')}:
  • +
  • WebUI commit:
  • +
  • {$_('section.control.hostname')}:
  • @@ -239,7 +241,7 @@ {#if $settings.otaEnabled}

    {$_('section.control.firmwareUpdate')}

    - + {/if} diff --git a/src/routes/FirmwareUpdater.svelte b/src/routes/FirmwareUpdater.svelte index 27b1b63..06f4d0e 100644 --- a/src/routes/FirmwareUpdater.svelte +++ b/src/routes/FirmwareUpdater.svelte @@ -4,11 +4,12 @@ import { _ } from 'svelte-i18n'; import { writable } from 'svelte/store'; import { Progress, Alert, Button } from '@sveltestrap/sveltestrap'; + import HourglassSplitIcon from 'svelte-bootstrap-icons/lib/HourglassSplit.svelte'; const dispatch = createEventDispatcher(); export let settings = { hwRev: '' }; - + export let status = writable({ isOTAUpdating: false }); let currentVersion: string = $settings.gitTag; // Replace with your current version let latestVersion: string = ''; @@ -207,8 +208,12 @@ )}: {releaseDate} - {$_('section.firmwareUpdater.viewRelease')}
    {#if isNewerVersionAvailable} - {$_('section.firmwareUpdater.swUpdateAvailable')} - - {$_('section.firmwareUpdater.autoUpdate')}. + {#if !$status.isOTAUpdating} + {$_('section.firmwareUpdater.swUpdateAvailable')} - + {$_('section.firmwareUpdater.autoUpdate')}. + {:else} + {$_('section.firmwareUpdater.autoUpdateInProgress')} + {/if} {:else} {$_('section.firmwareUpdater.swUpToDate')} {/if} @@ -218,57 +223,59 @@ {:else}

    Loading...

    {/if} -
    -
    - - handleFileChange(e, (file) => (firmwareUploadFile = file))} - name="update" - class="form-control" - accept=".bin" - /> -
    -
    - +
    + + handleFileChange(e, (file) => (firmwareUploadFile = file))} + name="update" + class="form-control" + accept=".bin" + /> +
    +
    + +
    +
    + + handleFileChange(e, (file) => (firmwareWebUiFile = file))} + accept=".bin" + /> +
    +
    + +
    +
    + {#if firmwareUploadProgress > 0} + {$_('section.firmwareUpdater.uploading')}... {firmwareUploadProgress}% - -
    - - handleFileChange(e, (file) => (firmwareWebUiFile = file))} - accept=".bin" - /> -
    -
    - -
    - -{#if firmwareUploadProgress > 0} - {$_('section.firmwareUpdater.uploading')}... {firmwareUploadProgress}% -{/if} -{#if firmwareUploadSuccess} - {$_('section.firmwareUpdater.fileUploadSuccess', { values: { countdown: $countdown } })} - -{/if} + {/if} + {#if firmwareUploadSuccess} + {$_('section.firmwareUpdater.fileUploadSuccess', { values: { countdown: $countdown } })} + + {/if} -{#if firmwareUploadError} - {$_('section.firmwareUpdater.fileUploadFailed')}{$_('section.firmwareUpdater.fileUploadFailed')} + {/if} + ⚠️ {$_('warning')}: {$_('section.firmwareUpdater.firmwareUpdateText')} {/if} -⚠️ {$_('warning')}: {$_('section.firmwareUpdater.firmwareUpdateText')} diff --git a/src/routes/Settings.svelte b/src/routes/Settings.svelte index 1210ad6..17a5df1 100644 --- a/src/routes/Settings.svelte +++ b/src/routes/Settings.svelte @@ -122,29 +122,36 @@ {$_('section.settings.title')} -
    - - - - - + {#if $settings.isLoaded === false} +
    + Loading... + +
    + {:else} + + + + + + - - - - - - - + + + + + + + + {/if}
    diff --git a/src/routes/Status.svelte b/src/routes/Status.svelte index 678a23a..1061fc3 100644 --- a/src/routes/Status.svelte +++ b/src/routes/Status.svelte @@ -111,11 +111,29 @@ {$_('section.status.title', { default: 'Status' })} - {#if $settings.screens} -
    - {#each buttonChunks as chunk} - - {#each chunk as s} + {#if $settings.isLoaded === false} +
    + Loading... + +
    + {:else} + {#if $settings.screens} +
    + {#each buttonChunks as chunk} + + {#each chunk as s} + + {/each} + + {/each} +
    +
    + + {#each $settings.screens as s}
    -
    - - {#each $settings.screens as s} - - {/each} - -
    - {#if $settings.actCurrencies && $settings.ownDataSource} -
    - - {#each $settings.actCurrencies as c} - - {/each} -
    - {/if} -
    - {#if $status.data} -
    - -
    - {$_('section.status.screenCycle')}: - {#if $status.timerRunning}⏵ {$_('timer.running')}{:else}⏸ {$_( - 'timer.stopped' - )}{/if} - {/if} - {/if} -
    - {#if !$settings.disableLeds} - - {#if $status.leds} - {#each $status.leds as led} - - - - {/each} + {#if $settings.actCurrencies && $settings.ownDataSource} +
    + + {#each $settings.actCurrencies as c} + + {/each} + +
    {/if} -
    +
    + {#if $status.data} +
    + {#if $status.isUpdating === false} +
    +
    + +

    Lost connection

    +

    Trying to reconnect...

    +
    +
    + {/if} + +
    + {$_('section.status.screenCycle')}: + {#if $status.timerRunning}⏵ {$_('timer.running')}{:else}⏸ {$_( + 'timer.stopped' + )}{/if} + {/if} + {/if}
    - {/if} - {memoryFreePercent}% -
    -
    {$_('section.status.memoryFree')}
    -
    - {Math.round($status.espFreeHeap / 1024)} / {Math.round($status.espHeapSize / 1024)} KiB -
    -
    -
    - {#if $settings.hasLightLevel} - {$_('section.status.lightSensor')}: {Number(Math.round($status.lightLevel))} lux -
    - {/if} - {rssiPercent}% - {$_('rssiBar.tooltip')} - -
    -
    {$_('section.status.wifiSignalStrength')}
    -
    - {$status.rssi} dBm -
    -
    -
    - {$_('section.status.uptime')}: {toUptimestring($status.espUptime)} -
    -

    - {#if $settings.dataSource == DataSourceType.NOSTR_SOURCE || $settings.nostrZapNotify} - {$_('section.status.nostrConnection')}: - - {#if $status.connectionStatus && $status.connectionStatus.nostr} - ✅ - {:else} - ❌ + {#if !$settings.disableLeds} + + {#if $status.leds} + {#each $status.leds as led} + + + + {/each} {/if} - + +


    {/if} - {#if $settings.dataSource != DataSourceType.NOSTR_SOURCE} - {#if $settings.dataSource == DataSourceType.THIRD_PARTY_SOURCE} - {$_('section.status.wsPriceConnection')}: + {memoryFreePercent}% +
    +
    {$_('section.status.memoryFree')}
    +
    + {Math.round($status.espFreeHeap / 1024)} / {Math.round($status.espHeapSize / 1024)} KiB +
    +
    +
    + {#if $settings.hasLightLevel} + {$_('section.status.lightSensor')}: {Number(Math.round($status.lightLevel))} lux +
    + {/if} + {rssiPercent}% + {$_('rssiBar.tooltip')} + +
    +
    {$_('section.status.wifiSignalStrength')}
    +
    + {$status.rssi} dBm +
    +
    +
    + {$_('section.status.uptime')}: {toUptimestring($status.espUptime)} +
    +

    + {#if $settings.dataSource == DataSourceType.NOSTR_SOURCE || $settings.nostrZapNotify} + {$_('section.status.nostrConnection')}: - {#if $status.connectionStatus && $status.connectionStatus.price} - ✅ - {:else} - ❌ - {/if} - - - - {$_('section.status.wsMempoolConnection', { - values: { instance: $settings.mempoolInstance } - })}: - - {#if $status.connectionStatus && $status.connectionStatus.blocks} - ✅ - {:else} - ❌ - {/if} -
    - {:else} - {$_('section.status.wsDataConnection')}: - - {#if $status.connectionStatus && $status.connectionStatus.V2} + {#if $status.connectionStatus && $status.connectionStatus.nostr} ✅ {:else} ❌ {/if} {/if} - {/if} - {#if $settings.fetchEurPrice} - {$_('section.status.fetchEuroNote')} - {/if} -

    + {#if $settings.dataSource != DataSourceType.NOSTR_SOURCE} + {#if $settings.dataSource == DataSourceType.THIRD_PARTY_SOURCE} + {$_('section.status.wsPriceConnection')}: + + {#if $status.connectionStatus && $status.connectionStatus.price} + ✅ + {:else} + ❌ + {/if} + + - + {$_('section.status.wsMempoolConnection', { + values: { instance: $settings.mempoolInstance } + })}: + + {#if $status.connectionStatus && $status.connectionStatus.blocks} + ✅ + {:else} + ❌ + {/if} +
    + {:else} + {$_('section.status.wsDataConnection')}: + + {#if $status.connectionStatus && $status.connectionStatus.V2} + ✅ + {:else} + ❌ + {/if} + + {/if} + {/if} + {#if $settings.fetchEurPrice} + {$_('section.status.fetchEuroNote')} + {/if} +

    + {/if} + + From 6ae7523d63d41ed974574cb076fb26159398078c Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Sun, 29 Dec 2024 01:29:24 +0100 Subject: [PATCH 49/74] Currency selector fix --- src/routes/Status.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/Status.svelte b/src/routes/Status.svelte index 1061fc3..0f7d259 100644 --- a/src/routes/Status.svelte +++ b/src/routes/Status.svelte @@ -142,7 +142,7 @@ {/each}
    - {#if $settings.actCurrencies && $settings.ownDataSource} + {#if $settings.actCurrencies && ($settings.dataSource == DataSourceType.BTCLOCK_SOURCE || $settings.dataSource == DataSourceType.CUSTOM_SOURCE)}
    {#each $settings.actCurrencies as c} From 1fbddd0e8d44579ac933c7e3c52bb4728923bd97 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Sun, 29 Dec 2024 03:55:30 +0100 Subject: [PATCH 50/74] Dependency updates, clean up shared test data, create screenshot updater for README --- README.md | 2 +- doc/screenshot-dark.webp | Bin 52660 -> 71310 bytes doc/screenshot-light.webp | Bin 0 -> 66786 bytes doc/screenshot.webp | Bin 54070 -> 0 bytes package.json | 4 +- playwright.doc-screenshot.config.ts | 27 +++ playwright.screenshot.config.ts | 8 + src/routes/Status.svelte | 2 +- .../viewport-screenshots.spec.ts | 70 ++++++ tests/playwright/test.ts | 2 +- tests/shared.ts | 87 +++++-- yarn.lock | 221 +++++++++++++++--- 12 files changed, 368 insertions(+), 55 deletions(-) create mode 100644 doc/screenshot-light.webp delete mode 100644 doc/screenshot.webp create mode 100644 playwright.doc-screenshot.config.ts create mode 100644 tests/doc-screenshots/viewport-screenshots.spec.ts diff --git a/README.md b/README.md index 1e9dd3c..23cfdd3 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ The web user-interface for the BTClock, based on Svelte-kit. It uses Bootstrap for the lay-out. -![Screenshot](doc/screenshot.webp) +![Screenshot](doc/screenshot-light.webp) ![Screenshot Dark](doc/screenshot-dark.webp) ## Developing diff --git a/doc/screenshot-dark.webp b/doc/screenshot-dark.webp index a225afec37851dcb7b4ce348ef730abbb5f384ec..f003bb794df89b8c090ac7f927aaf563b47073b1 100644 GIT binary patch literal 71310 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 I87IU40f3#UKmY&$ literal 52660 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 kDu2%1a>sEbVy1Z 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 diff --git a/doc/screenshot-light.webp b/doc/screenshot-light.webp new file mode 100644 index 0000000000000000000000000000000000000000..cf87152f45b5534fb91573f1573ce91cb7a6f6a3 GIT binary patch literal 66786 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 M;Rl?1F@l5rKenq2KmY&$ literal 0 HcmV?d00001 diff --git a/doc/screenshot.webp b/doc/screenshot.webp deleted file mode 100644 index 0a5d87e8a543618f43742da30f9205f30c54ef3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54070 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 {#if $status.data}
    - {#if $status.isUpdating === false} + {#if $status.isUpdating === false && $status.isFake === false}
    diff --git a/tests/doc-screenshots/viewport-screenshots.spec.ts b/tests/doc-screenshots/viewport-screenshots.spec.ts new file mode 100644 index 0000000..f9e8e25 --- /dev/null +++ b/tests/doc-screenshots/viewport-screenshots.spec.ts @@ -0,0 +1,70 @@ +import { test, expect } from '@playwright/test'; + +import { initMock, settingsJson, statusJson } from '../shared'; +import sharp from 'sharp'; + +test.beforeEach(initMock); + +// Define the translations for the headings +const headings = { + en: { + control: 'Control', + status: 'Status', + settings: 'Settings', + language: 'English' + }, + de: { + control: 'Steuerung', + status: 'Status', + settings: 'Einstellungen', + language: 'Deutsch' + }, + nl: { + control: 'Besturing', + status: 'Status', + settings: 'Instellingen', + language: 'Nederlands' + }, + es: { + control: 'Control', + status: 'Estado', + settings: 'Ajustes', + language: 'Español' + } +}; + +test('capture screenshots across devices', async ({ page }, testInfo) => { + // Get the locale from the browser or default to 'en' + const locale = testInfo.project.use?.locale?.split('-')[0].toLowerCase() || 'en'; + const translations = headings[locale] || headings.en; + + statusJson.isUpdating = true; + // Set the color scheme + if (testInfo.project.use?.colorScheme === 'dark') { + settingsJson.invertedColor = true; + } else { + settingsJson.invertedColor = false; + } + + await page.goto('/'); + await expect(page.getByRole('heading', { name: translations.control })).toBeVisible(); + await expect(page.getByRole('heading', { name: translations.status })).toBeVisible(); + await expect(page.getByRole('heading', { name: translations.settings })).toBeVisible(); + + if (await page.locator('#nav-language-dropdown').isVisible()) { + await expect(page.getByRole('link', { name: translations.language })).toBeVisible(); + } + + const screenshot = await page.screenshot({ + fullPage: true + }); + + await sharp(screenshot) + .toFormat('webp', { + quality: 95, + nearLossless: true + }) + .toFile( + `./doc/screenshot-${test.info().project.use.colorScheme?.toLowerCase().replace(' ', '_')}.webp` + ); +}); diff --git a/tests/playwright/test.ts b/tests/playwright/test.ts index b069c0a..a63b7c4 100644 --- a/tests/playwright/test.ts +++ b/tests/playwright/test.ts @@ -132,7 +132,7 @@ test('screens should be able to change', async ({ page }) => { await page.getByRole('button', { name: 'Sats per Dollar' }).click(); const response = await responsePromise; - expect(response.url()).toContain('api/show/screen/1'); + expect(response.url()).toContain('api/show/screen/10'); }); test('parse all types of EPD content correctly', async ({ page }) => { diff --git a/tests/shared.ts b/tests/shared.ts index 716ff1b..9239f2e 100644 --- a/tests/shared.ts +++ b/tests/shared.ts @@ -1,33 +1,39 @@ export const statusJson = { - currentScreen: 0, + currentScreen: 20, numScreens: 7, timerRunning: true, + isOTAUpdating: false, espUptime: 4479, espFreeHeap: 58508, espHeapSize: 342108, - connectionStatus: { price: true, blocks: true }, + connectionStatus: { + price: false, + blocks: false, + V2: true, + nostr: true + }, rssi: -66, - data: ['BLOCK/HEIGHT', '8', '1', '8', '0', '2', '6'], - rendered: ['BLOCK/HEIGHT', '8', '1', '8', '0', '2', '6'], + data: ['BLOCK/HEIGHT', '8', '7', '6', '5', '4', '3'], + currency: 'USD', leds: [ { red: 0, green: 0, blue: 0, hex: '#000000' }, { red: 0, green: 0, blue: 0, hex: '#000000' }, { red: 0, green: 0, blue: 0, hex: '#000000' }, { red: 0, green: 0, blue: 0, hex: '#000000' } - ] + ], + isUpdating: true, + isFake: true }; export const settingsJson = { numScreens: 7, - fgColor: 415029, - bgColor: 0, timerSeconds: 1800, timerRunning: true, minSecPriceUpd: 30, fullRefreshMin: 60, wpTimeout: 600, tzOffset: 0, - useBitcoinNode: false, + dataSource: 0, mempoolInstance: 'mempool.space', ledTestOnPower: true, ledFlashOnUpd: true, @@ -42,7 +48,7 @@ export const settingsJson = { ip: '192.168.20.231', txPower: 78, gitRev: '25d8b92bcbc8938417c140355ea3ba99ff9eb4b7', - gitTag: '3.1.9', + gitTag: '3.2.23', bitaxeEnabled: false, bitaxeHostname: 'bitaxe1', miningPoolStats: false, @@ -50,9 +56,9 @@ export const settingsJson = { miningPoolUser: '38Qkkei3SuF1Eo45BaYmRHUneRD54yyTFy', nostrZapNotify: true, hwRev: 'REV_A_EPD_2_13', - fsRev: '4c5d9616212b27e3f05c35370f0befcf2c5a04b2', + fsRev: '64e518bf58f89749753167a8b6826e10bb6455c5', nostrZapPubkey: 'b5127a08cf33616274800a4387881a9f98e04b9c37116e92de5250498635c422', - lastBuildTime: '1700666677', + lastBuildTime: Math.round(new Date().getTime() / 1000), screens: [ { id: 0, @@ -62,17 +68,17 @@ export const settingsJson = { { id: 3, name: 'Time', - enabled: true + enabled: false }, { id: 4, name: 'Halving countdown', - enabled: true + enabled: false }, { id: 6, name: 'Block Fee Rate', - enabled: true + enabled: false }, { id: 10, @@ -87,11 +93,47 @@ export const settingsJson = { { id: 30, name: 'Market Cap', - enabled: true + enabled: false } ], actCurrencies: ['USD', 'EUR'], - availableCurrencies: ['USD', 'EUR', 'GBP', 'JPY', 'AUD', 'CAD'] + availableCurrencies: ['USD', 'EUR', 'GBP', 'JPY', 'AUD', 'CAD'], + availablePools: [ + 'ocean', + 'noderunners', + 'satoshi_radio', + 'braiins', + 'public_pool', + 'gobrrr_pool', + 'ckpool', + 'eu_ckpool' + ], + invertedColor: false, + isLoaded: true +}; + +export const latestReleaseFake = { + id: 782, + tag_name: '3.2.24', + target_commitish: '', + name: '3.2.24', + body: '', + url: 'https://git.btclock.dev/api/v1/repos/btclock/btclock_v3/releases/782', + html_url: 'https://git.btclock.dev/btclock/btclock_v3/releases/tag/3.2.24', + tarball_url: 'https://git.btclock.dev/btclock/btclock_v3/archive/3.2.24.tar.gz', + zipball_url: 'https://git.btclock.dev/btclock/btclock_v3/archive/3.2.24.zip', + hide_archive_links: false, + upload_url: 'https://git.btclock.dev/api/v1/repos/btclock/btclock_v3/releases/782/assets', + draft: false, + prerelease: false, + created_at: '2024-12-28T17:48:05Z', + published_at: '2024-12-28T17:48:05Z', + author: {}, + assets: [], + archive_download_count: { + zip: 0, + tar_gz: 0 + } }; export const initMock = async ({ page }) => { @@ -99,20 +141,17 @@ export const initMock = async ({ page }) => { await route.fulfill({ json: statusJson }); }); - await page.route('*/**/api/show/screen/1', async (route) => { + await page.route('*/**/api/show/screen/10', async (route) => { //if (route.request().url().includes('*/**/api/show/screen/1')) { statusJson.currentScreen = 1; statusJson.data = ['MSCW/TIME', ' ', ' ', '2', '6', '4', '4']; - statusJson.rendered = statusJson.data; - //} await route.fulfill({ json: statusJson }); }); - await page.route('*/**/api/show/screen/2', async (route) => { + await page.route('*/**/api/show/screen/20', async (route) => { statusJson.currentScreen = 2; statusJson.data = ['BTC/USD', '$', '3', '7', '8', '2', '4']; - statusJson.rendered = statusJson.data; await route.fulfill({ json: statusJson }); }); @@ -120,7 +159,6 @@ export const initMock = async ({ page }) => { await page.route('*/**/api/show/screen/4', async (route) => { statusJson.currentScreen = 4; statusJson.data = ['BIT/COIN', 'HALV/ING', '0/YRS', '149/DAYS', '8/HRS', '30/MINS', 'TO/GO']; - statusJson.rendered = statusJson.data; await route.fulfill({ json: statusJson }); }); @@ -132,6 +170,7 @@ export const initMock = async ({ page }) => { await page.route('**/events', (route) => { const newStatus = statusJson; newStatus.data = ['BLOCK/HEIGHT', '8', '0', '0', '8', '1', '5']; + newStatus.isUpdating = true; // Respond with a custom SSE message route.fulfill({ @@ -140,4 +179,8 @@ export const initMock = async ({ page }) => { json: `${JSON.stringify(newStatus)}\n\n` }); }); + + await page.route('**/api/v1/repos/btclock/btclock_v3/releases/latest', async (route) => { + await route.fulfill({ json: latestReleaseFake }); + }); }; diff --git a/yarn.lock b/yarn.lock index 4bc50db..185197e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -36,6 +36,13 @@ dependencies: regenerator-runtime "^0.14.0" +"@emnapi/runtime@^1.2.0": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.3.1.tgz#0fcaa575afc31f455fd33534c19381cfce6c6f60" + integrity sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw== + dependencies: + tslib "^2.4.0" + "@esbuild/aix-ppc64@0.19.12": version "0.19.12" resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz#d1bc06aedb6936b3b6d313bf809a5a40387d2b7f" @@ -409,6 +416,119 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.4.1.tgz#9a96ce501bc62df46c4031fbd970e3cc6b10f07b" integrity sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA== +"@img/sharp-darwin-arm64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz#ef5b5a07862805f1e8145a377c8ba6e98813ca08" + integrity sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ== + optionalDependencies: + "@img/sharp-libvips-darwin-arm64" "1.0.4" + +"@img/sharp-darwin-x64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz#e03d3451cd9e664faa72948cc70a403ea4063d61" + integrity sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q== + optionalDependencies: + "@img/sharp-libvips-darwin-x64" "1.0.4" + +"@img/sharp-libvips-darwin-arm64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz#447c5026700c01a993c7804eb8af5f6e9868c07f" + integrity sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg== + +"@img/sharp-libvips-darwin-x64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz#e0456f8f7c623f9dbfbdc77383caa72281d86062" + integrity sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ== + +"@img/sharp-libvips-linux-arm64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz#979b1c66c9a91f7ff2893556ef267f90ebe51704" + integrity sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA== + +"@img/sharp-libvips-linux-arm@1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz#99f922d4e15216ec205dcb6891b721bfd2884197" + integrity sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g== + +"@img/sharp-libvips-linux-s390x@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz#f8a5eb1f374a082f72b3f45e2fb25b8118a8a5ce" + integrity sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA== + +"@img/sharp-libvips-linux-x64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz#d4c4619cdd157774906e15770ee119931c7ef5e0" + integrity sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw== + +"@img/sharp-libvips-linuxmusl-arm64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz#166778da0f48dd2bded1fa3033cee6b588f0d5d5" + integrity sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA== + +"@img/sharp-libvips-linuxmusl-x64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz#93794e4d7720b077fcad3e02982f2f1c246751ff" + integrity sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw== + +"@img/sharp-linux-arm64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz#edb0697e7a8279c9fc829a60fc35644c4839bb22" + integrity sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA== + optionalDependencies: + "@img/sharp-libvips-linux-arm64" "1.0.4" + +"@img/sharp-linux-arm@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz#422c1a352e7b5832842577dc51602bcd5b6f5eff" + integrity sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ== + optionalDependencies: + "@img/sharp-libvips-linux-arm" "1.0.5" + +"@img/sharp-linux-s390x@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz#f5c077926b48e97e4a04d004dfaf175972059667" + integrity sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q== + optionalDependencies: + "@img/sharp-libvips-linux-s390x" "1.0.4" + +"@img/sharp-linux-x64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz#d806e0afd71ae6775cc87f0da8f2d03a7c2209cb" + integrity sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA== + optionalDependencies: + "@img/sharp-libvips-linux-x64" "1.0.4" + +"@img/sharp-linuxmusl-arm64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz#252975b915894fb315af5deea174651e208d3d6b" + integrity sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g== + optionalDependencies: + "@img/sharp-libvips-linuxmusl-arm64" "1.0.4" + +"@img/sharp-linuxmusl-x64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz#3f4609ac5d8ef8ec7dadee80b560961a60fd4f48" + integrity sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw== + optionalDependencies: + "@img/sharp-libvips-linuxmusl-x64" "1.0.4" + +"@img/sharp-wasm32@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz#6f44f3283069d935bb5ca5813153572f3e6f61a1" + integrity sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg== + dependencies: + "@emnapi/runtime" "^1.2.0" + +"@img/sharp-win32-ia32@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz#1a0c839a40c5351e9885628c85f2e5dfd02b52a9" + integrity sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ== + +"@img/sharp-win32-x64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz#56f00962ff0c4e0eb93d34a047d29fa995e3e342" + integrity sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg== + "@jridgewell/gen-mapping@^0.3.5": version "0.3.5" resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" @@ -753,9 +873,9 @@ integrity sha512-YaDrquRpZwfcXbnlDsSrBQNCChVOT9MGuSg+dMAyfsAa1SmiAhrA5jUYUiIMC59G92kIbY/AaQOWcBdq+lh+zg== "@sveltejs/kit@^2.0.0": - version "2.15.0" - resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-2.15.0.tgz#9903e212a309a18ce9082ff6fe2cb64c3f4f79c1" - integrity sha512-FI1bhfhFNGI2sKg+BhiRyM4eaOvX+KZqRYSQqL5PK3ZZREX2xufZ6MzZAw79N846OnIxYNqcz/3VOUq+FPDd3w== + version "2.15.1" + resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-2.15.1.tgz#66260c6175c5783138f4e43c5f14bd9cec28b914" + integrity sha512-8t7D3hQHbUDMiaQ2RVnjJJ/+Ur4Fn/tkeySJCsHtX346Q9cp3LAnav8xXdfuqYNJwpUGX0x3BqF1uvbmXQw93A== dependencies: "@types/cookie" "^0.6.0" cookie "^0.6.0" @@ -1100,15 +1220,6 @@ at-least-node@^1.0.0: resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== -axios@>=1.7.7: - version "1.7.7" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.7.tgz#2f554296f9892a72ac8d8e4c5b79c14a91d0a47f" - integrity sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q== - dependencies: - follow-redirects "^1.15.6" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - axobject-query@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-4.1.0.tgz#28768c76d0e3cff21bc62a9e2d0b6ac30042a1ee" @@ -1261,11 +1372,27 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@~1.1.4: +color-name@^1.0.0, color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +color-string@^1.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4" + integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/color/-/color-4.2.3.tgz#d781ecb5e57224ee43ea9627560107c0e0c6463a" + integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== + dependencies: + color-convert "^2.0.1" + color-string "^1.9.0" + combined-stream@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -1405,6 +1532,11 @@ detect-libc@^1.0.3: resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== +detect-libc@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.3.tgz#f0cd503b40f9939b894697d19ad50895e30cf700" + integrity sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw== + devalue@^5.1.0: version "5.1.1" resolved "https://registry.yarnpkg.com/devalue/-/devalue-5.1.1.tgz#a71887ac0f354652851752654e4bd435a53891ae" @@ -1821,11 +1953,6 @@ flatted@^3.2.9, flatted@^3.3.1: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.2.tgz#adba1448a9841bec72b42c532ea23dbbedef1a27" integrity sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA== -follow-redirects@^1.15.6: - version "1.15.6" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" - integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== - form-data@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" @@ -2054,6 +2181,11 @@ intl-messageformat@^10.5.3: "@formatjs/icu-messageformat-parser" "2.8.0" tslib "^2.7.0" +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + is-docker@^2.0.0, is-docker@^2.1.1: version "2.2.1" resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" @@ -2639,11 +2771,6 @@ pretty-format@^27.0.2: ansi-styles "^5.0.0" react-is "^17.0.1" -proxy-from-env@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== - punycode@^2.1.0, punycode@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" @@ -2700,12 +2827,12 @@ rimraf@^2.6.3: glob "^7.1.3" rollup-plugin-visualizer@^5.12.0: - version "5.12.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.12.0.tgz#661542191ce78ee4f378995297260d0c1efb1302" - integrity sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ== + version "5.13.1" + resolved "https://registry.yarnpkg.com/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.13.1.tgz#fa49320cd23c8642f856f8bd45ddaf3e10a5b023" + integrity sha512-vMg8i6BprL8aFm9DKvL2c8AwS8324EgymYQo9o6E26wgVvwMhsJxS37aNL6ZsU7X9iAcMYwdME7gItLfG5fwJg== dependencies: open "^8.4.0" - picomatch "^2.3.1" + picomatch "^4.0.2" source-map "^0.7.4" yargs "^17.5.1" @@ -2783,7 +2910,7 @@ semver@^7.5.3: resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== -semver@^7.5.4, semver@^7.6.0, semver@^7.6.2: +semver@^7.5.4, semver@^7.6.0, semver@^7.6.2, semver@^7.6.3: version "7.6.3" resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== @@ -2805,6 +2932,35 @@ set-function-length@^1.2.1: gopd "^1.0.1" has-property-descriptors "^1.0.2" +sharp@^0.33.5: + version "0.33.5" + resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.33.5.tgz#13e0e4130cc309d6a9497596715240b2ec0c594e" + integrity sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw== + dependencies: + color "^4.2.3" + detect-libc "^2.0.3" + semver "^7.6.3" + optionalDependencies: + "@img/sharp-darwin-arm64" "0.33.5" + "@img/sharp-darwin-x64" "0.33.5" + "@img/sharp-libvips-darwin-arm64" "1.0.4" + "@img/sharp-libvips-darwin-x64" "1.0.4" + "@img/sharp-libvips-linux-arm" "1.0.5" + "@img/sharp-libvips-linux-arm64" "1.0.4" + "@img/sharp-libvips-linux-s390x" "1.0.4" + "@img/sharp-libvips-linux-x64" "1.0.4" + "@img/sharp-libvips-linuxmusl-arm64" "1.0.4" + "@img/sharp-libvips-linuxmusl-x64" "1.0.4" + "@img/sharp-linux-arm" "0.33.5" + "@img/sharp-linux-arm64" "0.33.5" + "@img/sharp-linux-s390x" "0.33.5" + "@img/sharp-linux-x64" "0.33.5" + "@img/sharp-linuxmusl-arm64" "0.33.5" + "@img/sharp-linuxmusl-x64" "0.33.5" + "@img/sharp-wasm32" "0.33.5" + "@img/sharp-win32-ia32" "0.33.5" + "@img/sharp-win32-x64" "0.33.5" + shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" @@ -2822,6 +2978,13 @@ siginfo@^2.0.0: resolved "https://registry.yarnpkg.com/siginfo/-/siginfo-2.0.0.tgz#32e76c70b79724e3bb567cb9d543eb858ccfaf30" integrity sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== + dependencies: + is-arrayish "^0.3.1" + sirv@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/sirv/-/sirv-3.0.0.tgz#f8d90fc528f65dff04cb597a88609d4e8a4361ce" @@ -3070,7 +3233,7 @@ ts-api-utils@^1.3.0: resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.4.3.tgz#bfc2215fe6528fecab2b0fba570a2e8a4263b064" integrity sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw== -tslib@^2.7.0: +tslib@^2.4.0, tslib@^2.7.0: version "2.8.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== From 48e585d4ec12bbc441499936d7cbf53d4307b9ec Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Sun, 29 Dec 2024 03:58:08 +0100 Subject: [PATCH 51/74] Update badges in README --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 23cfdd3..7913f27 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # BTClock WebUI -[![BTClock CI](https://github.com/btclock/webui/actions/workflows/workflow.yml/badge.svg)](https://github.com/btclock/webui2/actions/workflows/workflow.yml) +[![Latest release](https://git.btclock.dev/btclock/webui/badges/release.svg)](https://git.btclock.dev/btclock/webui/releases/latest) +[![BTClock CI](https://git.btclock.dev/btclock/webui/badges/workflows/build.yaml/badge.svg)](https://git.btclock.dev/btclock/webui/actions?workflow=build.yaml&actor=0&status=0) The web user-interface for the BTClock, based on Svelte-kit. It uses Bootstrap for the lay-out. From 0041ec3d9a174955383836bba02caf79f3961072 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Mon, 30 Dec 2024 00:50:33 +0100 Subject: [PATCH 52/74] Create testing specific vite config, add multi font support, bugfixes --- package.json | 1 + playwright.config.ts | 2 +- .../settings/DisplaySettings.svelte | 17 +++++++++-- src/lib/locales/de.json | 3 +- src/lib/locales/en.json | 3 +- src/lib/locales/es.json | 3 +- src/lib/locales/nl.json | 3 +- src/routes/+page.svelte | 1 - src/routes/Settings.svelte | 8 +++-- src/routes/Status.svelte | 2 +- tests/shared.ts | 29 +++++++++++++++---- vite.config.test.ts | 18 ++++++++++++ 12 files changed, 73 insertions(+), 17 deletions(-) create mode 100644 vite.config.test.ts diff --git a/package.json b/package.json index f8893ae..f2bd1b0 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,7 @@ "scripts": { "dev": "vite dev", "build": "vite build", + "build:test": "vite build --config vite.config.test.ts", "preview": "vite preview", "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", diff --git a/playwright.config.ts b/playwright.config.ts index bf148ce..461f3c2 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -6,7 +6,7 @@ const config: PlaywrightTestConfig = { timezoneId: 'Europe/Amsterdam' }, webServer: { - command: 'npm run build && npm run preview', + command: 'npm run build:test && npm run preview', port: 4173 }, reporter: process.env.CI ? 'github' : 'list', diff --git a/src/lib/components/settings/DisplaySettings.svelte b/src/lib/components/settings/DisplaySettings.svelte index e391a8c..7653298 100644 --- a/src/lib/components/settings/DisplaySettings.svelte +++ b/src/lib/components/settings/DisplaySettings.svelte @@ -20,14 +20,19 @@ const setTextColor = () => { $settings.invertedColor = !$settings.invertedColor; - $settings.fgColor = $settings.invertedColor ? 65535 : 0; - $settings.bgColor = $settings.invertedColor ? 0 : 65535; }; const textColorOptions: [string, boolean][] = [ [$_('colors.black') + ' on ' + $_('colors.white'), false], [$_('colors.white') + ' on ' + $_('colors.black'), true] ]; + + const fontPreferenceOptions: [string, string][] = $settings.availableFonts?.map((font) => [ + $_(`fonts.${font}`) !== `fonts.${font}` + ? $_(`fonts.${font}`) + : font.charAt(0).toUpperCase() + font.slice(1), + font + ]); @@ -45,6 +50,14 @@ on:change={setTextColor} /> + + { - console.log('Connecting to EventSource'); const evtSource = new EventSource(`${PUBLIC_BASE_URL}/events`); evtSource.addEventListener('status', (e) => { diff --git a/src/routes/Settings.svelte b/src/routes/Settings.svelte index 17a5df1..6d9b932 100644 --- a/src/routes/Settings.svelte +++ b/src/routes/Settings.svelte @@ -114,9 +114,13 @@
    - + | - +
    {$_('section.settings.title')} diff --git a/src/routes/Status.svelte b/src/routes/Status.svelte index c2ce212..e889a0b 100644 --- a/src/routes/Status.svelte +++ b/src/routes/Status.svelte @@ -158,7 +158,7 @@
    {#if $status.data}
    - {#if $status.isUpdating === false && $status.isFake === false} + {#if $status.isUpdating === false && ($status.isFake ?? false) === false}
    diff --git a/tests/shared.ts b/tests/shared.ts index 9239f2e..821f202 100644 --- a/tests/shared.ts +++ b/tests/shared.ts @@ -108,8 +108,10 @@ export const settingsJson = { 'ckpool', 'eu_ckpool' ], + availableFonts: ['antonio', 'oswald'], invertedColor: false, - isLoaded: true + isLoaded: true, + isFake: true }; export const latestReleaseFake = { @@ -167,16 +169,31 @@ export const initMock = async ({ page }) => { await route.fulfill({ json: settingsJson }); }); - await page.route('**/events', (route) => { + await page.route('**/events', async (route) => { const newStatus = statusJson; newStatus.data = ['BLOCK/HEIGHT', '8', '0', '0', '8', '1', '5']; newStatus.isUpdating = true; - // Respond with a custom SSE message - route.fulfill({ + // Format the SSE message correctly + const sseMessage = `data: ${JSON.stringify(newStatus)}\n\n`; + + // Create a readable stream for SSE + const stream = new ReadableStream({ + start(controller) { + controller.enqueue(new TextEncoder().encode(sseMessage)); + // Keep the connection open + // controller.close(); // Don't close if you want to send more events + } + }); + + await route.fulfill({ status: 200, - contentType: 'text/event-stream', - json: `${JSON.stringify(newStatus)}\n\n` + headers: { + 'Content-Type': 'text/event-stream', + 'Cache-Control': 'no-cache', + Connection: 'keep-alive' + }, + body: stream }); }); diff --git a/vite.config.test.ts b/vite.config.test.ts new file mode 100644 index 0000000..3e03c63 --- /dev/null +++ b/vite.config.test.ts @@ -0,0 +1,18 @@ +import { sveltekit } from '@sveltejs/kit/vite'; +import { defineConfig } from 'vite'; + +export default defineConfig({ + plugins: [sveltekit()], + build: { + sourcemap: true, + minify: false, + rollupOptions: { + output: { + manualChunks: undefined // Disable code splitting + } + } + }, + test: { + include: ['tests/**/*.{test,spec}.{js,ts}'] + } +}); From 033fe098295ab6da6568d6298b4380e51bec0b98 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Mon, 30 Dec 2024 02:01:58 +0100 Subject: [PATCH 53/74] Add do not disturb mode --- doc/screenshot-dark.webp | Bin 71310 -> 72562 bytes doc/screenshot-light.webp | Bin 66786 -> 68068 bytes .../settings/ExtraFeaturesSettings.svelte | 58 ++++++++++++++++++ src/lib/locales/de.json | 11 +++- src/lib/locales/en.json | 11 +++- src/lib/locales/es.json | 11 +++- src/lib/locales/nl.json | 11 +++- src/routes/Status.svelte | 30 +++++++++ tests/shared.ts | 17 ++++- 9 files changed, 140 insertions(+), 9 deletions(-) diff --git a/doc/screenshot-dark.webp b/doc/screenshot-dark.webp index f003bb794df89b8c090ac7f927aaf563b47073b1..ed7ae3c877f92033a21620e8ec49f5ae066a30c4 100644 GIT binary patch literal 72562 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

      H~SXkiiz{Rawmk@?riNKQh@&r}x^es7) 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 I87IU40f3#UKmY&$ diff --git a/doc/screenshot-light.webp b/doc/screenshot-light.webp index cf87152f45b5534fb91573f1573ce91cb7a6f6a3..4309e88f220700bfde35a8c6a5ac9322299d8b29 100644 GIT binary patch literal 68068 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 M;Rl?1F@l5rKenq2KmY&$ diff --git a/src/lib/components/settings/ExtraFeaturesSettings.svelte b/src/lib/components/settings/ExtraFeaturesSettings.svelte index 2d6615c..bea0033 100644 --- a/src/lib/components/settings/ExtraFeaturesSettings.svelte +++ b/src/lib/components/settings/ExtraFeaturesSettings.svelte @@ -69,6 +69,64 @@ bind:isOpen defaultOpen={false} > + + + {#if $settings.dnd.timeBasedEnabled} + + + + + + + + + + + + + + + + + {/if} + {#if 'bitaxeEnabled' in $settings} diff --git a/src/lib/locales/de.json b/src/lib/locales/de.json index d1ee257..2044e49 100644 --- a/src/lib/locales/de.json +++ b/src/lib/locales/de.json @@ -68,7 +68,12 @@ "nostr": "Nostr-Verlag", "custom": "Benutzerdefinierter dataquelle" }, - "fontName": "Schriftart" + "fontName": "Schriftart", + "timeBasedDnd": "Aktivieren Sie den Zeitplan „Bitte nicht stören“.", + "dndStartHour": "Startstunde", + "dndStartMinute": "Startminute", + "dndEndHour": "Endstunde", + "dndEndMinute": "Schlussminute" }, "control": { "systemInfo": "Systeminfo", @@ -96,7 +101,9 @@ "wifiSignalStrength": "WiFi-Signalstärke", "wsDataConnection": "BTClock-Datenquelle verbindung", "lightSensor": "Lichtsensor", - "nostrConnection": "Nostr Relay-Verbindung" + "nostrConnection": "Nostr Relay-Verbindung", + "doNotDisturb": "Bitte nicht stören", + "timeBasedDnd": "Zeitbasierter Zeitplan" }, "firmwareUpdater": { "fileUploadSuccess": "Datei erfolgreich hochgeladen, Gerät neu gestartet. WebUI in {countdown} Sekunden neu geladen", diff --git a/src/lib/locales/en.json b/src/lib/locales/en.json index 85579e7..302de09 100644 --- a/src/lib/locales/en.json +++ b/src/lib/locales/en.json @@ -85,7 +85,12 @@ "thirdPartySource": "Use mempool.space/coincap.io", "ceDisableSSL": "Disable SSL", "ceEndpoint": "Endpoint hostname", - "fontName": "Font" + "fontName": "Font", + "timeBasedDnd": "Enable Do Not Disturb time schedule", + "dndStartHour": "Start hour", + "dndStartMinute": "Start minute", + "dndEndHour": "End hour", + "dndEndMinute": "End minute" }, "control": { "systemInfo": "System info", @@ -115,7 +120,9 @@ "wifiSignalStrength": "WiFi Signal strength", "wsDataConnection": "BTClock data-source connection", "lightSensor": "Light sensor", - "nostrConnection": "Nostr Relay connection" + "nostrConnection": "Nostr Relay connection", + "doNotDisturb": "Do not disturb", + "timeBasedDnd": "Time-based schedule" }, "firmwareUpdater": { "fileUploadFailed": "File upload failed. Make sure you have selected the correct file and try again.", diff --git a/src/lib/locales/es.json b/src/lib/locales/es.json index a4eba79..4033cab 100644 --- a/src/lib/locales/es.json +++ b/src/lib/locales/es.json @@ -67,7 +67,12 @@ "nostr": "editorial nostr", "custom": "Punto final personalizado" }, - "fontName": "Fuente" + "fontName": "Fuente", + "timeBasedDnd": "Habilitar el horario de No molestar", + "dndStartHour": "Hora de inicio", + "dndStartMinute": "Minuto de inicio", + "dndEndHour": "Hora final", + "dndEndMinute": "Minuto final" }, "control": { "turnOff": "Apagar", @@ -95,7 +100,9 @@ "wifiSignalStrength": "Fuerza de la señal WiFi", "wsDataConnection": "Conexión de fuente de datos BTClock", "lightSensor": "Sensor de luz", - "nostrConnection": "Conexión de relé Nostr" + "nostrConnection": "Conexión de relé Nostr", + "doNotDisturb": "No molestar", + "timeBasedDnd": "Horario basado en el tiempo" }, "firmwareUpdater": { "fileUploadSuccess": "Archivo cargado exitosamente, reiniciando el dispositivo. Recargando WebUI en {countdown} segundos", diff --git a/src/lib/locales/nl.json b/src/lib/locales/nl.json index a6dc486..b239905 100644 --- a/src/lib/locales/nl.json +++ b/src/lib/locales/nl.json @@ -59,7 +59,12 @@ "flOffWhenDark": "Displaylicht uit als het donker is", "luxLightToggleText": "Stel in op 0 om uit te schakelen", "verticalDesc": "Verticale schermbeschrijving", - "fontName": "Lettertype" + "fontName": "Lettertype", + "timeBasedDnd": "Schakel het tijdschema Niet storen in", + "dndStartHour": "Begin uur", + "dndStartMinute": "Beginminuut", + "dndEndHour": "Eind uur", + "dndEndMinute": "Einde minuut" }, "control": { "systemInfo": "Systeeminformatie", @@ -86,7 +91,9 @@ "wifiSignalStrength": "WiFi signaalsterkte", "wsDataConnection": "BTClock-gegevensbron verbinding", "lightSensor": "Licht sensor", - "nostrConnection": "Nostr Relay-verbinding" + "nostrConnection": "Nostr Relay-verbinding", + "doNotDisturb": "Niet storen", + "timeBasedDnd": "Op tijd gebaseerd schema" }, "firmwareUpdater": { "fileUploadSuccess": "Bestand geüpload, apparaat herstart. WebUI opnieuw geladen over {countdown} seconden", diff --git a/src/routes/Status.svelte b/src/routes/Status.svelte index e889a0b..a659af0 100644 --- a/src/routes/Status.svelte +++ b/src/routes/Status.svelte @@ -97,6 +97,16 @@ } }; + const toggleDoNotDisturb = (currentStatus: boolean) => (e: Event) => { + e.preventDefault(); + console.log(currentStatus); + if (!currentStatus) { + fetch(`${PUBLIC_BASE_URL}/api/dnd/enable`); + } else { + fetch(`${PUBLIC_BASE_URL}/api/dnd/disable`); + } + }; + export let xs = 12; export let sm = xs; export let md = sm; @@ -185,7 +195,27 @@ >{#if $status.timerRunning}⏵ {$_('timer.running')}{:else}⏸ {$_( 'timer.stopped' )}{/if}
      + + {$_('section.status.doNotDisturb')}: +
      + {#if $status.dnd?.active}⏵ {$_('on')}{:else}⏸ {$_('off')}{/if} + + {#if $status.dnd?.timeBasedEnabled} + {$_('section.status.timeBasedDnd')} ( {$settings.dnd + .startHour}:{$settings.dnd.startMinute.toString().padStart(2, '0')} - {$settings + .dnd.endHour}:{$settings.dnd.endMinute.toString().padStart(2, '0')} ) + {/if} + {/if} {/if}


      diff --git a/tests/shared.ts b/tests/shared.ts index 821f202..ec2bb2d 100644 --- a/tests/shared.ts +++ b/tests/shared.ts @@ -22,7 +22,14 @@ export const statusJson = { { red: 0, green: 0, blue: 0, hex: '#000000' } ], isUpdating: true, - isFake: true + isFake: true, + dnd: { + enabled: true, + timeBasedEnabled: true, + startTime: '23:00', + endTime: '7:00', + active: true + } }; export const settingsJson = { @@ -108,6 +115,14 @@ export const settingsJson = { 'ckpool', 'eu_ckpool' ], + dnd: { + enabled: false, + timeBasedEnabled: true, + startHour: 23, + startMinute: 0, + endHour: 7, + endMinute: 0 + }, availableFonts: ['antonio', 'oswald'], invertedColor: false, isLoaded: true, From d3b5f41a3a314546c07a6f55169df9c1f64893f6 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Sat, 4 Jan 2025 15:06:28 +0100 Subject: [PATCH 54/74] Dependency updates --- yarn.lock | 142 +++++++++++++++++++++++++++--------------------------- 1 file changed, 71 insertions(+), 71 deletions(-) diff --git a/yarn.lock b/yarn.lock index 185197e..ab08153 100644 --- a/yarn.lock +++ b/yarn.lock @@ -334,19 +334,19 @@ levn "^0.4.1" "@fontsource/antonio@^5.1.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@fontsource/antonio/-/antonio-5.1.0.tgz#e3159a104d364629852ffc5170764f619a8c5754" - integrity sha512-5FHPDnNXhLg/ccgTSOzqL0v8TqUIYw+HXYXVKsA97dYXm+SpkypXW/R/bTe8eNHVarnNRfYkhYyZq6dKA9/vGQ== + version "5.1.1" + resolved "https://registry.yarnpkg.com/@fontsource/antonio/-/antonio-5.1.1.tgz#043c5493519d275c5f2d6963b7a0a9e7b0998fcc" + integrity sha512-KoakMjWG/OjcvJuPeTaM0U8B84o2jaQvJA3jVodXJcn0L07AJxxmbgRbLt/9u+4ioMaXPSDwytG16eiDMCmWiA== "@fontsource/oswald@^5.1.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@fontsource/oswald/-/oswald-5.1.0.tgz#00fdbe5ab911bfb261ec26e565eb51d02cb95095" - integrity sha512-MwHMRCNCeTvaUWk15AHVfUi84T4TB4dshJrCOcfBYqUkY0V8IxKEwqFzSgGBG7zIfTZ0Diu+/CKpiktKqo5Gkg== + version "5.1.1" + resolved "https://registry.yarnpkg.com/@fontsource/oswald/-/oswald-5.1.1.tgz#fdf40cca1d5c02c9b0cc0d5ac20eacb71a01731d" + integrity sha512-MXymZDN08CJ4q/5+ur6u7YM3xcgPf6OXzUy7ngrRdGYXR9Oxal1A1m3FhFVLP5X0pWW6l2W1awC9YkTGWrbsXg== "@fontsource/ubuntu@^5.1.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@fontsource/ubuntu/-/ubuntu-5.1.0.tgz#aad73a6540659e1005e181029cb3f5efd06a438f" - integrity sha512-0XG/HrFsfP1q3phf4QN8IO7tetd0zOZKHZSHcTnBuVoQedoo1wS/hXxY2FMZuqoG+mVfrXh+Q614MDVmQPJq2w== + version "5.1.1" + resolved "https://registry.yarnpkg.com/@fontsource/ubuntu/-/ubuntu-5.1.1.tgz#818d9a722c4b8ebb202bddedc9d1519f15c8f3d6" + integrity sha512-ghyIHIsqbBkUMA3zjvCIQENHl4CEhNgKrVxsuuC46XKw5Yfiy4C3W/A0eLGBR4+yre39b/1sVVsjK6VByVMAtg== "@formatjs/ecma402-abstract@2.2.0": version "2.2.0" @@ -596,9 +596,9 @@ integrity sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA== "@noble/secp256k1@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-2.1.0.tgz#71d829a0b8ce84aea137708f82273977eea84597" - integrity sha512-XLEQQNdablO0XZOIniFQimiXsZDNwaYgL96dZwC54Q30imSbAOFf3NKtepc+cXyuZf5Q1HCgbqgZ2UFFuHVcEw== + version "2.2.2" + resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-2.2.2.tgz#1dea2a2e63b9228db7148577cc7442b04669f5c8" + integrity sha512-bOm9Lly0x58rMfj6rH2BccMtYU88uzh2bGw6mviScoaMQunnIiZffmnAL23lfuK+qkGRNTzvrWQPFzDzyRNaZw== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -981,62 +981,62 @@ resolved "https://registry.yarnpkg.com/@types/swagger-ui/-/swagger-ui-3.52.4.tgz#96c4886e8f86ae392f8d940bf7029cf490a51c72" integrity sha512-7NV7q8BfupqdQxr26OkM0g0YEPB9uXnKGzXadgcearvI9MoCHt3F72lPTX3fZZIlrr21DC0IK26wcDMZ37oFDA== -"@typescript-eslint/eslint-plugin@8.18.2", "@typescript-eslint/eslint-plugin@^8.7.0": - version "8.18.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.18.2.tgz#c78e363ab5fe3b21dd1c90d8be9581534417f78e" - integrity sha512-adig4SzPLjeQ0Tm+jvsozSGiCliI2ajeURDGHjZ2llnA+A67HihCQ+a3amtPhUakd1GlwHxSRvzOZktbEvhPPg== +"@typescript-eslint/eslint-plugin@8.19.0", "@typescript-eslint/eslint-plugin@^8.7.0": + version "8.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.19.0.tgz#2b1e1b791e21d5fc27ddc93884db066444f597b5" + integrity sha512-NggSaEZCdSrFddbctrVjkVZvFC6KGfKfNK0CU7mNK/iKHGKbzT4Wmgm08dKpcZECBu9f5FypndoMyRHkdqfT1Q== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.18.2" - "@typescript-eslint/type-utils" "8.18.2" - "@typescript-eslint/utils" "8.18.2" - "@typescript-eslint/visitor-keys" "8.18.2" + "@typescript-eslint/scope-manager" "8.19.0" + "@typescript-eslint/type-utils" "8.19.0" + "@typescript-eslint/utils" "8.19.0" + "@typescript-eslint/visitor-keys" "8.19.0" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" ts-api-utils "^1.3.0" -"@typescript-eslint/parser@8.18.2", "@typescript-eslint/parser@^8.7.0": - version "8.18.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.18.2.tgz#0379a2e881d51d8fcf7ebdfa0dd18eee79182ce2" - integrity sha512-y7tcq4StgxQD4mDr9+Jb26dZ+HTZ/SkfqpXSiqeUXZHxOUyjWDKsmwKhJ0/tApR08DgOhrFAoAhyB80/p3ViuA== +"@typescript-eslint/parser@8.19.0", "@typescript-eslint/parser@^8.7.0": + version "8.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.19.0.tgz#f1512e6e5c491b03aabb2718b95becde22b15292" + integrity sha512-6M8taKyOETY1TKHp0x8ndycipTVgmp4xtg5QpEZzXxDhNvvHOJi5rLRkLr8SK3jTgD5l4fTlvBiRdfsuWydxBw== dependencies: - "@typescript-eslint/scope-manager" "8.18.2" - "@typescript-eslint/types" "8.18.2" - "@typescript-eslint/typescript-estree" "8.18.2" - "@typescript-eslint/visitor-keys" "8.18.2" + "@typescript-eslint/scope-manager" "8.19.0" + "@typescript-eslint/types" "8.19.0" + "@typescript-eslint/typescript-estree" "8.19.0" + "@typescript-eslint/visitor-keys" "8.19.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@8.18.2": - version "8.18.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.18.2.tgz#d193c200d61eb0ddec5987c8e48c9d4e1c0510bd" - integrity sha512-YJFSfbd0CJjy14r/EvWapYgV4R5CHzptssoag2M7y3Ra7XNta6GPAJPPP5KGB9j14viYXyrzRO5GkX7CRfo8/g== +"@typescript-eslint/scope-manager@8.19.0": + version "8.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.19.0.tgz#28fa413a334f70e8b506a968531e0a7c9c3076dc" + integrity sha512-hkoJiKQS3GQ13TSMEiuNmSCvhz7ujyqD1x3ShbaETATHrck+9RaDdUbt+osXaUuns9OFwrDTTrjtwsU8gJyyRA== dependencies: - "@typescript-eslint/types" "8.18.2" - "@typescript-eslint/visitor-keys" "8.18.2" + "@typescript-eslint/types" "8.19.0" + "@typescript-eslint/visitor-keys" "8.19.0" -"@typescript-eslint/type-utils@8.18.2": - version "8.18.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.18.2.tgz#5ad07e09002eee237591881df674c1c0c91ca52f" - integrity sha512-AB/Wr1Lz31bzHfGm/jgbFR0VB0SML/hd2P1yxzKDM48YmP7vbyJNHRExUE/wZsQj2wUCvbWH8poNHFuxLqCTnA== +"@typescript-eslint/type-utils@8.19.0": + version "8.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.19.0.tgz#41abd7d2e4cf93b6854b1fe6cbf416fab5abf89f" + integrity sha512-TZs0I0OSbd5Aza4qAMpp1cdCYVnER94IziudE3JU328YUHgWu9gwiwhag+fuLeJ2LkWLXI+F/182TbG+JaBdTg== dependencies: - "@typescript-eslint/typescript-estree" "8.18.2" - "@typescript-eslint/utils" "8.18.2" + "@typescript-eslint/typescript-estree" "8.19.0" + "@typescript-eslint/utils" "8.19.0" debug "^4.3.4" ts-api-utils "^1.3.0" -"@typescript-eslint/types@8.18.2": - version "8.18.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.18.2.tgz#5ebad5b384c8aa1c0f86cee1c61bcdbe7511f547" - integrity sha512-Z/zblEPp8cIvmEn6+tPDIHUbRu/0z5lqZ+NvolL5SvXWT5rQy7+Nch83M0++XzO0XrWRFWECgOAyE8bsJTl1GQ== +"@typescript-eslint/types@8.19.0": + version "8.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.19.0.tgz#a190a25c5484a42b81eaad06989579fdeb478cbb" + integrity sha512-8XQ4Ss7G9WX8oaYvD4OOLCjIQYgRQxO+qCiR2V2s2GxI9AUpo7riNwo6jDhKtTcaJjT8PY54j2Yb33kWtSJsmA== -"@typescript-eslint/typescript-estree@8.18.2": - version "8.18.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.18.2.tgz#fffb85527f8304e29bfbbdc712f4515da9f8b47c" - integrity sha512-WXAVt595HjpmlfH4crSdM/1bcsqh+1weFRWIa9XMTx/XHZ9TCKMcr725tLYqWOgzKdeDrqVHxFotrvWcEsk2Tg== +"@typescript-eslint/typescript-estree@8.19.0": + version "8.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.19.0.tgz#6b4f48f98ffad6597379951b115710f4d68c9ccb" + integrity sha512-WW9PpDaLIFW9LCbucMSdYUuGeFUz1OkWYS/5fwZwTA+l2RwlWFdJvReQqMUMBw4yJWJOfqd7An9uwut2Oj8sLw== dependencies: - "@typescript-eslint/types" "8.18.2" - "@typescript-eslint/visitor-keys" "8.18.2" + "@typescript-eslint/types" "8.19.0" + "@typescript-eslint/visitor-keys" "8.19.0" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" @@ -1044,22 +1044,22 @@ semver "^7.6.0" ts-api-utils "^1.3.0" -"@typescript-eslint/utils@8.18.2": - version "8.18.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.18.2.tgz#a2635f71904a84f9e47fe1b6f65a6d944ff1adf9" - integrity sha512-Cr4A0H7DtVIPkauj4sTSXVl+VBWewE9/o40KcF3TV9aqDEOWoXF3/+oRXNby3DYzZeCATvbdksYsGZzplwnK/Q== +"@typescript-eslint/utils@8.19.0": + version "8.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.19.0.tgz#33824310e1fccc17f27fbd1030fd8bbd9a674684" + integrity sha512-PTBG+0oEMPH9jCZlfg07LCB2nYI0I317yyvXGfxnvGvw4SHIOuRnQ3kadyyXY6tGdChusIHIbM5zfIbp4M6tCg== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.18.2" - "@typescript-eslint/types" "8.18.2" - "@typescript-eslint/typescript-estree" "8.18.2" + "@typescript-eslint/scope-manager" "8.19.0" + "@typescript-eslint/types" "8.19.0" + "@typescript-eslint/typescript-estree" "8.19.0" -"@typescript-eslint/visitor-keys@8.18.2": - version "8.18.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.18.2.tgz#b3e434b701f086b10a7c82416ebc56899d27ef2f" - integrity sha512-zORcwn4C3trOWiCqFQP1x6G3xTRyZ1LYydnj51cRnJ6hxBlr/cKPckk+PKPUw/fXmvfKTcw7bwY3w9izgx5jZw== +"@typescript-eslint/visitor-keys@8.19.0": + version "8.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.19.0.tgz#dc313f735e64c4979c9073f51ffcefb6d9be5c77" + integrity sha512-mCFtBbFBJDCNCWUl5y6sZSCHXw1DEFEk3c/M3nRK2a4XUB8StGFtmcEMizdjKuBzB6e/smJAAWYug3VrdLMr1w== dependencies: - "@typescript-eslint/types" "8.18.2" + "@typescript-eslint/types" "8.19.0" eslint-visitor-keys "^4.2.0" "@vitest/expect@2.1.8": @@ -2888,9 +2888,9 @@ sade@^1.7.4, sade@^1.8.1: integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== sass@^1.79.3: - version "1.83.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.83.0.tgz#e36842c0b88a94ed336fd16249b878a0541d536f" - integrity sha512-qsSxlayzoOjdvXMVLkzF84DJFc2HZEL/rFyGIKbbilYtAvlCxyuzUeff9LawTn4btVnLKg75Z8MMr1lxU1lfGw== + version "1.83.1" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.83.1.tgz#dee1ab94b47a6f9993d3195d36f556bcbda64846" + integrity sha512-EVJbDaEs4Rr3F0glJzFSOvtg2/oy2V/YrGFPqPY24UqcLDWcI9ZY5sN+qyO3c/QCZwzgfirvhXvINiJCE/OLcA== dependencies: chokidar "^4.0.0" immutable "^5.0.2" @@ -3251,13 +3251,13 @@ type@^2.7.2: integrity sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ== typescript-eslint@^8.7.0: - version "8.18.2" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.18.2.tgz#71334dcf843adc3fbb771dce5ade7876aa0d62b7" - integrity sha512-KuXezG6jHkvC3MvizeXgupZzaG5wjhU3yE8E7e6viOvAvD9xAWYp8/vy0WULTGe9DYDWcQu7aW03YIV3mSitrQ== + version "8.19.0" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.19.0.tgz#e4ff06b19f2f9807a2c26147a0199a109944d9e0" + integrity sha512-Ni8sUkVWYK4KAcTtPjQ/UTiRk6jcsuDhPpxULapUDi8A/l8TSBk+t1GtJA1RsCzIJg0q6+J7bf35AwQigENWRQ== dependencies: - "@typescript-eslint/eslint-plugin" "8.18.2" - "@typescript-eslint/parser" "8.18.2" - "@typescript-eslint/utils" "8.18.2" + "@typescript-eslint/eslint-plugin" "8.19.0" + "@typescript-eslint/parser" "8.19.0" + "@typescript-eslint/utils" "8.19.0" typescript@^5.5.4: version "5.6.3" From d33ad7ee2152c637ced2cf6f6c2d716e17197c85 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Sat, 4 Jan 2025 15:22:11 +0100 Subject: [PATCH 55/74] Let mocktest try to use realtime block and version --- doc/screenshot-dark.webp | Bin 72562 -> 71478 bytes doc/screenshot-light.webp | Bin 68068 -> 66548 bytes tests/shared.ts | 47 ++++++++++++++++++++++++++++++++++---- 3 files changed, 43 insertions(+), 4 deletions(-) diff --git a/doc/screenshot-dark.webp b/doc/screenshot-dark.webp index ed7ae3c877f92033a21620e8ec49f5ae066a30c4..64f26d236bcdefb036f58bcb13578b86aabf5af2 100644 GIT binary patch literal 71478 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 LjNWF3LE8TT)0#C& literal 72562 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

        H~SXkiiz{Rawmk@?riNKQh@&r}x^es7) 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

        D9m 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 S0o`o!jg>#+{-Oj2`+op3QJxh5 literal 68068 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 s`+BkS#rxgYi=8jt@4jB_eDQ?$^ Promise) => Promise; +} + +interface Route { + fulfill: (response: { + json?: typeof statusJson | typeof settingsJson | typeof latestReleaseFake; + status?: number; + headers?: Record; + body?: ReadableStream; + }) => Promise; +} + +export const fetchLatestBlockHeight = async () => { + const response = await fetch('https://ws.btclock.dev/api/lastblock'); + const blockHeight = await response.text(); + return ['BLOCK/HEIGHT', ...blockHeight.trim().split('')]; +}; + +export const fetchLatestRelease = async () => { + try { + const response = await fetch( + 'https://git.btclock.dev/api/v1/repos/btclock/btclock_v3/releases/latest' + ); + if (!response.ok) throw new Error('Failed to fetch latest release'); + const data = await response.json(); + settingsJson.gitTag = data.tag_name; + return data; + } catch (error) { + console.warn('Failed to fetch latest release, using fallback:', error); + settingsJson.gitTag = latestReleaseFake.tag_name; + return latestReleaseFake; + } +}; + export const statusJson = { currentScreen: 20, numScreens: 7, @@ -13,7 +48,7 @@ export const statusJson = { nostr: true }, rssi: -66, - data: ['BLOCK/HEIGHT', '8', '7', '6', '5', '4', '3'], + data: ['BLOCK/HEIGHT', '0', '0', '0', '0', '0', '0'], currency: 'USD', leds: [ { red: 0, green: 0, blue: 0, hex: '#000000' }, @@ -55,7 +90,7 @@ export const settingsJson = { ip: '192.168.20.231', txPower: 78, gitRev: '25d8b92bcbc8938417c140355ea3ba99ff9eb4b7', - gitTag: '3.2.23', + gitTag: '3.2.27', bitaxeEnabled: false, bitaxeHostname: 'bitaxe1', miningPoolStats: false, @@ -153,7 +188,11 @@ export const latestReleaseFake = { } }; -export const initMock = async ({ page }) => { +export const initMock = async ({ page }: { page: Page }) => { + // Update status with latest block height + statusJson.data = await fetchLatestBlockHeight(); + const latestRelease = await fetchLatestRelease(); + await page.route('*/**/api/status', async (route) => { await route.fulfill({ json: statusJson }); }); @@ -213,6 +252,6 @@ export const initMock = async ({ page }) => { }); await page.route('**/api/v1/repos/btclock/btclock_v3/releases/latest', async (route) => { - await route.fulfill({ json: latestReleaseFake }); + await route.fulfill({ json: latestRelease }); }); }; From 732dd260ea708841f0e15ee1ee64a3d5115cd475 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Sun, 5 Jan 2025 18:23:08 +0100 Subject: [PATCH 56/74] Fix frontlight brightness slider --- src/lib/components/settings/DisplaySettings.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/components/settings/DisplaySettings.svelte b/src/lib/components/settings/DisplaySettings.svelte index 7653298..7981688 100644 --- a/src/lib/components/settings/DisplaySettings.svelte +++ b/src/lib/components/settings/DisplaySettings.svelte @@ -115,7 +115,7 @@ max={4095} step={1} size={$uiSettings.inputSize} - on:change={onFlBrightnessChange} + onChange={onFlBrightnessChange} /> Date: Mon, 6 Jan 2025 01:29:37 +0100 Subject: [PATCH 57/74] Fix hide currency selector for third party sources --- src/lib/components/settings/ScreenSpecificSettings.svelte | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/components/settings/ScreenSpecificSettings.svelte b/src/lib/components/settings/ScreenSpecificSettings.svelte index 45f9313..bae67df 100644 --- a/src/lib/components/settings/ScreenSpecificSettings.svelte +++ b/src/lib/components/settings/ScreenSpecificSettings.svelte @@ -4,6 +4,7 @@ import { Row, Col } from '@sveltestrap/sveltestrap'; import ToggleHeader from '../ToggleHeader.svelte'; import { uiSettings } from '$lib/uiSettings'; + import { DataSourceType } from '$lib/types/dataSource'; export let settings; export let isOpen = false; @@ -99,7 +100,7 @@ {/each} {/if} - {#if $settings.actCurrencies && $settings.useNostr !== true} + {#if $settings.actCurrencies && $settings.dataSource == DataSourceType.BTCLOCK_SOURCE}

        {$_('section.settings.currencies')}
        {$_('restartRequired')} From 08b6f0e51234c87f04398906cf338f319c97b499 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Wed, 8 Jan 2025 02:05:26 +0100 Subject: [PATCH 58/74] Add local public pool setting --- .../settings/ExtraFeaturesSettings.svelte | 59 +++++++++++++++++++ src/routes/Settings.svelte | 3 +- 2 files changed, 61 insertions(+), 1 deletion(-) diff --git a/src/lib/components/settings/ExtraFeaturesSettings.svelte b/src/lib/components/settings/ExtraFeaturesSettings.svelte index bea0033..2287d5b 100644 --- a/src/lib/components/settings/ExtraFeaturesSettings.svelte +++ b/src/lib/components/settings/ExtraFeaturesSettings.svelte @@ -13,6 +13,7 @@ export let miningPoolMap: Map; let validBitaxe = false; + let validLocalPool = false; const testBitaxe = async () => { try { const response = await fetch(`http://${$settings.bitaxeHostname}/api/system/info`); @@ -61,6 +62,49 @@ miningPoolMap.get(pool) || pool, pool ]); + + const testLocalPool = async () => { + try { + const controller = new AbortController(); + const timeoutId = setTimeout(() => controller.abort(), 1000); + + const response = await fetch( + `http://${$settings.localPoolEndpoint}/api/client/${$settings.miningPoolUser}`, + { signal: controller.signal } + ); + clearTimeout(timeoutId); + + if (!response.ok) { + dispatch('showToast', { + color: 'danger', + text: `Failed to connect to local pool! status: ${response.status}` + }); + validLocalPool = false; + throw new Error(); + } + + const poolInfo = await response.json(); + dispatch('showToast', { + color: 'success', + text: `Can connect to local public pool, ${poolInfo.workersCount} workers` + }); + validLocalPool = true; + } catch (error) { + if (error.name === 'AbortError') { + dispatch('showToast', { + color: 'danger', + text: `Connection to local pool timed out after 1 second` + }); + } else { + dispatch('showToast', { + color: 'danger', + text: `Failed to connect to local pool, check the endpoint and make sure you are connected to the same network.` + }); + } + console.error('Failed to fetch local pool info:', error); + validLocalPool = false; + } + }; @@ -178,6 +222,21 @@ size={$uiSettings.inputSize} selectClass={$uiSettings.selectClass} /> + {#if $settings.miningPoolName === 'local_public_pool'} + + + + {/if} Date: Wed, 8 Jan 2025 02:10:12 +0100 Subject: [PATCH 59/74] Dependency updates --- ...=> @sveltejs+kit+2.15.2+001+initial.patch} | 0 yarn.lock | 154 +++++++++--------- 2 files changed, 77 insertions(+), 77 deletions(-) rename patches/{@sveltejs+kit+2.15.0+001+initial.patch => @sveltejs+kit+2.15.2+001+initial.patch} (100%) diff --git a/patches/@sveltejs+kit+2.15.0+001+initial.patch b/patches/@sveltejs+kit+2.15.2+001+initial.patch similarity index 100% rename from patches/@sveltejs+kit+2.15.0+001+initial.patch rename to patches/@sveltejs+kit+2.15.2+001+initial.patch diff --git a/yarn.lock b/yarn.lock index ab08153..5a208de 100644 --- a/yarn.lock +++ b/yarn.lock @@ -596,9 +596,9 @@ integrity sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA== "@noble/secp256k1@^2.1.0": - version "2.2.2" - resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-2.2.2.tgz#1dea2a2e63b9228db7148577cc7442b04669f5c8" - integrity sha512-bOm9Lly0x58rMfj6rH2BccMtYU88uzh2bGw6mviScoaMQunnIiZffmnAL23lfuK+qkGRNTzvrWQPFzDzyRNaZw== + version "2.2.3" + resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-2.2.3.tgz#c505ced542328ed13315a8d811684d042f7acc5b" + integrity sha512-l7r5oEQym9Us7EAigzg30/PQAvynhMt2uoYtT3t26eGDVm9Yii5mZ5jWSWmZ/oSIR2Et0xfc6DXrG0bZ787V3w== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -873,9 +873,9 @@ integrity sha512-YaDrquRpZwfcXbnlDsSrBQNCChVOT9MGuSg+dMAyfsAa1SmiAhrA5jUYUiIMC59G92kIbY/AaQOWcBdq+lh+zg== "@sveltejs/kit@^2.0.0": - version "2.15.1" - resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-2.15.1.tgz#66260c6175c5783138f4e43c5f14bd9cec28b914" - integrity sha512-8t7D3hQHbUDMiaQ2RVnjJJ/+Ur4Fn/tkeySJCsHtX346Q9cp3LAnav8xXdfuqYNJwpUGX0x3BqF1uvbmXQw93A== + version "2.15.2" + resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-2.15.2.tgz#a6e9357856089da5233bdbf03e8d4cb7483a0c49" + integrity sha512-p208T1kdM6zd8k4YXIUM60pLWQ8dZqehXSiqn4NulXHyHibX53uIAL2xtNL8GjxX2IVPqPRT978MwVYhCKExdQ== dependencies: "@types/cookie" "^0.6.0" cookie "^0.6.0" @@ -981,85 +981,85 @@ resolved "https://registry.yarnpkg.com/@types/swagger-ui/-/swagger-ui-3.52.4.tgz#96c4886e8f86ae392f8d940bf7029cf490a51c72" integrity sha512-7NV7q8BfupqdQxr26OkM0g0YEPB9uXnKGzXadgcearvI9MoCHt3F72lPTX3fZZIlrr21DC0IK26wcDMZ37oFDA== -"@typescript-eslint/eslint-plugin@8.19.0", "@typescript-eslint/eslint-plugin@^8.7.0": - version "8.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.19.0.tgz#2b1e1b791e21d5fc27ddc93884db066444f597b5" - integrity sha512-NggSaEZCdSrFddbctrVjkVZvFC6KGfKfNK0CU7mNK/iKHGKbzT4Wmgm08dKpcZECBu9f5FypndoMyRHkdqfT1Q== +"@typescript-eslint/eslint-plugin@8.19.1", "@typescript-eslint/eslint-plugin@^8.7.0": + version "8.19.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.19.1.tgz#5f26c0a833b27bcb1aa402b82e76d3b8dda0b247" + integrity sha512-tJzcVyvvb9h/PB96g30MpxACd9IrunT7GF9wfA9/0TJ1LxGOJx1TdPzSbBBnNED7K9Ka8ybJsnEpiXPktolTLg== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.19.0" - "@typescript-eslint/type-utils" "8.19.0" - "@typescript-eslint/utils" "8.19.0" - "@typescript-eslint/visitor-keys" "8.19.0" + "@typescript-eslint/scope-manager" "8.19.1" + "@typescript-eslint/type-utils" "8.19.1" + "@typescript-eslint/utils" "8.19.1" + "@typescript-eslint/visitor-keys" "8.19.1" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" - ts-api-utils "^1.3.0" + ts-api-utils "^2.0.0" -"@typescript-eslint/parser@8.19.0", "@typescript-eslint/parser@^8.7.0": - version "8.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.19.0.tgz#f1512e6e5c491b03aabb2718b95becde22b15292" - integrity sha512-6M8taKyOETY1TKHp0x8ndycipTVgmp4xtg5QpEZzXxDhNvvHOJi5rLRkLr8SK3jTgD5l4fTlvBiRdfsuWydxBw== +"@typescript-eslint/parser@8.19.1", "@typescript-eslint/parser@^8.7.0": + version "8.19.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.19.1.tgz#b836fcfe7a704c8c65f5a50e5b0ff8acfca5c21b" + integrity sha512-67gbfv8rAwawjYx3fYArwldTQKoYfezNUT4D5ioWetr/xCrxXxvleo3uuiFuKfejipvq+og7mjz3b0G2bVyUCw== dependencies: - "@typescript-eslint/scope-manager" "8.19.0" - "@typescript-eslint/types" "8.19.0" - "@typescript-eslint/typescript-estree" "8.19.0" - "@typescript-eslint/visitor-keys" "8.19.0" + "@typescript-eslint/scope-manager" "8.19.1" + "@typescript-eslint/types" "8.19.1" + "@typescript-eslint/typescript-estree" "8.19.1" + "@typescript-eslint/visitor-keys" "8.19.1" debug "^4.3.4" -"@typescript-eslint/scope-manager@8.19.0": - version "8.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.19.0.tgz#28fa413a334f70e8b506a968531e0a7c9c3076dc" - integrity sha512-hkoJiKQS3GQ13TSMEiuNmSCvhz7ujyqD1x3ShbaETATHrck+9RaDdUbt+osXaUuns9OFwrDTTrjtwsU8gJyyRA== +"@typescript-eslint/scope-manager@8.19.1": + version "8.19.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.19.1.tgz#794cfc8add4f373b9cd6fa32e367e7565a0e231b" + integrity sha512-60L9KIuN/xgmsINzonOcMDSB8p82h95hoBfSBtXuO4jlR1R9L1xSkmVZKgCPVfavDlXihh4ARNjXhh1gGnLC7Q== dependencies: - "@typescript-eslint/types" "8.19.0" - "@typescript-eslint/visitor-keys" "8.19.0" + "@typescript-eslint/types" "8.19.1" + "@typescript-eslint/visitor-keys" "8.19.1" -"@typescript-eslint/type-utils@8.19.0": - version "8.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.19.0.tgz#41abd7d2e4cf93b6854b1fe6cbf416fab5abf89f" - integrity sha512-TZs0I0OSbd5Aza4qAMpp1cdCYVnER94IziudE3JU328YUHgWu9gwiwhag+fuLeJ2LkWLXI+F/182TbG+JaBdTg== +"@typescript-eslint/type-utils@8.19.1": + version "8.19.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.19.1.tgz#23710ab52643c19f74601b3f4a076c98f4e159aa" + integrity sha512-Rp7k9lhDKBMRJB/nM9Ksp1zs4796wVNyihG9/TU9R6KCJDNkQbc2EOKjrBtLYh3396ZdpXLtr/MkaSEmNMtykw== dependencies: - "@typescript-eslint/typescript-estree" "8.19.0" - "@typescript-eslint/utils" "8.19.0" + "@typescript-eslint/typescript-estree" "8.19.1" + "@typescript-eslint/utils" "8.19.1" debug "^4.3.4" - ts-api-utils "^1.3.0" + ts-api-utils "^2.0.0" -"@typescript-eslint/types@8.19.0": - version "8.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.19.0.tgz#a190a25c5484a42b81eaad06989579fdeb478cbb" - integrity sha512-8XQ4Ss7G9WX8oaYvD4OOLCjIQYgRQxO+qCiR2V2s2GxI9AUpo7riNwo6jDhKtTcaJjT8PY54j2Yb33kWtSJsmA== +"@typescript-eslint/types@8.19.1": + version "8.19.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.19.1.tgz#015a991281754ed986f2e549263a1188d6ed0a8c" + integrity sha512-JBVHMLj7B1K1v1051ZaMMgLW4Q/jre5qGK0Ew6UgXz1Rqh+/xPzV1aW581OM00X6iOfyr1be+QyW8LOUf19BbA== -"@typescript-eslint/typescript-estree@8.19.0": - version "8.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.19.0.tgz#6b4f48f98ffad6597379951b115710f4d68c9ccb" - integrity sha512-WW9PpDaLIFW9LCbucMSdYUuGeFUz1OkWYS/5fwZwTA+l2RwlWFdJvReQqMUMBw4yJWJOfqd7An9uwut2Oj8sLw== +"@typescript-eslint/typescript-estree@8.19.1": + version "8.19.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.19.1.tgz#c1094bb00bc251ac76cf215569ca27236435036b" + integrity sha512-jk/TZwSMJlxlNnqhy0Eod1PNEvCkpY6MXOXE/WLlblZ6ibb32i2We4uByoKPv1d0OD2xebDv4hbs3fm11SMw8Q== dependencies: - "@typescript-eslint/types" "8.19.0" - "@typescript-eslint/visitor-keys" "8.19.0" + "@typescript-eslint/types" "8.19.1" + "@typescript-eslint/visitor-keys" "8.19.1" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" minimatch "^9.0.4" semver "^7.6.0" - ts-api-utils "^1.3.0" + ts-api-utils "^2.0.0" -"@typescript-eslint/utils@8.19.0": - version "8.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.19.0.tgz#33824310e1fccc17f27fbd1030fd8bbd9a674684" - integrity sha512-PTBG+0oEMPH9jCZlfg07LCB2nYI0I317yyvXGfxnvGvw4SHIOuRnQ3kadyyXY6tGdChusIHIbM5zfIbp4M6tCg== +"@typescript-eslint/utils@8.19.1": + version "8.19.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.19.1.tgz#dd8eabd46b92bf61e573286e1c0ba6bd243a185b" + integrity sha512-IxG5gLO0Ne+KaUc8iW1A+XuKLd63o4wlbI1Zp692n1xojCl/THvgIKXJXBZixTh5dd5+yTJ/VXH7GJaaw21qXA== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.19.0" - "@typescript-eslint/types" "8.19.0" - "@typescript-eslint/typescript-estree" "8.19.0" + "@typescript-eslint/scope-manager" "8.19.1" + "@typescript-eslint/types" "8.19.1" + "@typescript-eslint/typescript-estree" "8.19.1" -"@typescript-eslint/visitor-keys@8.19.0": - version "8.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.19.0.tgz#dc313f735e64c4979c9073f51ffcefb6d9be5c77" - integrity sha512-mCFtBbFBJDCNCWUl5y6sZSCHXw1DEFEk3c/M3nRK2a4XUB8StGFtmcEMizdjKuBzB6e/smJAAWYug3VrdLMr1w== +"@typescript-eslint/visitor-keys@8.19.1": + version "8.19.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.19.1.tgz#fce54d7cfa5351a92387d6c0c5be598caee072e0" + integrity sha512-fzmjU8CHK853V/avYZAvuVut3ZTfwN5YtMaoi+X9Y9MA9keaWNHC3zEQ9zvyX/7Hj+5JkNyK1l7TOR2hevHB6Q== dependencies: - "@typescript-eslint/types" "8.19.0" + "@typescript-eslint/types" "8.19.1" eslint-visitor-keys "^4.2.0" "@vitest/expect@2.1.8": @@ -1874,15 +1874,15 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-glob@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + version "3.3.3" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" + integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" glob-parent "^5.1.2" merge2 "^1.3.0" - micromatch "^4.0.4" + micromatch "^4.0.8" fast-json-stable-stringify@^2.0.0: version "2.1.0" @@ -2446,7 +2446,7 @@ merge2@^1.3.0: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -micromatch@>=4.0.8, micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: +micromatch@>=4.0.8, micromatch@^4.0.2, micromatch@^4.0.5, micromatch@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== @@ -2827,9 +2827,9 @@ rimraf@^2.6.3: glob "^7.1.3" rollup-plugin-visualizer@^5.12.0: - version "5.13.1" - resolved "https://registry.yarnpkg.com/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.13.1.tgz#fa49320cd23c8642f856f8bd45ddaf3e10a5b023" - integrity sha512-vMg8i6BprL8aFm9DKvL2c8AwS8324EgymYQo9o6E26wgVvwMhsJxS37aNL6ZsU7X9iAcMYwdME7gItLfG5fwJg== + version "5.14.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.14.0.tgz#be82d43fb3c644e396e2d50ac8a53d354022d57c" + integrity sha512-VlDXneTDaKsHIw8yzJAFWtrzguoJ/LnQ+lMpoVfYJ3jJF4Ihe5oYLAqLklIK/35lgUY+1yEzCkHyZ1j4A5w5fA== dependencies: open "^8.4.0" picomatch "^4.0.2" @@ -3228,10 +3228,10 @@ tr46@^5.0.0: dependencies: punycode "^2.3.1" -ts-api-utils@^1.3.0: - version "1.4.3" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.4.3.tgz#bfc2215fe6528fecab2b0fba570a2e8a4263b064" - integrity sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw== +ts-api-utils@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-2.0.0.tgz#b9d7d5f7ec9f736f4d0f09758b8607979044a900" + integrity sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ== tslib@^2.4.0, tslib@^2.7.0: version "2.8.1" @@ -3251,13 +3251,13 @@ type@^2.7.2: integrity sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ== typescript-eslint@^8.7.0: - version "8.19.0" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.19.0.tgz#e4ff06b19f2f9807a2c26147a0199a109944d9e0" - integrity sha512-Ni8sUkVWYK4KAcTtPjQ/UTiRk6jcsuDhPpxULapUDi8A/l8TSBk+t1GtJA1RsCzIJg0q6+J7bf35AwQigENWRQ== + version "8.19.1" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.19.1.tgz#fdf7d53bc020bf7c48d40744bf3797ee7a70f69e" + integrity sha512-LKPUQpdEMVOeKluHi8md7rwLcoXHhwvWp3x+sJkMuq3gGm9yaYJtPo8sRZSblMFJ5pcOGCAak/scKf1mvZDlQw== dependencies: - "@typescript-eslint/eslint-plugin" "8.19.0" - "@typescript-eslint/parser" "8.19.0" - "@typescript-eslint/utils" "8.19.0" + "@typescript-eslint/eslint-plugin" "8.19.1" + "@typescript-eslint/parser" "8.19.1" + "@typescript-eslint/utils" "8.19.1" typescript@^5.5.4: version "5.6.3" From 993bb45d0d1f7a4b00f967e5493470a26df47127 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Wed, 15 Jan 2025 23:27:05 +0100 Subject: [PATCH 60/74] Dependency updates --- yarn.lock | 198 ++++++++++++++++++++++++++---------------------------- 1 file changed, 96 insertions(+), 102 deletions(-) diff --git a/yarn.lock b/yarn.lock index 5a208de..b0ee7c2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -294,10 +294,10 @@ debug "^4.3.1" minimatch "^3.1.2" -"@eslint/core@^0.9.0": - version "0.9.1" - resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.9.1.tgz#31763847308ef6b7084a4505573ac9402c51f9d1" - integrity sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q== +"@eslint/core@^0.10.0": + version "0.10.0" + resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.10.0.tgz#23727063c21b335f752dbb3a16450f6f9cbc9091" + integrity sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw== dependencies: "@types/json-schema" "^7.0.15" @@ -316,21 +316,22 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@9.17.0": - version "9.17.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.17.0.tgz#1523e586791f80376a6f8398a3964455ecc651ec" - integrity sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w== +"@eslint/js@9.18.0": + version "9.18.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.18.0.tgz#3356f85d18ed3627ab107790b53caf7e1e3d1e84" + integrity sha512-fK6L7rxcq6/z+AaQMtiFTkvbHkBLNlwyRxHpKawP0x3u9+NC6MQTnFW+AdpwC6gfHTW0051cokQgtTN2FqlxQA== "@eslint/object-schema@^2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.5.tgz#8670a8f6258a2be5b2c620ff314a1d984c23eb2e" integrity sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ== -"@eslint/plugin-kit@^0.2.3": - version "0.2.4" - resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.2.4.tgz#2b78e7bb3755784bb13faa8932a1d994d6537792" - integrity sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg== +"@eslint/plugin-kit@^0.2.5": + version "0.2.5" + resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.2.5.tgz#ee07372035539e7847ef834e3f5e7b79f09e3a81" + integrity sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A== dependencies: + "@eslint/core" "^0.10.0" levn "^0.4.1" "@fontsource/antonio@^5.1.0": @@ -873,14 +874,14 @@ integrity sha512-YaDrquRpZwfcXbnlDsSrBQNCChVOT9MGuSg+dMAyfsAa1SmiAhrA5jUYUiIMC59G92kIbY/AaQOWcBdq+lh+zg== "@sveltejs/kit@^2.0.0": - version "2.15.2" - resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-2.15.2.tgz#a6e9357856089da5233bdbf03e8d4cb7483a0c49" - integrity sha512-p208T1kdM6zd8k4YXIUM60pLWQ8dZqehXSiqn4NulXHyHibX53uIAL2xtNL8GjxX2IVPqPRT978MwVYhCKExdQ== + version "2.15.3" + resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-2.15.3.tgz#d6681f26ae90384fc459da5b934769062381a1ac" + integrity sha512-yI1iF1ldC+nyMFuA1cV+IMOROaGu6ogW0WNlTuPU5/3tGk8pQlwOtlbguGY4Fsp8Qf6pQWmG/ZUXRDrhAt62dg== dependencies: "@types/cookie" "^0.6.0" cookie "^0.6.0" devalue "^5.1.0" - esm-env "^1.2.1" + esm-env "^1.2.2" import-meta-resolve "^4.1.0" kleur "^4.1.5" magic-string "^0.30.5" @@ -981,62 +982,62 @@ resolved "https://registry.yarnpkg.com/@types/swagger-ui/-/swagger-ui-3.52.4.tgz#96c4886e8f86ae392f8d940bf7029cf490a51c72" integrity sha512-7NV7q8BfupqdQxr26OkM0g0YEPB9uXnKGzXadgcearvI9MoCHt3F72lPTX3fZZIlrr21DC0IK26wcDMZ37oFDA== -"@typescript-eslint/eslint-plugin@8.19.1", "@typescript-eslint/eslint-plugin@^8.7.0": - version "8.19.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.19.1.tgz#5f26c0a833b27bcb1aa402b82e76d3b8dda0b247" - integrity sha512-tJzcVyvvb9h/PB96g30MpxACd9IrunT7GF9wfA9/0TJ1LxGOJx1TdPzSbBBnNED7K9Ka8ybJsnEpiXPktolTLg== +"@typescript-eslint/eslint-plugin@8.20.0", "@typescript-eslint/eslint-plugin@^8.7.0": + version "8.20.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.20.0.tgz#b47a398e0e551cb008c60190b804394e6852c863" + integrity sha512-naduuphVw5StFfqp4Gq4WhIBE2gN1GEmMUExpJYknZJdRnc+2gDzB8Z3+5+/Kv33hPQRDGzQO/0opHE72lZZ6A== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.19.1" - "@typescript-eslint/type-utils" "8.19.1" - "@typescript-eslint/utils" "8.19.1" - "@typescript-eslint/visitor-keys" "8.19.1" + "@typescript-eslint/scope-manager" "8.20.0" + "@typescript-eslint/type-utils" "8.20.0" + "@typescript-eslint/utils" "8.20.0" + "@typescript-eslint/visitor-keys" "8.20.0" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" ts-api-utils "^2.0.0" -"@typescript-eslint/parser@8.19.1", "@typescript-eslint/parser@^8.7.0": - version "8.19.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.19.1.tgz#b836fcfe7a704c8c65f5a50e5b0ff8acfca5c21b" - integrity sha512-67gbfv8rAwawjYx3fYArwldTQKoYfezNUT4D5ioWetr/xCrxXxvleo3uuiFuKfejipvq+og7mjz3b0G2bVyUCw== +"@typescript-eslint/parser@8.20.0", "@typescript-eslint/parser@^8.7.0": + version "8.20.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.20.0.tgz#5caf2230a37094dc0e671cf836b96dd39b587ced" + integrity sha512-gKXG7A5HMyjDIedBi6bUrDcun8GIjnI8qOwVLiY3rx6T/sHP/19XLJOnIq/FgQvWLHja5JN/LSE7eklNBr612g== dependencies: - "@typescript-eslint/scope-manager" "8.19.1" - "@typescript-eslint/types" "8.19.1" - "@typescript-eslint/typescript-estree" "8.19.1" - "@typescript-eslint/visitor-keys" "8.19.1" + "@typescript-eslint/scope-manager" "8.20.0" + "@typescript-eslint/types" "8.20.0" + "@typescript-eslint/typescript-estree" "8.20.0" + "@typescript-eslint/visitor-keys" "8.20.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@8.19.1": - version "8.19.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.19.1.tgz#794cfc8add4f373b9cd6fa32e367e7565a0e231b" - integrity sha512-60L9KIuN/xgmsINzonOcMDSB8p82h95hoBfSBtXuO4jlR1R9L1xSkmVZKgCPVfavDlXihh4ARNjXhh1gGnLC7Q== +"@typescript-eslint/scope-manager@8.20.0": + version "8.20.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.20.0.tgz#aaf4198b509fb87a6527c02cfbfaf8901179e75c" + integrity sha512-J7+VkpeGzhOt3FeG1+SzhiMj9NzGD/M6KoGn9f4dbz3YzK9hvbhVTmLj/HiTp9DazIzJ8B4XcM80LrR9Dm1rJw== dependencies: - "@typescript-eslint/types" "8.19.1" - "@typescript-eslint/visitor-keys" "8.19.1" + "@typescript-eslint/types" "8.20.0" + "@typescript-eslint/visitor-keys" "8.20.0" -"@typescript-eslint/type-utils@8.19.1": - version "8.19.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.19.1.tgz#23710ab52643c19f74601b3f4a076c98f4e159aa" - integrity sha512-Rp7k9lhDKBMRJB/nM9Ksp1zs4796wVNyihG9/TU9R6KCJDNkQbc2EOKjrBtLYh3396ZdpXLtr/MkaSEmNMtykw== +"@typescript-eslint/type-utils@8.20.0": + version "8.20.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.20.0.tgz#958171d86b213a3f32b5b16b91db267968a4ef19" + integrity sha512-bPC+j71GGvA7rVNAHAtOjbVXbLN5PkwqMvy1cwGeaxUoRQXVuKCebRoLzm+IPW/NtFFpstn1ummSIasD5t60GA== dependencies: - "@typescript-eslint/typescript-estree" "8.19.1" - "@typescript-eslint/utils" "8.19.1" + "@typescript-eslint/typescript-estree" "8.20.0" + "@typescript-eslint/utils" "8.20.0" debug "^4.3.4" ts-api-utils "^2.0.0" -"@typescript-eslint/types@8.19.1": - version "8.19.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.19.1.tgz#015a991281754ed986f2e549263a1188d6ed0a8c" - integrity sha512-JBVHMLj7B1K1v1051ZaMMgLW4Q/jre5qGK0Ew6UgXz1Rqh+/xPzV1aW581OM00X6iOfyr1be+QyW8LOUf19BbA== +"@typescript-eslint/types@8.20.0": + version "8.20.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.20.0.tgz#487de5314b5415dee075e95568b87a75a3e730cf" + integrity sha512-cqaMiY72CkP+2xZRrFt3ExRBu0WmVitN/rYPZErA80mHjHx/Svgp8yfbzkJmDoQ/whcytOPO9/IZXnOc+wigRA== -"@typescript-eslint/typescript-estree@8.19.1": - version "8.19.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.19.1.tgz#c1094bb00bc251ac76cf215569ca27236435036b" - integrity sha512-jk/TZwSMJlxlNnqhy0Eod1PNEvCkpY6MXOXE/WLlblZ6ibb32i2We4uByoKPv1d0OD2xebDv4hbs3fm11SMw8Q== +"@typescript-eslint/typescript-estree@8.20.0": + version "8.20.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.20.0.tgz#658cea07b7e5981f19bce5cf1662cb70ad59f26b" + integrity sha512-Y7ncuy78bJqHI35NwzWol8E0X7XkRVS4K4P4TCyzWkOJih5NDvtoRDW4Ba9YJJoB2igm9yXDdYI/+fkiiAxPzA== dependencies: - "@typescript-eslint/types" "8.19.1" - "@typescript-eslint/visitor-keys" "8.19.1" + "@typescript-eslint/types" "8.20.0" + "@typescript-eslint/visitor-keys" "8.20.0" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" @@ -1044,22 +1045,22 @@ semver "^7.6.0" ts-api-utils "^2.0.0" -"@typescript-eslint/utils@8.19.1": - version "8.19.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.19.1.tgz#dd8eabd46b92bf61e573286e1c0ba6bd243a185b" - integrity sha512-IxG5gLO0Ne+KaUc8iW1A+XuKLd63o4wlbI1Zp692n1xojCl/THvgIKXJXBZixTh5dd5+yTJ/VXH7GJaaw21qXA== +"@typescript-eslint/utils@8.20.0": + version "8.20.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.20.0.tgz#53127ecd314b3b08836b4498b71cdb86f4ef3aa2" + integrity sha512-dq70RUw6UK9ei7vxc4KQtBRk7qkHZv447OUZ6RPQMQl71I3NZxQJX/f32Smr+iqWrB02pHKn2yAdHBb0KNrRMA== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.19.1" - "@typescript-eslint/types" "8.19.1" - "@typescript-eslint/typescript-estree" "8.19.1" + "@typescript-eslint/scope-manager" "8.20.0" + "@typescript-eslint/types" "8.20.0" + "@typescript-eslint/typescript-estree" "8.20.0" -"@typescript-eslint/visitor-keys@8.19.1": - version "8.19.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.19.1.tgz#fce54d7cfa5351a92387d6c0c5be598caee072e0" - integrity sha512-fzmjU8CHK853V/avYZAvuVut3ZTfwN5YtMaoi+X9Y9MA9keaWNHC3zEQ9zvyX/7Hj+5JkNyK1l7TOR2hevHB6Q== +"@typescript-eslint/visitor-keys@8.20.0": + version "8.20.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.20.0.tgz#2df6e24bc69084b81f06aaaa48d198b10d382bed" + integrity sha512-v/BpkeeYAsPkKCkR8BDwcno0llhzWVqPOamQrAEMdpZav2Y9OVjd9dwJyBLJWwf335B5DmlifECIkZRJCaGaHA== dependencies: - "@typescript-eslint/types" "8.19.1" + "@typescript-eslint/types" "8.20.0" eslint-visitor-keys "^4.2.0" "@vitest/expect@2.1.8": @@ -1315,20 +1316,13 @@ check-error@^2.1.1: resolved "https://registry.yarnpkg.com/check-error/-/check-error-2.1.1.tgz#87eb876ae71ee388fa0471fe423f494be1d96ccc" integrity sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw== -chokidar@^4.0.0: +chokidar@^4.0.0, chokidar@^4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.3.tgz#7be37a4c03c9aee1ecfe862a4a23b2c70c205d30" integrity sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA== dependencies: readdirp "^4.0.1" -chokidar@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.1.tgz#4a6dff66798fb0f72a94f616abbd7e1a19f31d41" - integrity sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA== - dependencies: - readdirp "^4.0.1" - ci-info@^3.7.0: version "3.9.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" @@ -1740,17 +1734,17 @@ eslint-visitor-keys@^4.2.0: integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw== eslint@^9.11.0: - version "9.17.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.17.0.tgz#faa1facb5dd042172fdc520106984b5c2421bb0c" - integrity sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA== + version "9.18.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.18.0.tgz#c95b24de1183e865de19f607fda6518b54827850" + integrity sha512-+waTfRWQlSbpt3KWE+CjrPPYnbq9kfZIYUqapc0uBXyjTp8aYXZDsUH16m39Ryq3NjAVP4tjuF7KaukeqoCoaA== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.12.1" "@eslint/config-array" "^0.19.0" - "@eslint/core" "^0.9.0" + "@eslint/core" "^0.10.0" "@eslint/eslintrc" "^3.2.0" - "@eslint/js" "9.17.0" - "@eslint/plugin-kit" "^0.2.3" + "@eslint/js" "9.18.0" + "@eslint/plugin-kit" "^0.2.5" "@humanfs/node" "^0.16.6" "@humanwhocodes/module-importer" "^1.0.1" "@humanwhocodes/retry" "^0.4.1" @@ -1779,10 +1773,10 @@ eslint@^9.11.0: natural-compare "^1.4.0" optionator "^0.9.3" -esm-env@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/esm-env/-/esm-env-1.2.1.tgz#34c2a0ba60582948afbe7bd779bc66f9d3aece7e" - integrity sha512-U9JedYYjCnadUlXk7e1Kr+aENQhtUaoaV9+gZm1T8LC/YBAPJx3NSPIAurFOC0U5vrdSevnUJS2/wUVxGwPhng== +esm-env@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/esm-env/-/esm-env-1.2.2.tgz#263c9455c55861f41618df31b20cb571fc20b75e" + integrity sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA== esniff@^2.0.1: version "2.0.1" @@ -2753,9 +2747,9 @@ prelude-ls@^1.2.1: integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== prettier-plugin-svelte@^3.2.6: - version "3.3.2" - resolved "https://registry.yarnpkg.com/prettier-plugin-svelte/-/prettier-plugin-svelte-3.3.2.tgz#f0c0b023a697f5cb43fb7257170e3d8762b547c6" - integrity sha512-kRPjH8wSj2iu+dO+XaUv4vD8qr5mdDmlak3IT/7AOgGIMRG86z/EHOLauFcClKEnOUf4A4nOA7sre5KrJD4Raw== + version "3.3.3" + resolved "https://registry.yarnpkg.com/prettier-plugin-svelte/-/prettier-plugin-svelte-3.3.3.tgz#49d5c025a1516063ac7ef026806f880caa310424" + integrity sha512-yViK9zqQ+H2qZD1w/bH7W8i+bVfKrD8GIFjkFe4Thl6kCT9SlAsXVNmt3jCvQOCsnOhcvYgsoVlRV/Eu6x5nNw== prettier@^3.3.3: version "3.4.2" @@ -2787,9 +2781,9 @@ react-is@^17.0.1: integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== readdirp@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.0.2.tgz#388fccb8b75665da3abffe2d8f8ed59fe74c230a" - integrity sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA== + version "4.1.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.1.1.tgz#bd115327129672dc47f87408f05df9bd9ca3ef55" + integrity sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw== redent@^3.0.0: version "3.0.0" @@ -2888,9 +2882,9 @@ sade@^1.7.4, sade@^1.8.1: integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== sass@^1.79.3: - version "1.83.1" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.83.1.tgz#dee1ab94b47a6f9993d3195d36f556bcbda64846" - integrity sha512-EVJbDaEs4Rr3F0glJzFSOvtg2/oy2V/YrGFPqPY24UqcLDWcI9ZY5sN+qyO3c/QCZwzgfirvhXvINiJCE/OLcA== + version "1.83.4" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.83.4.tgz#5ccf60f43eb61eeec300b780b8dcb85f16eec6d1" + integrity sha512-B1bozCeNQiOgDcLd33e2Cs2U60wZwjUUXzh900ZyQF5qUasvMdDZYbQ566LJu7cqR+sAHlAfO6RMkaID5s6qpA== dependencies: chokidar "^4.0.0" immutable "^5.0.2" @@ -3065,9 +3059,9 @@ svelte-bootstrap-icons@^3.1.1: integrity sha512-vy+qmWFfLJZxu5BaDlmaUG4uzki1rodX5ERZAP6KQdyO/2WNeGBDU4Yke3Z0NRq+VSepK86iAy+iUJvlUdsbBg== svelte-check@^4.0.2: - version "4.1.1" - resolved "https://registry.yarnpkg.com/svelte-check/-/svelte-check-4.1.1.tgz#4d6a97651bdcff84ad10521d0394ce094dee187a" - integrity sha512-NfaX+6Qtc8W/CyVGS/F7/XdiSSyXz+WGYA9ZWV3z8tso14V2vzjfXviKaTFEzB7g8TqfgO2FOzP6XT4ApSTUTw== + version "4.1.4" + resolved "https://registry.yarnpkg.com/svelte-check/-/svelte-check-4.1.4.tgz#59ec6f08d23647ec508ff01584ef6d191c77c9e1" + integrity sha512-v0j7yLbT29MezzaQJPEDwksybTE2Ups9rUxEXy92T06TiA0cbqcO8wAOwNUVkFW6B0hsYHA+oAX3BS8b/2oHtw== dependencies: "@jridgewell/trace-mapping" "^0.3.25" chokidar "^4.0.1" @@ -3251,13 +3245,13 @@ type@^2.7.2: integrity sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ== typescript-eslint@^8.7.0: - version "8.19.1" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.19.1.tgz#fdf7d53bc020bf7c48d40744bf3797ee7a70f69e" - integrity sha512-LKPUQpdEMVOeKluHi8md7rwLcoXHhwvWp3x+sJkMuq3gGm9yaYJtPo8sRZSblMFJ5pcOGCAak/scKf1mvZDlQw== + version "8.20.0" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.20.0.tgz#76d4ea6a483fd49830a7e8baccaed10f76d1e57b" + integrity sha512-Kxz2QRFsgbWj6Xcftlw3Dd154b3cEPFqQC+qMZrMypSijPd4UanKKvoKDrJ4o8AIfZFKAF+7sMaEIR8mTElozA== dependencies: - "@typescript-eslint/eslint-plugin" "8.19.1" - "@typescript-eslint/parser" "8.19.1" - "@typescript-eslint/utils" "8.19.1" + "@typescript-eslint/eslint-plugin" "8.20.0" + "@typescript-eslint/parser" "8.20.0" + "@typescript-eslint/utils" "8.20.0" typescript@^5.5.4: version "5.6.3" From 68207a7d95b6cb16df5c991b84ff40c25c23755b Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Thu, 16 Jan 2025 00:29:45 +0100 Subject: [PATCH 61/74] hide light sensor option when no light sensor --- src/lib/components/settings/DisplaySettings.svelte | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/lib/components/settings/DisplaySettings.svelte b/src/lib/components/settings/DisplaySettings.svelte index 7981688..0c1ed38 100644 --- a/src/lib/components/settings/DisplaySettings.svelte +++ b/src/lib/components/settings/DisplaySettings.svelte @@ -190,12 +190,14 @@ size={$uiSettings.inputSize} /> - + {#if $settings.hasLightLevel} + + {/if} {/if} From 50b9267d17253dc793a7fee2562641b5d7e646b0 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Mon, 20 Jan 2025 12:27:34 +0100 Subject: [PATCH 62/74] chore: dependency updates --- ...=> @sveltejs+kit+2.16.0+001+initial.patch} | 23 +- yarn.lock | 231 ++++++++++-------- 2 files changed, 133 insertions(+), 121 deletions(-) rename patches/{@sveltejs+kit+2.15.2+001+initial.patch => @sveltejs+kit+2.16.0+001+initial.patch} (52%) diff --git a/patches/@sveltejs+kit+2.15.2+001+initial.patch b/patches/@sveltejs+kit+2.16.0+001+initial.patch similarity index 52% rename from patches/@sveltejs+kit+2.15.2+001+initial.patch rename to patches/@sveltejs+kit+2.16.0+001+initial.patch index 0f933b2..7fb98b1 100644 --- a/patches/@sveltejs+kit+2.15.2+001+initial.patch +++ b/patches/@sveltejs+kit+2.16.0+001+initial.patch @@ -1,30 +1,17 @@ diff --git a/node_modules/@sveltejs/kit/src/exports/vite/index.js b/node_modules/@sveltejs/kit/src/exports/vite/index.js -index 21bc3d4..eef2db3 100644 +index ddbe746..1d926a4 100644 --- a/node_modules/@sveltejs/kit/src/exports/vite/index.js +++ b/node_modules/@sveltejs/kit/src/exports/vite/index.js -@@ -648,9 +648,9 @@ async function kit({ svelte_config }) { +@@ -658,9 +658,9 @@ async function kit({ svelte_config }) { output: { format: inline ? 'iife' : 'esm', name: `__sveltekit_${version_hash}.app`, - entryFileNames: ssr ? '[name].js' : `${prefix}/[name].[hash].${ext}`, -- chunkFileNames: ssr ? 'chunks/[name].js' : `${prefix}/chunks/[name].[hash].${ext}`, +- chunkFileNames: ssr ? 'chunks/[name].js' : `${prefix}/chunks/[hash].${ext}`, - assetFileNames: `${prefix}/assets/[name].[hash][extname]`, + entryFileNames: ssr ? '[name].js' : `${prefix}/[hash].${ext}`, -+ chunkFileNames: ssr ? 'chunks/[name].js' : `${prefix}/chunks/[hash].${ext}`, -+ assetFileNames: `${prefix}/assets/[hash][extname]`, ++ chunkFileNames: ssr ? 'chunks/[name].js' : `${prefix}/c[hash].${ext}`, ++ assetFileNames: `${prefix}/a[hash][extname]`, hoistTransitiveImports: false, sourcemapIgnoreList, manualChunks: split ? undefined : () => 'bundle', -@@ -665,9 +665,9 @@ async function kit({ svelte_config }) { - worker: { - rollupOptions: { - output: { -- entryFileNames: `${prefix}/workers/[name]-[hash].js`, -- chunkFileNames: `${prefix}/workers/chunks/[name]-[hash].js`, -- assetFileNames: `${prefix}/workers/assets/[name]-[hash][extname]`, -+ entryFileNames: `${prefix}/workers/[hash].js`, -+ chunkFileNames: `${prefix}/workers/chunks/[hash].js`, -+ assetFileNames: `${prefix}/workers/assets/[hash][extname]`, - hoistTransitiveImports: false - } - } diff --git a/yarn.lock b/yarn.lock index b0ee7c2..b887207 100644 --- a/yarn.lock +++ b/yarn.lock @@ -744,95 +744,100 @@ estree-walker "^2.0.2" picomatch "^2.3.1" -"@rollup/rollup-android-arm-eabi@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.27.4.tgz#e3c9cc13f144ba033df4d2c3130a214dc8e3473e" - integrity sha512-2Y3JT6f5MrQkICUyRVCw4oa0sutfAsgaSsb0Lmmy1Wi2y7X5vT9Euqw4gOsCyy0YfKURBg35nhUKZS4mDcfULw== +"@rollup/rollup-android-arm-eabi@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.31.0.tgz#d4dd60da0075a6ce9a6c76d71b8204f3e1822285" + integrity sha512-9NrR4033uCbUBRgvLcBrJofa2KY9DzxL2UKZ1/4xA/mnTNyhZCWBuD8X3tPm1n4KxcgaraOYgrFKSgwjASfmlA== -"@rollup/rollup-android-arm64@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.27.4.tgz#0474250fcb5871aca952e249a0c3270fc4310b55" - integrity sha512-wzKRQXISyi9UdCVRqEd0H4cMpzvHYt1f/C3CoIjES6cG++RHKhrBj2+29nPF0IB5kpy9MS71vs07fvrNGAl/iA== +"@rollup/rollup-android-arm64@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.31.0.tgz#25c4d33259a7a2ccd2f52a5ffcc0bb3ab3f0729d" + integrity sha512-iBbODqT86YBFHajxxF8ebj2hwKm1k8PTBQSojSt3d1FFt1gN+xf4CowE47iN0vOSdnd+5ierMHBbu/rHc7nq5g== -"@rollup/rollup-darwin-arm64@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.27.4.tgz#77c29b4f9c430c1624f1a6835f2a7e82be3d16f2" - integrity sha512-PlNiRQapift4LNS8DPUHuDX/IdXiLjf8mc5vdEmUR0fF/pyy2qWwzdLjB+iZquGr8LuN4LnUoSEvKRwjSVYz3Q== +"@rollup/rollup-darwin-arm64@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.31.0.tgz#d137dff254b19163a6b52ac083a71cd055dae844" + integrity sha512-WHIZfXgVBX30SWuTMhlHPXTyN20AXrLH4TEeH/D0Bolvx9PjgZnn4H677PlSGvU6MKNsjCQJYczkpvBbrBnG6g== -"@rollup/rollup-darwin-x64@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.27.4.tgz#7d87711f641a458868758cbf110fb32eabd6a25a" - integrity sha512-o9bH2dbdgBDJaXWJCDTNDYa171ACUdzpxSZt+u/AAeQ20Nk5x+IhA+zsGmrQtpkLiumRJEYef68gcpn2ooXhSQ== +"@rollup/rollup-darwin-x64@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.31.0.tgz#58ff20b5dacb797d3adca19f02a21c532f9d55bf" + integrity sha512-hrWL7uQacTEF8gdrQAqcDy9xllQ0w0zuL1wk1HV8wKGSGbKPVjVUv/DEwT2+Asabf8Dh/As+IvfdU+H8hhzrQQ== -"@rollup/rollup-freebsd-arm64@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.27.4.tgz#662f808d2780e4e91021ac9ee7ed800862bb9a57" - integrity sha512-NBI2/i2hT9Q+HySSHTBh52da7isru4aAAo6qC3I7QFVsuhxi2gM8t/EI9EVcILiHLj1vfi+VGGPaLOUENn7pmw== +"@rollup/rollup-freebsd-arm64@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.31.0.tgz#96ce1a241c591ec3e068f4af765d94eddb24e60c" + integrity sha512-S2oCsZ4hJviG1QjPY1h6sVJLBI6ekBeAEssYKad1soRFv3SocsQCzX6cwnk6fID6UQQACTjeIMB+hyYrFacRew== -"@rollup/rollup-freebsd-x64@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.27.4.tgz#71e5a7bcfcbe51d8b65d158675acec1307edea79" - integrity sha512-wYcC5ycW2zvqtDYrE7deary2P2UFmSh85PUpAx+dwTCO9uw3sgzD6Gv9n5X4vLaQKsrfTSZZ7Z7uynQozPVvWA== +"@rollup/rollup-freebsd-x64@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.31.0.tgz#e59e7ede505be41f0b4311b0b943f8eb44938467" + integrity sha512-pCANqpynRS4Jirn4IKZH4tnm2+2CqCNLKD7gAdEjzdLGbH1iO0zouHz4mxqg0uEMpO030ejJ0aA6e1PJo2xrPA== -"@rollup/rollup-linux-arm-gnueabihf@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.27.4.tgz#08f67fcec61ee18f8b33b3f403a834ab8f3aa75d" - integrity sha512-9OwUnK/xKw6DyRlgx8UizeqRFOfi9mf5TYCw1uolDaJSbUmBxP85DE6T4ouCMoN6pXw8ZoTeZCSEfSaYo+/s1w== +"@rollup/rollup-linux-arm-gnueabihf@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.31.0.tgz#e455ca6e4ff35bd46d62201c153352e717000a7b" + integrity sha512-0O8ViX+QcBd3ZmGlcFTnYXZKGbFu09EhgD27tgTdGnkcYXLat4KIsBBQeKLR2xZDCXdIBAlWLkiXE1+rJpCxFw== -"@rollup/rollup-linux-arm-musleabihf@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.27.4.tgz#2e1ad4607f86475b1731556359c6070eb8f4b109" - integrity sha512-Vgdo4fpuphS9V24WOV+KwkCVJ72u7idTgQaBoLRD0UxBAWTF9GWurJO9YD9yh00BzbkhpeXtm6na+MvJU7Z73A== +"@rollup/rollup-linux-arm-musleabihf@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.31.0.tgz#bc1a93d807d19e70b1e343a5bfea43723bcd6327" + integrity sha512-w5IzG0wTVv7B0/SwDnMYmbr2uERQp999q8FMkKG1I+j8hpPX2BYFjWe69xbhbP6J9h2gId/7ogesl9hwblFwwg== -"@rollup/rollup-linux-arm64-gnu@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.27.4.tgz#c65d559dcb0d3dabea500cf7b8215959ae6cccf8" - integrity sha512-pleyNgyd1kkBkw2kOqlBx+0atfIIkkExOTiifoODo6qKDSpnc6WzUY5RhHdmTdIJXBdSnh6JknnYTtmQyobrVg== +"@rollup/rollup-linux-arm64-gnu@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.31.0.tgz#f38bf843f1dc3d5de680caf31084008846e3efae" + integrity sha512-JyFFshbN5xwy6fulZ8B/8qOqENRmDdEkcIMF0Zz+RsfamEW+Zabl5jAb0IozP/8UKnJ7g2FtZZPEUIAlUSX8cA== -"@rollup/rollup-linux-arm64-musl@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.27.4.tgz#6739f7eb33e20466bb88748519c98ce8dee23922" - integrity sha512-caluiUXvUuVyCHr5DxL8ohaaFFzPGmgmMvwmqAITMpV/Q+tPoaHZ/PWa3t8B2WyoRcIIuu1hkaW5KkeTDNSnMA== +"@rollup/rollup-linux-arm64-musl@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.31.0.tgz#b3987a96c18b7287129cf735be2dbf83e94d9d05" + integrity sha512-kpQXQ0UPFeMPmPYksiBL9WS/BDiQEjRGMfklVIsA0Sng347H8W2iexch+IEwaR7OVSKtr2ZFxggt11zVIlZ25g== -"@rollup/rollup-linux-powerpc64le-gnu@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.27.4.tgz#8d9fe9471c256e55278cb1f7b1c977cd8fe6df20" - integrity sha512-FScrpHrO60hARyHh7s1zHE97u0KlT/RECzCKAdmI+LEoC1eDh/RDji9JgFqyO+wPDb86Oa/sXkily1+oi4FzJQ== +"@rollup/rollup-linux-loongarch64-gnu@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.31.0.tgz#0f0324044e71c4f02e9f49e7ec4e347b655b34ee" + integrity sha512-pMlxLjt60iQTzt9iBb3jZphFIl55a70wexvo8p+vVFK+7ifTRookdoXX3bOsRdmfD+OKnMozKO6XM4zR0sHRrQ== -"@rollup/rollup-linux-riscv64-gnu@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.27.4.tgz#9a467f7ad5b61c9d66b24e79a3c57cb755d02c35" - integrity sha512-qyyprhyGb7+RBfMPeww9FlHwKkCXdKHeGgSqmIXw9VSUtvyFZ6WZRtnxgbuz76FK7LyoN8t/eINRbPUcvXB5fw== +"@rollup/rollup-linux-powerpc64le-gnu@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.31.0.tgz#809479f27f1fd5b4eecd2aa732132ad952d454ba" + integrity sha512-D7TXT7I/uKEuWiRkEFbed1UUYZwcJDU4vZQdPTcepK7ecPhzKOYk4Er2YR4uHKme4qDeIh6N3XrLfpuM7vzRWQ== -"@rollup/rollup-linux-s390x-gnu@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.27.4.tgz#efaddf22df27b87a267a731fbeb9539e92cd4527" - integrity sha512-PFz+y2kb6tbh7m3A7nA9++eInGcDVZUACulf/KzDtovvdTizHpZaJty7Gp0lFwSQcrnebHOqxF1MaKZd7psVRg== +"@rollup/rollup-linux-riscv64-gnu@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.31.0.tgz#7bc75c4f22db04d3c972f83431739cfa41c6a36e" + integrity sha512-wal2Tc8O5lMBtoePLBYRKj2CImUCJ4UNGJlLwspx7QApYny7K1cUYlzQ/4IGQBLmm+y0RS7dwc3TDO/pmcneTw== -"@rollup/rollup-linux-x64-gnu@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.27.4.tgz#a959eccb04b07fd1591d7ff745a6865faa7042cd" - integrity sha512-Ni8mMtfo+o/G7DVtweXXV/Ol2TFf63KYjTtoZ5f078AUgJTmaIJnj4JFU7TK/9SVWTaSJGxPi5zMDgK4w+Ez7Q== +"@rollup/rollup-linux-s390x-gnu@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.31.0.tgz#cfe8052345c55864d83ae343362cf1912480170e" + integrity sha512-O1o5EUI0+RRMkK9wiTVpk2tyzXdXefHtRTIjBbmFREmNMy7pFeYXCFGbhKFwISA3UOExlo5GGUuuj3oMKdK6JQ== -"@rollup/rollup-linux-x64-musl@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.27.4.tgz#927764f1da1f2dd50943716dec93796d10cb6e99" - integrity sha512-5AeeAF1PB9TUzD+3cROzFTnAJAcVUGLuR8ng0E0WXGkYhp6RD6L+6szYVX+64Rs0r72019KHZS1ka1q+zU/wUw== +"@rollup/rollup-linux-x64-gnu@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.31.0.tgz#c6b048f1e25f3fea5b4bd246232f4d07a159c5a0" + integrity sha512-zSoHl356vKnNxwOWnLd60ixHNPRBglxpv2g7q0Cd3Pmr561gf0HiAcUBRL3S1vPqRC17Zo2CX/9cPkqTIiai1g== -"@rollup/rollup-win32-arm64-msvc@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.27.4.tgz#030b6cc607d845da23dced624e47fb45de105840" - integrity sha512-yOpVsA4K5qVwu2CaS3hHxluWIK5HQTjNV4tWjQXluMiiiu4pJj4BN98CvxohNCpcjMeTXk/ZMJBRbgRg8HBB6A== +"@rollup/rollup-linux-x64-musl@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.31.0.tgz#615273ac52d1a201f4de191cbd3389016a9d7d80" + integrity sha512-ypB/HMtcSGhKUQNiFwqgdclWNRrAYDH8iMYH4etw/ZlGwiTVxBz2tDrGRrPlfZu6QjXwtd+C3Zib5pFqID97ZA== -"@rollup/rollup-win32-ia32-msvc@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.27.4.tgz#3457a3f44a84f51d8097c3606429e01f0d2d0ec2" - integrity sha512-KtwEJOaHAVJlxV92rNYiG9JQwQAdhBlrjNRp7P9L8Cb4Rer3in+0A+IPhJC9y68WAi9H0sX4AiG2NTsVlmqJeQ== +"@rollup/rollup-win32-arm64-msvc@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.31.0.tgz#32ed85810c1b831c648eca999d68f01255b30691" + integrity sha512-JuhN2xdI/m8Hr+aVO3vspO7OQfUFO6bKLIRTAy0U15vmWjnZDLrEgCZ2s6+scAYaQVpYSh9tZtRijApw9IXyMw== -"@rollup/rollup-win32-x64-msvc@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.27.4.tgz#67d516613c9f2fe42e2d8b78e252d0003179d92c" - integrity sha512-3j4jx1TppORdTAoBJRd+/wJRGCPC0ETWkXOecJ6PPZLj6SptXkrXcNqdj0oclbKML6FkQltdz7bBA3rUSirZug== +"@rollup/rollup-win32-ia32-msvc@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.31.0.tgz#d47effada68bcbfdccd30c4a788d42e4542ff4d3" + integrity sha512-U1xZZXYkvdf5MIWmftU8wrM5PPXzyaY1nGCI4KI4BFfoZxHamsIe+BtnPLIvvPykvQWlVbqUXdLa4aJUuilwLQ== + +"@rollup/rollup-win32-x64-msvc@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.31.0.tgz#7a2d89a82cf0388d60304964217dd7beac6de645" + integrity sha512-ul8rnCsUumNln5YWwz0ted2ZHFhzhRRnkpBZ+YRuHoRAlUji9KChpOUOndY7uykrPEPXVbHLlsdo6v5yXo/TXw== "@scure/base@1.1.1": version "1.1.1" @@ -874,9 +879,9 @@ integrity sha512-YaDrquRpZwfcXbnlDsSrBQNCChVOT9MGuSg+dMAyfsAa1SmiAhrA5jUYUiIMC59G92kIbY/AaQOWcBdq+lh+zg== "@sveltejs/kit@^2.0.0": - version "2.15.3" - resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-2.15.3.tgz#d6681f26ae90384fc459da5b934769062381a1ac" - integrity sha512-yI1iF1ldC+nyMFuA1cV+IMOROaGu6ogW0WNlTuPU5/3tGk8pQlwOtlbguGY4Fsp8Qf6pQWmG/ZUXRDrhAt62dg== + version "2.16.0" + resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-2.16.0.tgz#3961182fdb69eff96a912eb16c1359cf14d37840" + integrity sha512-S9i1ZWKqluzoaJ6riYnEdbe+xJluMTMkhABouBa66GaWcAyCjW/jAc0NdJQJ/DXyK1CnP5quBW25e99MNyvLxA== dependencies: "@types/cookie" "^0.6.0" cookie "^0.6.0" @@ -889,7 +894,6 @@ sade "^1.8.1" set-cookie-parser "^2.6.0" sirv "^3.0.0" - tiny-glob "^0.2.9" "@sveltejs/vite-plugin-svelte-inspector@^2.1.0": version "2.1.0" @@ -912,9 +916,9 @@ vitefu "^0.2.5" "@sveltestrap/sveltestrap@^6.2.7": - version "6.2.7" - resolved "https://registry.yarnpkg.com/@sveltestrap/sveltestrap/-/sveltestrap-6.2.7.tgz#5b2736cbee2db973f02b09d2e9d5bf819418f1f9" - integrity sha512-WwLLfAFUb42BGuRrf3Vbct30bQMzlEMMipN/MfxhjuLTmLQeW9muVJfPyvjtWS+mY+RjkSCoHvAp/ZobP1NLlQ== + version "6.2.8" + resolved "https://registry.yarnpkg.com/@sveltestrap/sveltestrap/-/sveltestrap-6.2.8.tgz#d3c144372579379bfd964982342741827b79025c" + integrity sha512-uOcY3xsHtJ/VE0Z8A5JrJIq4kW/OOQcct5JtJW5ug646Re2pzQH08P7RjSp04UUjmR/RlC3ugVfiGss8idHG7A== dependencies: "@popperjs/core" "^2.11.8" @@ -2504,7 +2508,7 @@ msgpack-es@^0.0.5: resolved "https://registry.yarnpkg.com/msgpack-es/-/msgpack-es-0.0.5.tgz#2cc46435e26a4c13520731c515d0a1d9a191dfc8" integrity sha512-iK8YNWqs4csqE7udSmuY/1bz0MH8L80eX2ZGIlf8g7G2aq9wRUbVpTbyixqQNNJZ2kJ8v2NgVzj0npRqdJBMuA== -nanoid@^3.3.7: +nanoid@^3.3.7, nanoid@^3.3.8: version "3.3.8" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.8.tgz#b1be3030bee36aaff18bacb375e5cce521684baf" integrity sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w== @@ -2732,7 +2736,7 @@ postcss-selector-parser@^6.1.0: cssesc "^3.0.0" util-deprecate "^1.0.2" -postcss@^8.4.38, postcss@^8.4.39, postcss@^8.4.43: +postcss@^8.4.38, postcss@^8.4.39: version "8.4.49" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.49.tgz#4ea479048ab059ab3ae61d082190fabfd994fe19" integrity sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA== @@ -2741,6 +2745,15 @@ postcss@^8.4.38, postcss@^8.4.39, postcss@^8.4.43: picocolors "^1.1.1" source-map-js "^1.2.1" +postcss@^8.4.43: + version "8.5.1" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.1.tgz#e2272a1f8a807fafa413218245630b5db10a3214" + integrity sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ== + dependencies: + nanoid "^3.3.8" + picocolors "^1.1.1" + source-map-js "^1.2.1" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -2831,30 +2844,31 @@ rollup-plugin-visualizer@^5.12.0: yargs "^17.5.1" rollup@^4.20.0: - version "4.27.4" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.27.4.tgz#b23e4ef4fe4d0d87f5237dacf63f95a499503897" - integrity sha512-RLKxqHEMjh/RGLsDxAEsaLO3mWgyoU6x9w6n1ikAzet4B3gI2/3yP6PWY2p9QzRTh6MfEIXB3MwsOY0Iv3vNrw== + version "4.31.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.31.0.tgz#b84af969a0292cb047dce2c0ec5413a9457597a4" + integrity sha512-9cCE8P4rZLx9+PjoyqHLs31V9a9Vpvfo4qNcs6JCiGWYhw2gijSetFbH6SSy1whnkgcefnUwr8sad7tgqsGvnw== dependencies: "@types/estree" "1.0.6" optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.27.4" - "@rollup/rollup-android-arm64" "4.27.4" - "@rollup/rollup-darwin-arm64" "4.27.4" - "@rollup/rollup-darwin-x64" "4.27.4" - "@rollup/rollup-freebsd-arm64" "4.27.4" - "@rollup/rollup-freebsd-x64" "4.27.4" - "@rollup/rollup-linux-arm-gnueabihf" "4.27.4" - "@rollup/rollup-linux-arm-musleabihf" "4.27.4" - "@rollup/rollup-linux-arm64-gnu" "4.27.4" - "@rollup/rollup-linux-arm64-musl" "4.27.4" - "@rollup/rollup-linux-powerpc64le-gnu" "4.27.4" - "@rollup/rollup-linux-riscv64-gnu" "4.27.4" - "@rollup/rollup-linux-s390x-gnu" "4.27.4" - "@rollup/rollup-linux-x64-gnu" "4.27.4" - "@rollup/rollup-linux-x64-musl" "4.27.4" - "@rollup/rollup-win32-arm64-msvc" "4.27.4" - "@rollup/rollup-win32-ia32-msvc" "4.27.4" - "@rollup/rollup-win32-x64-msvc" "4.27.4" + "@rollup/rollup-android-arm-eabi" "4.31.0" + "@rollup/rollup-android-arm64" "4.31.0" + "@rollup/rollup-darwin-arm64" "4.31.0" + "@rollup/rollup-darwin-x64" "4.31.0" + "@rollup/rollup-freebsd-arm64" "4.31.0" + "@rollup/rollup-freebsd-x64" "4.31.0" + "@rollup/rollup-linux-arm-gnueabihf" "4.31.0" + "@rollup/rollup-linux-arm-musleabihf" "4.31.0" + "@rollup/rollup-linux-arm64-gnu" "4.31.0" + "@rollup/rollup-linux-arm64-musl" "4.31.0" + "@rollup/rollup-linux-loongarch64-gnu" "4.31.0" + "@rollup/rollup-linux-powerpc64le-gnu" "4.31.0" + "@rollup/rollup-linux-riscv64-gnu" "4.31.0" + "@rollup/rollup-linux-s390x-gnu" "4.31.0" + "@rollup/rollup-linux-x64-gnu" "4.31.0" + "@rollup/rollup-linux-x64-musl" "4.31.0" + "@rollup/rollup-win32-arm64-msvc" "4.31.0" + "@rollup/rollup-win32-ia32-msvc" "4.31.0" + "@rollup/rollup-win32-x64-msvc" "4.31.0" fsevents "~2.3.2" rrweb-cssom@^0.7.1: @@ -3286,7 +3300,7 @@ vite-node@2.1.8: pathe "^1.1.2" vite "^5.0.0" -vite@^5.0.0, vite@^5.4.7: +vite@^5.0.0: version "5.4.11" resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.11.tgz#3b415cd4aed781a356c1de5a9ebafb837715f6e5" integrity sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q== @@ -3297,6 +3311,17 @@ vite@^5.0.0, vite@^5.4.7: optionalDependencies: fsevents "~2.3.3" +vite@^5.4.7: + version "5.4.12" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.12.tgz#627d12ff06de3942557dfe8632fd712a12a072c7" + integrity sha512-KwUaKB27TvWwDJr1GjjWthLMATbGEbeWYZIbGZ5qFIsgPP3vWzLu4cVooqhm5/Z2SPDUMjyPVjTztm5tYKwQxA== + dependencies: + esbuild "^0.21.3" + postcss "^8.4.43" + rollup "^4.20.0" + optionalDependencies: + fsevents "~2.3.3" + vitefu@^0.2.5: version "0.2.5" resolved "https://registry.yarnpkg.com/vitefu/-/vitefu-0.2.5.tgz#c1b93c377fbdd3e5ddd69840ea3aa70b40d90969" From 0116cd68cdfdf383823f74e0f9665a1700cf0500 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Wed, 19 Feb 2025 14:39:36 +0100 Subject: [PATCH 63/74] chore: dependency updates --- yarn.lock | 786 +++++++++++++++++++++++++++--------------------------- 1 file changed, 389 insertions(+), 397 deletions(-) diff --git a/yarn.lock b/yarn.lock index b887207..7a3404d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -30,9 +30,9 @@ integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== "@babel/runtime@^7.12.5": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.0.tgz#8600c2f595f277c60815256418b85356a65173c1" - integrity sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw== + version "7.26.9" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.9.tgz#aa4c6facc65b9cb3f87d75125ffd47781b475433" + integrity sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg== dependencies: regenerator-runtime "^0.14.0" @@ -286,18 +286,18 @@ integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== "@eslint/config-array@^0.19.0": - version "0.19.1" - resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.19.1.tgz#734aaea2c40be22bbb1f2a9dac687c57a6a4c984" - integrity sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA== + version "0.19.2" + resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.19.2.tgz#3060b809e111abfc97adb0bb1172778b90cb46aa" + integrity sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w== dependencies: - "@eslint/object-schema" "^2.1.5" + "@eslint/object-schema" "^2.1.6" debug "^4.3.1" minimatch "^3.1.2" -"@eslint/core@^0.10.0": - version "0.10.0" - resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.10.0.tgz#23727063c21b335f752dbb3a16450f6f9cbc9091" - integrity sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw== +"@eslint/core@^0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.11.0.tgz#7a9226e850922e42cbd2ba71361eacbe74352a12" + integrity sha512-DWUB2pksgNEb6Bz2fggIy1wh6fGgZP4Xyy/Mt0QZPiloKKXerbqq9D3SBQTlCRYOrcRPu4vuz+CGjwdfqxnoWA== dependencies: "@types/json-schema" "^7.0.15" @@ -316,22 +316,22 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@9.18.0": - version "9.18.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.18.0.tgz#3356f85d18ed3627ab107790b53caf7e1e3d1e84" - integrity sha512-fK6L7rxcq6/z+AaQMtiFTkvbHkBLNlwyRxHpKawP0x3u9+NC6MQTnFW+AdpwC6gfHTW0051cokQgtTN2FqlxQA== +"@eslint/js@9.20.0": + version "9.20.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.20.0.tgz#7421bcbe74889fcd65d1be59f00130c289856eb4" + integrity sha512-iZA07H9io9Wn836aVTytRaNqh00Sad+EamwOVJT12GTLw1VGMFV/4JaME+JjLtr9fiGaoWgYnS54wrfWsSs4oQ== -"@eslint/object-schema@^2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.5.tgz#8670a8f6258a2be5b2c620ff314a1d984c23eb2e" - integrity sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ== +"@eslint/object-schema@^2.1.6": + version "2.1.6" + resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.6.tgz#58369ab5b5b3ca117880c0f6c0b0f32f6950f24f" + integrity sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA== "@eslint/plugin-kit@^0.2.5": - version "0.2.5" - resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.2.5.tgz#ee07372035539e7847ef834e3f5e7b79f09e3a81" - integrity sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A== + version "0.2.6" + resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.2.6.tgz#a30084164a4ced1efb6ec31d3d04f581cb8929c0" + integrity sha512-+0TjwR1eAUdZtvv/ir1mGX+v0tUoR3VEPB8Up0LLJC+whRW0GgBBtpbOkg/a/U4Dxa6l5a3l9AJ1aWIQVyoWJA== dependencies: - "@eslint/core" "^0.10.0" + "@eslint/core" "^0.11.0" levn "^0.4.1" "@fontsource/antonio@^5.1.0": @@ -622,101 +622,101 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@parcel/watcher-android-arm64@2.5.0": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.0.tgz#e32d3dda6647791ee930556aee206fcd5ea0fb7a" - integrity sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ== +"@parcel/watcher-android-arm64@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz#507f836d7e2042f798c7d07ad19c3546f9848ac1" + integrity sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA== -"@parcel/watcher-darwin-arm64@2.5.0": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.0.tgz#0d9e680b7e9ec1c8f54944f1b945aa8755afb12f" - integrity sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw== +"@parcel/watcher-darwin-arm64@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz#3d26dce38de6590ef79c47ec2c55793c06ad4f67" + integrity sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw== -"@parcel/watcher-darwin-x64@2.5.0": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.0.tgz#f9f1d5ce9d5878d344f14ef1856b7a830c59d1bb" - integrity sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA== +"@parcel/watcher-darwin-x64@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz#99f3af3869069ccf774e4ddfccf7e64fd2311ef8" + integrity sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg== -"@parcel/watcher-freebsd-x64@2.5.0": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.0.tgz#2b77f0c82d19e84ff4c21de6da7f7d096b1a7e82" - integrity sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw== +"@parcel/watcher-freebsd-x64@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz#14d6857741a9f51dfe51d5b08b7c8afdbc73ad9b" + integrity sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ== -"@parcel/watcher-linux-arm-glibc@2.5.0": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.0.tgz#92ed322c56dbafa3d2545dcf2803334aee131e42" - integrity sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA== +"@parcel/watcher-linux-arm-glibc@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz#43c3246d6892381db473bb4f663229ad20b609a1" + integrity sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA== -"@parcel/watcher-linux-arm-musl@2.5.0": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.0.tgz#cd48e9bfde0cdbbd2ecd9accfc52967e22f849a4" - integrity sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA== +"@parcel/watcher-linux-arm-musl@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz#663750f7090bb6278d2210de643eb8a3f780d08e" + integrity sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q== -"@parcel/watcher-linux-arm64-glibc@2.5.0": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.0.tgz#7b81f6d5a442bb89fbabaf6c13573e94a46feb03" - integrity sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA== +"@parcel/watcher-linux-arm64-glibc@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz#ba60e1f56977f7e47cd7e31ad65d15fdcbd07e30" + integrity sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w== -"@parcel/watcher-linux-arm64-musl@2.5.0": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.0.tgz#dcb8ff01077cdf59a18d9e0a4dff7a0cfe5fd732" - integrity sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q== +"@parcel/watcher-linux-arm64-musl@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz#f7fbcdff2f04c526f96eac01f97419a6a99855d2" + integrity sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg== -"@parcel/watcher-linux-x64-glibc@2.5.0": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.0.tgz#2e254600fda4e32d83942384d1106e1eed84494d" - integrity sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw== +"@parcel/watcher-linux-x64-glibc@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz#4d2ea0f633eb1917d83d483392ce6181b6a92e4e" + integrity sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A== -"@parcel/watcher-linux-x64-musl@2.5.0": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.0.tgz#01fcea60fedbb3225af808d3f0a7b11229792eef" - integrity sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA== +"@parcel/watcher-linux-x64-musl@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz#277b346b05db54f55657301dd77bdf99d63606ee" + integrity sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg== -"@parcel/watcher-win32-arm64@2.5.0": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.0.tgz#87cdb16e0783e770197e52fb1dc027bb0c847154" - integrity sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig== +"@parcel/watcher-win32-arm64@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz#7e9e02a26784d47503de1d10e8eab6cceb524243" + integrity sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw== -"@parcel/watcher-win32-ia32@2.5.0": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.0.tgz#778c39b56da33e045ba21c678c31a9f9d7c6b220" - integrity sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA== +"@parcel/watcher-win32-ia32@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz#2d0f94fa59a873cdc584bf7f6b1dc628ddf976e6" + integrity sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ== -"@parcel/watcher-win32-x64@2.5.0": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.0.tgz#33873876d0bbc588aacce38e90d1d7480ce81cb7" - integrity sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw== +"@parcel/watcher-win32-x64@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz#ae52693259664ba6f2228fa61d7ee44b64ea0947" + integrity sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA== "@parcel/watcher@^2.4.1": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.5.0.tgz#5c88818b12b8de4307a9d3e6dc3e28eba0dfbd10" - integrity sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ== + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.5.1.tgz#342507a9cfaaf172479a882309def1e991fb1200" + integrity sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg== dependencies: detect-libc "^1.0.3" is-glob "^4.0.3" micromatch "^4.0.5" node-addon-api "^7.0.0" optionalDependencies: - "@parcel/watcher-android-arm64" "2.5.0" - "@parcel/watcher-darwin-arm64" "2.5.0" - "@parcel/watcher-darwin-x64" "2.5.0" - "@parcel/watcher-freebsd-x64" "2.5.0" - "@parcel/watcher-linux-arm-glibc" "2.5.0" - "@parcel/watcher-linux-arm-musl" "2.5.0" - "@parcel/watcher-linux-arm64-glibc" "2.5.0" - "@parcel/watcher-linux-arm64-musl" "2.5.0" - "@parcel/watcher-linux-x64-glibc" "2.5.0" - "@parcel/watcher-linux-x64-musl" "2.5.0" - "@parcel/watcher-win32-arm64" "2.5.0" - "@parcel/watcher-win32-ia32" "2.5.0" - "@parcel/watcher-win32-x64" "2.5.0" + "@parcel/watcher-android-arm64" "2.5.1" + "@parcel/watcher-darwin-arm64" "2.5.1" + "@parcel/watcher-darwin-x64" "2.5.1" + "@parcel/watcher-freebsd-x64" "2.5.1" + "@parcel/watcher-linux-arm-glibc" "2.5.1" + "@parcel/watcher-linux-arm-musl" "2.5.1" + "@parcel/watcher-linux-arm64-glibc" "2.5.1" + "@parcel/watcher-linux-arm64-musl" "2.5.1" + "@parcel/watcher-linux-x64-glibc" "2.5.1" + "@parcel/watcher-linux-x64-musl" "2.5.1" + "@parcel/watcher-win32-arm64" "2.5.1" + "@parcel/watcher-win32-ia32" "2.5.1" + "@parcel/watcher-win32-x64" "2.5.1" "@playwright/test@^1.46.0": - version "1.49.1" - resolved "https://registry.yarnpkg.com/@playwright/test/-/test-1.49.1.tgz#55fa360658b3187bfb6371e2f8a64f50ef80c827" - integrity sha512-Ky+BVzPz8pL6PQxHqNRW1k3mIyv933LML7HktS8uik0bUXNCdPhoS/kLihiO1tMf/egaJb4IutXd7UywvXEW+g== + version "1.50.1" + resolved "https://registry.yarnpkg.com/@playwright/test/-/test-1.50.1.tgz#027d00ca77ec79688764eb765cfe9a688807bf0b" + integrity sha512-Jii3aBg+CEDpgnuDxEp/h7BimHcUTDlpEtce89xEumlJ5ef2hqepZ+PWp1DDpYC/VO9fmWVI1IlEaoI5fK9FXQ== dependencies: - playwright "1.49.1" + playwright "1.50.1" "@polka/url@^1.0.0-next.24": version "1.0.0-next.28" @@ -744,100 +744,100 @@ estree-walker "^2.0.2" picomatch "^2.3.1" -"@rollup/rollup-android-arm-eabi@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.31.0.tgz#d4dd60da0075a6ce9a6c76d71b8204f3e1822285" - integrity sha512-9NrR4033uCbUBRgvLcBrJofa2KY9DzxL2UKZ1/4xA/mnTNyhZCWBuD8X3tPm1n4KxcgaraOYgrFKSgwjASfmlA== +"@rollup/rollup-android-arm-eabi@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.8.tgz#731df27dfdb77189547bcef96ada7bf166bbb2fb" + integrity sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw== -"@rollup/rollup-android-arm64@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.31.0.tgz#25c4d33259a7a2ccd2f52a5ffcc0bb3ab3f0729d" - integrity sha512-iBbODqT86YBFHajxxF8ebj2hwKm1k8PTBQSojSt3d1FFt1gN+xf4CowE47iN0vOSdnd+5ierMHBbu/rHc7nq5g== +"@rollup/rollup-android-arm64@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.8.tgz#4bea6db78e1f6927405df7fe0faf2f5095e01343" + integrity sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q== -"@rollup/rollup-darwin-arm64@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.31.0.tgz#d137dff254b19163a6b52ac083a71cd055dae844" - integrity sha512-WHIZfXgVBX30SWuTMhlHPXTyN20AXrLH4TEeH/D0Bolvx9PjgZnn4H677PlSGvU6MKNsjCQJYczkpvBbrBnG6g== +"@rollup/rollup-darwin-arm64@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.8.tgz#a7aab77d44be3c44a20f946e10160f84e5450e7f" + integrity sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q== -"@rollup/rollup-darwin-x64@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.31.0.tgz#58ff20b5dacb797d3adca19f02a21c532f9d55bf" - integrity sha512-hrWL7uQacTEF8gdrQAqcDy9xllQ0w0zuL1wk1HV8wKGSGbKPVjVUv/DEwT2+Asabf8Dh/As+IvfdU+H8hhzrQQ== +"@rollup/rollup-darwin-x64@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.8.tgz#c572c024b57ee8ddd1b0851703ace9eb6cc0dd82" + integrity sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw== -"@rollup/rollup-freebsd-arm64@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.31.0.tgz#96ce1a241c591ec3e068f4af765d94eddb24e60c" - integrity sha512-S2oCsZ4hJviG1QjPY1h6sVJLBI6ekBeAEssYKad1soRFv3SocsQCzX6cwnk6fID6UQQACTjeIMB+hyYrFacRew== +"@rollup/rollup-freebsd-arm64@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.8.tgz#cf74f8113b5a83098a5c026c165742277cbfb88b" + integrity sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA== -"@rollup/rollup-freebsd-x64@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.31.0.tgz#e59e7ede505be41f0b4311b0b943f8eb44938467" - integrity sha512-pCANqpynRS4Jirn4IKZH4tnm2+2CqCNLKD7gAdEjzdLGbH1iO0zouHz4mxqg0uEMpO030ejJ0aA6e1PJo2xrPA== +"@rollup/rollup-freebsd-x64@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.8.tgz#39561f3a2f201a4ad6a01425b1ff5928154ecd7c" + integrity sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q== -"@rollup/rollup-linux-arm-gnueabihf@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.31.0.tgz#e455ca6e4ff35bd46d62201c153352e717000a7b" - integrity sha512-0O8ViX+QcBd3ZmGlcFTnYXZKGbFu09EhgD27tgTdGnkcYXLat4KIsBBQeKLR2xZDCXdIBAlWLkiXE1+rJpCxFw== +"@rollup/rollup-linux-arm-gnueabihf@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.8.tgz#980d6061e373bfdaeb67925c46d2f8f9b3de537f" + integrity sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g== -"@rollup/rollup-linux-arm-musleabihf@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.31.0.tgz#bc1a93d807d19e70b1e343a5bfea43723bcd6327" - integrity sha512-w5IzG0wTVv7B0/SwDnMYmbr2uERQp999q8FMkKG1I+j8hpPX2BYFjWe69xbhbP6J9h2gId/7ogesl9hwblFwwg== +"@rollup/rollup-linux-arm-musleabihf@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.8.tgz#f91a90f30dc00d5a64ac2d9bbedc829cd3cfaa78" + integrity sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA== -"@rollup/rollup-linux-arm64-gnu@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.31.0.tgz#f38bf843f1dc3d5de680caf31084008846e3efae" - integrity sha512-JyFFshbN5xwy6fulZ8B/8qOqENRmDdEkcIMF0Zz+RsfamEW+Zabl5jAb0IozP/8UKnJ7g2FtZZPEUIAlUSX8cA== +"@rollup/rollup-linux-arm64-gnu@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.8.tgz#fac700fa5c38bc13a0d5d34463133093da4c92a0" + integrity sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A== -"@rollup/rollup-linux-arm64-musl@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.31.0.tgz#b3987a96c18b7287129cf735be2dbf83e94d9d05" - integrity sha512-kpQXQ0UPFeMPmPYksiBL9WS/BDiQEjRGMfklVIsA0Sng347H8W2iexch+IEwaR7OVSKtr2ZFxggt11zVIlZ25g== +"@rollup/rollup-linux-arm64-musl@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.8.tgz#f50ecccf8c78841ff6df1706bc4782d7f62bf9c3" + integrity sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q== -"@rollup/rollup-linux-loongarch64-gnu@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.31.0.tgz#0f0324044e71c4f02e9f49e7ec4e347b655b34ee" - integrity sha512-pMlxLjt60iQTzt9iBb3jZphFIl55a70wexvo8p+vVFK+7ifTRookdoXX3bOsRdmfD+OKnMozKO6XM4zR0sHRrQ== +"@rollup/rollup-linux-loongarch64-gnu@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.8.tgz#5869dc0b28242da6553e2b52af41374f4038cd6e" + integrity sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ== -"@rollup/rollup-linux-powerpc64le-gnu@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.31.0.tgz#809479f27f1fd5b4eecd2aa732132ad952d454ba" - integrity sha512-D7TXT7I/uKEuWiRkEFbed1UUYZwcJDU4vZQdPTcepK7ecPhzKOYk4Er2YR4uHKme4qDeIh6N3XrLfpuM7vzRWQ== +"@rollup/rollup-linux-powerpc64le-gnu@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.8.tgz#5cdd9f851ce1bea33d6844a69f9574de335f20b1" + integrity sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw== -"@rollup/rollup-linux-riscv64-gnu@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.31.0.tgz#7bc75c4f22db04d3c972f83431739cfa41c6a36e" - integrity sha512-wal2Tc8O5lMBtoePLBYRKj2CImUCJ4UNGJlLwspx7QApYny7K1cUYlzQ/4IGQBLmm+y0RS7dwc3TDO/pmcneTw== +"@rollup/rollup-linux-riscv64-gnu@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.8.tgz#ef5dc37f4388f5253f0def43e1440ec012af204d" + integrity sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw== -"@rollup/rollup-linux-s390x-gnu@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.31.0.tgz#cfe8052345c55864d83ae343362cf1912480170e" - integrity sha512-O1o5EUI0+RRMkK9wiTVpk2tyzXdXefHtRTIjBbmFREmNMy7pFeYXCFGbhKFwISA3UOExlo5GGUuuj3oMKdK6JQ== +"@rollup/rollup-linux-s390x-gnu@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.8.tgz#7dbc3ccbcbcfb3e65be74538dfb6e8dd16178fde" + integrity sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA== -"@rollup/rollup-linux-x64-gnu@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.31.0.tgz#c6b048f1e25f3fea5b4bd246232f4d07a159c5a0" - integrity sha512-zSoHl356vKnNxwOWnLd60ixHNPRBglxpv2g7q0Cd3Pmr561gf0HiAcUBRL3S1vPqRC17Zo2CX/9cPkqTIiai1g== +"@rollup/rollup-linux-x64-gnu@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.8.tgz#5783fc0adcab7dc069692056e8ca8d83709855ce" + integrity sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA== -"@rollup/rollup-linux-x64-musl@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.31.0.tgz#615273ac52d1a201f4de191cbd3389016a9d7d80" - integrity sha512-ypB/HMtcSGhKUQNiFwqgdclWNRrAYDH8iMYH4etw/ZlGwiTVxBz2tDrGRrPlfZu6QjXwtd+C3Zib5pFqID97ZA== +"@rollup/rollup-linux-x64-musl@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.8.tgz#00b6c29b298197a384e3c659910b47943003a678" + integrity sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ== -"@rollup/rollup-win32-arm64-msvc@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.31.0.tgz#32ed85810c1b831c648eca999d68f01255b30691" - integrity sha512-JuhN2xdI/m8Hr+aVO3vspO7OQfUFO6bKLIRTAy0U15vmWjnZDLrEgCZ2s6+scAYaQVpYSh9tZtRijApw9IXyMw== +"@rollup/rollup-win32-arm64-msvc@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.8.tgz#cbfee01f1fe73791c35191a05397838520ca3cdd" + integrity sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ== -"@rollup/rollup-win32-ia32-msvc@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.31.0.tgz#d47effada68bcbfdccd30c4a788d42e4542ff4d3" - integrity sha512-U1xZZXYkvdf5MIWmftU8wrM5PPXzyaY1nGCI4KI4BFfoZxHamsIe+BtnPLIvvPykvQWlVbqUXdLa4aJUuilwLQ== +"@rollup/rollup-win32-ia32-msvc@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.8.tgz#95cdbdff48fe6c948abcf6a1d500b2bd5ce33f62" + integrity sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w== -"@rollup/rollup-win32-x64-msvc@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.31.0.tgz#7a2d89a82cf0388d60304964217dd7beac6de645" - integrity sha512-ul8rnCsUumNln5YWwz0ted2ZHFhzhRRnkpBZ+YRuHoRAlUji9KChpOUOndY7uykrPEPXVbHLlsdo6v5yXo/TXw== +"@rollup/rollup-win32-x64-msvc@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.8.tgz#4cdb2cfae69cdb7b1a3cc58778e820408075e928" + integrity sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g== "@scure/base@1.1.1": version "1.1.1" @@ -879,9 +879,9 @@ integrity sha512-YaDrquRpZwfcXbnlDsSrBQNCChVOT9MGuSg+dMAyfsAa1SmiAhrA5jUYUiIMC59G92kIbY/AaQOWcBdq+lh+zg== "@sveltejs/kit@^2.0.0": - version "2.16.0" - resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-2.16.0.tgz#3961182fdb69eff96a912eb16c1359cf14d37840" - integrity sha512-S9i1ZWKqluzoaJ6riYnEdbe+xJluMTMkhABouBa66GaWcAyCjW/jAc0NdJQJ/DXyK1CnP5quBW25e99MNyvLxA== + version "2.17.2" + resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-2.17.2.tgz#87c6a1efe42a3f06dd0558e49b79988fec4338bd" + integrity sha512-Vypk02baf7qd3SOB1uUwUC/3Oka+srPo2J0a8YN3EfJypRshDkNx9HzNKjSmhOnGWwT+SSO06+N0mAb8iVTmTQ== dependencies: "@types/cookie" "^0.6.0" cookie "^0.6.0" @@ -950,9 +950,9 @@ redent "^3.0.0" "@testing-library/svelte@^5.2.1": - version "5.2.6" - resolved "https://registry.yarnpkg.com/@testing-library/svelte/-/svelte-5.2.6.tgz#fdbb1a8950d8b57c75602e4fda8b4627e7c37eac" - integrity sha512-1Y8cEg/BtV4J6g9irkY0ksz+ueDFYLiikjTLiqvQPkOUeDzR4gg2zECBf8yrOrCy3e2TAOYMcaysFa0bQMyk1w== + version "5.2.7" + resolved "https://registry.yarnpkg.com/@testing-library/svelte/-/svelte-5.2.7.tgz#c759401cd186ad85ab30a981f8c82de3997b994f" + integrity sha512-aGhUaFmEXEVost4QOsbHUUbHLwi7ZZRRxAHFDO2Cmr0BZD3/3+XvaYEPq70Rdw0NRNjdqZHdARBEcrCOkPuAqw== dependencies: "@testing-library/dom" "^10.0.0" @@ -986,143 +986,143 @@ resolved "https://registry.yarnpkg.com/@types/swagger-ui/-/swagger-ui-3.52.4.tgz#96c4886e8f86ae392f8d940bf7029cf490a51c72" integrity sha512-7NV7q8BfupqdQxr26OkM0g0YEPB9uXnKGzXadgcearvI9MoCHt3F72lPTX3fZZIlrr21DC0IK26wcDMZ37oFDA== -"@typescript-eslint/eslint-plugin@8.20.0", "@typescript-eslint/eslint-plugin@^8.7.0": - version "8.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.20.0.tgz#b47a398e0e551cb008c60190b804394e6852c863" - integrity sha512-naduuphVw5StFfqp4Gq4WhIBE2gN1GEmMUExpJYknZJdRnc+2gDzB8Z3+5+/Kv33hPQRDGzQO/0opHE72lZZ6A== +"@typescript-eslint/eslint-plugin@8.24.1", "@typescript-eslint/eslint-plugin@^8.7.0": + version "8.24.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.24.1.tgz#d104c2a6212304c649105b18af2c110b4a1dd4ae" + integrity sha512-ll1StnKtBigWIGqvYDVuDmXJHVH4zLVot1yQ4fJtLpL7qacwkxJc1T0bptqw+miBQ/QfUbhl1TcQ4accW5KUyA== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.20.0" - "@typescript-eslint/type-utils" "8.20.0" - "@typescript-eslint/utils" "8.20.0" - "@typescript-eslint/visitor-keys" "8.20.0" + "@typescript-eslint/scope-manager" "8.24.1" + "@typescript-eslint/type-utils" "8.24.1" + "@typescript-eslint/utils" "8.24.1" + "@typescript-eslint/visitor-keys" "8.24.1" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" - ts-api-utils "^2.0.0" + ts-api-utils "^2.0.1" -"@typescript-eslint/parser@8.20.0", "@typescript-eslint/parser@^8.7.0": - version "8.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.20.0.tgz#5caf2230a37094dc0e671cf836b96dd39b587ced" - integrity sha512-gKXG7A5HMyjDIedBi6bUrDcun8GIjnI8qOwVLiY3rx6T/sHP/19XLJOnIq/FgQvWLHja5JN/LSE7eklNBr612g== +"@typescript-eslint/parser@8.24.1", "@typescript-eslint/parser@^8.7.0": + version "8.24.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.24.1.tgz#67965c2d2ddd7eadb2f094c395695db8334ef9a2" + integrity sha512-Tqoa05bu+t5s8CTZFaGpCH2ub3QeT9YDkXbPd3uQ4SfsLoh1/vv2GEYAioPoxCWJJNsenXlC88tRjwoHNts1oQ== dependencies: - "@typescript-eslint/scope-manager" "8.20.0" - "@typescript-eslint/types" "8.20.0" - "@typescript-eslint/typescript-estree" "8.20.0" - "@typescript-eslint/visitor-keys" "8.20.0" + "@typescript-eslint/scope-manager" "8.24.1" + "@typescript-eslint/types" "8.24.1" + "@typescript-eslint/typescript-estree" "8.24.1" + "@typescript-eslint/visitor-keys" "8.24.1" debug "^4.3.4" -"@typescript-eslint/scope-manager@8.20.0": - version "8.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.20.0.tgz#aaf4198b509fb87a6527c02cfbfaf8901179e75c" - integrity sha512-J7+VkpeGzhOt3FeG1+SzhiMj9NzGD/M6KoGn9f4dbz3YzK9hvbhVTmLj/HiTp9DazIzJ8B4XcM80LrR9Dm1rJw== +"@typescript-eslint/scope-manager@8.24.1": + version "8.24.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.24.1.tgz#1e1e76ec4560aa85077ab36deb9b2bead4ae124e" + integrity sha512-OdQr6BNBzwRjNEXMQyaGyZzgg7wzjYKfX2ZBV3E04hUCBDv3GQCHiz9RpqdUIiVrMgJGkXm3tcEh4vFSHreS2Q== dependencies: - "@typescript-eslint/types" "8.20.0" - "@typescript-eslint/visitor-keys" "8.20.0" + "@typescript-eslint/types" "8.24.1" + "@typescript-eslint/visitor-keys" "8.24.1" -"@typescript-eslint/type-utils@8.20.0": - version "8.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.20.0.tgz#958171d86b213a3f32b5b16b91db267968a4ef19" - integrity sha512-bPC+j71GGvA7rVNAHAtOjbVXbLN5PkwqMvy1cwGeaxUoRQXVuKCebRoLzm+IPW/NtFFpstn1ummSIasD5t60GA== +"@typescript-eslint/type-utils@8.24.1": + version "8.24.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.24.1.tgz#99113e1df63d1571309d87eef68967344c78dd65" + integrity sha512-/Do9fmNgCsQ+K4rCz0STI7lYB4phTtEXqqCAs3gZW0pnK7lWNkvWd5iW545GSmApm4AzmQXmSqXPO565B4WVrw== dependencies: - "@typescript-eslint/typescript-estree" "8.20.0" - "@typescript-eslint/utils" "8.20.0" + "@typescript-eslint/typescript-estree" "8.24.1" + "@typescript-eslint/utils" "8.24.1" debug "^4.3.4" - ts-api-utils "^2.0.0" + ts-api-utils "^2.0.1" -"@typescript-eslint/types@8.20.0": - version "8.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.20.0.tgz#487de5314b5415dee075e95568b87a75a3e730cf" - integrity sha512-cqaMiY72CkP+2xZRrFt3ExRBu0WmVitN/rYPZErA80mHjHx/Svgp8yfbzkJmDoQ/whcytOPO9/IZXnOc+wigRA== +"@typescript-eslint/types@8.24.1": + version "8.24.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.24.1.tgz#8777a024f3afc4ace5e48f9a804309c6dd38f95a" + integrity sha512-9kqJ+2DkUXiuhoiYIUvIYjGcwle8pcPpdlfkemGvTObzgmYfJ5d0Qm6jwb4NBXP9W1I5tss0VIAnWFumz3mC5A== -"@typescript-eslint/typescript-estree@8.20.0": - version "8.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.20.0.tgz#658cea07b7e5981f19bce5cf1662cb70ad59f26b" - integrity sha512-Y7ncuy78bJqHI35NwzWol8E0X7XkRVS4K4P4TCyzWkOJih5NDvtoRDW4Ba9YJJoB2igm9yXDdYI/+fkiiAxPzA== +"@typescript-eslint/typescript-estree@8.24.1": + version "8.24.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.24.1.tgz#3bb479401f8bd471b3c6dd3db89e7256977c54db" + integrity sha512-UPyy4MJ/0RE648DSKQe9g0VDSehPINiejjA6ElqnFaFIhI6ZEiZAkUI0D5MCk0bQcTf/LVqZStvQ6K4lPn/BRg== dependencies: - "@typescript-eslint/types" "8.20.0" - "@typescript-eslint/visitor-keys" "8.20.0" + "@typescript-eslint/types" "8.24.1" + "@typescript-eslint/visitor-keys" "8.24.1" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" minimatch "^9.0.4" semver "^7.6.0" - ts-api-utils "^2.0.0" + ts-api-utils "^2.0.1" -"@typescript-eslint/utils@8.20.0": - version "8.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.20.0.tgz#53127ecd314b3b08836b4498b71cdb86f4ef3aa2" - integrity sha512-dq70RUw6UK9ei7vxc4KQtBRk7qkHZv447OUZ6RPQMQl71I3NZxQJX/f32Smr+iqWrB02pHKn2yAdHBb0KNrRMA== +"@typescript-eslint/utils@8.24.1": + version "8.24.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.24.1.tgz#08d14eac33cfb3456feeee5a275b8ad3349e52ed" + integrity sha512-OOcg3PMMQx9EXspId5iktsI3eMaXVwlhC8BvNnX6B5w9a4dVgpkQZuU8Hy67TolKcl+iFWq0XX+jbDGN4xWxjQ== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.20.0" - "@typescript-eslint/types" "8.20.0" - "@typescript-eslint/typescript-estree" "8.20.0" + "@typescript-eslint/scope-manager" "8.24.1" + "@typescript-eslint/types" "8.24.1" + "@typescript-eslint/typescript-estree" "8.24.1" -"@typescript-eslint/visitor-keys@8.20.0": - version "8.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.20.0.tgz#2df6e24bc69084b81f06aaaa48d198b10d382bed" - integrity sha512-v/BpkeeYAsPkKCkR8BDwcno0llhzWVqPOamQrAEMdpZav2Y9OVjd9dwJyBLJWwf335B5DmlifECIkZRJCaGaHA== +"@typescript-eslint/visitor-keys@8.24.1": + version "8.24.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.24.1.tgz#8bdfe47a89195344b34eb21ef61251562148202b" + integrity sha512-EwVHlp5l+2vp8CoqJm9KikPZgi3gbdZAtabKT9KPShGeOcJhsv4Zdo3oc8T8I0uKEmYoU4ItyxbptjF08enaxg== dependencies: - "@typescript-eslint/types" "8.20.0" + "@typescript-eslint/types" "8.24.1" eslint-visitor-keys "^4.2.0" -"@vitest/expect@2.1.8": - version "2.1.8" - resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-2.1.8.tgz#13fad0e8d5a0bf0feb675dcf1d1f1a36a1773bc1" - integrity sha512-8ytZ/fFHq2g4PJVAtDX57mayemKgDR6X3Oa2Foro+EygiOJHUXhCqBAAKQYYajZpFoIfvBCF1j6R6IYRSIUFuw== +"@vitest/expect@2.1.9": + version "2.1.9" + resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-2.1.9.tgz#b566ea20d58ea6578d8dc37040d6c1a47ebe5ff8" + integrity sha512-UJCIkTBenHeKT1TTlKMJWy1laZewsRIzYighyYiJKZreqtdxSos/S1t+ktRMQWu2CKqaarrkeszJx1cgC5tGZw== dependencies: - "@vitest/spy" "2.1.8" - "@vitest/utils" "2.1.8" + "@vitest/spy" "2.1.9" + "@vitest/utils" "2.1.9" chai "^5.1.2" tinyrainbow "^1.2.0" -"@vitest/mocker@2.1.8": - version "2.1.8" - resolved "https://registry.yarnpkg.com/@vitest/mocker/-/mocker-2.1.8.tgz#51dec42ac244e949d20009249e033e274e323f73" - integrity sha512-7guJ/47I6uqfttp33mgo6ga5Gr1VnL58rcqYKyShoRK9ebu8T5Rs6HN3s1NABiBeVTdWNrwUMcHH54uXZBN4zA== +"@vitest/mocker@2.1.9": + version "2.1.9" + resolved "https://registry.yarnpkg.com/@vitest/mocker/-/mocker-2.1.9.tgz#36243b27351ca8f4d0bbc4ef91594ffd2dc25ef5" + integrity sha512-tVL6uJgoUdi6icpxmdrn5YNo3g3Dxv+IHJBr0GXHaEdTcw3F+cPKnsXFhli6nO+f/6SDKPHEK1UN+k+TQv0Ehg== dependencies: - "@vitest/spy" "2.1.8" + "@vitest/spy" "2.1.9" estree-walker "^3.0.3" magic-string "^0.30.12" -"@vitest/pretty-format@2.1.8", "@vitest/pretty-format@^2.1.8": - version "2.1.8" - resolved "https://registry.yarnpkg.com/@vitest/pretty-format/-/pretty-format-2.1.8.tgz#88f47726e5d0cf4ba873d50c135b02e4395e2bca" - integrity sha512-9HiSZ9zpqNLKlbIDRWOnAWqgcA7xu+8YxXSekhr0Ykab7PAYFkhkwoqVArPOtJhPmYeE2YHgKZlj3CP36z2AJQ== +"@vitest/pretty-format@2.1.9", "@vitest/pretty-format@^2.1.9": + version "2.1.9" + resolved "https://registry.yarnpkg.com/@vitest/pretty-format/-/pretty-format-2.1.9.tgz#434ff2f7611689f9ce70cd7d567eceb883653fdf" + integrity sha512-KhRIdGV2U9HOUzxfiHmY8IFHTdqtOhIzCpd8WRdJiE7D/HUcZVD0EgQCVjm+Q9gkUXWgBvMmTtZgIG48wq7sOQ== dependencies: tinyrainbow "^1.2.0" -"@vitest/runner@2.1.8": - version "2.1.8" - resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-2.1.8.tgz#b0e2dd29ca49c25e9323ea2a45a5125d8729759f" - integrity sha512-17ub8vQstRnRlIU5k50bG+QOMLHRhYPAna5tw8tYbj+jzjcspnwnwtPtiOlkuKC4+ixDPTuLZiqiWWQ2PSXHVg== +"@vitest/runner@2.1.9": + version "2.1.9" + resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-2.1.9.tgz#cc18148d2d797fd1fd5908d1f1851d01459be2f6" + integrity sha512-ZXSSqTFIrzduD63btIfEyOmNcBmQvgOVsPNPe0jYtESiXkhd8u2erDLnMxmGrDCwHCCHE7hxwRDCT3pt0esT4g== dependencies: - "@vitest/utils" "2.1.8" + "@vitest/utils" "2.1.9" pathe "^1.1.2" -"@vitest/snapshot@2.1.8": - version "2.1.8" - resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-2.1.8.tgz#d5dc204f4b95dc8b5e468b455dfc99000047d2de" - integrity sha512-20T7xRFbmnkfcmgVEz+z3AU/3b0cEzZOt/zmnvZEctg64/QZbSDJEVm9fLnnlSi74KibmRsO9/Qabi+t0vCRPg== +"@vitest/snapshot@2.1.9": + version "2.1.9" + resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-2.1.9.tgz#24260b93f798afb102e2dcbd7e61c6dfa118df91" + integrity sha512-oBO82rEjsxLNJincVhLhaxxZdEtV0EFHMK5Kmx5sJ6H9L183dHECjiefOAdnqpIgT5eZwT04PoggUnW88vOBNQ== dependencies: - "@vitest/pretty-format" "2.1.8" + "@vitest/pretty-format" "2.1.9" magic-string "^0.30.12" pathe "^1.1.2" -"@vitest/spy@2.1.8": - version "2.1.8" - resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-2.1.8.tgz#bc41af3e1e6a41ae3b67e51f09724136b88fa447" - integrity sha512-5swjf2q95gXeYPevtW0BLk6H8+bPlMb4Vw/9Em4hFxDcaOxS+e0LOX4yqNxoHzMR2akEB2xfpnWUzkZokmgWDg== +"@vitest/spy@2.1.9": + version "2.1.9" + resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-2.1.9.tgz#cb28538c5039d09818b8bfa8edb4043c94727c60" + integrity sha512-E1B35FwzXXTs9FHNK6bDszs7mtydNi5MIfUWpceJ8Xbfb1gBMscAnwLbEu+B44ed6W3XjL9/ehLPHR1fkf1KLQ== dependencies: tinyspy "^3.0.2" "@vitest/ui@^2.0.5": - version "2.1.8" - resolved "https://registry.yarnpkg.com/@vitest/ui/-/ui-2.1.8.tgz#4a4d88e20bcced4c8710826cd4e2795f5ec1f0a1" - integrity sha512-5zPJ1fs0ixSVSs5+5V2XJjXLmNzjugHRyV11RqxYVR+oMcogZ9qTuSfKW+OcTV0JeFNznI83BNylzH6SSNJ1+w== + version "2.1.9" + resolved "https://registry.yarnpkg.com/@vitest/ui/-/ui-2.1.9.tgz#9e876cf3caf492dd6fddbd7f87b2d6bf7186a7a9" + integrity sha512-izzd2zmnk8Nl5ECYkW27328RbQ1nKvkm6Bb5DAaz1Gk59EbLkiCMa6OLT0NoaAYTjOFS6N+SMYW1nh4/9ljPiw== dependencies: - "@vitest/utils" "2.1.8" + "@vitest/utils" "2.1.9" fflate "^0.8.2" flatted "^3.3.1" pathe "^1.1.2" @@ -1130,12 +1130,12 @@ tinyglobby "^0.2.10" tinyrainbow "^1.2.0" -"@vitest/utils@2.1.8": - version "2.1.8" - resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-2.1.8.tgz#f8ef85525f3362ebd37fd25d268745108d6ae388" - integrity sha512-dwSoui6djdwbfFmIgbIjX2ZhIoG7Ex/+xpxyiEgIGzjliY8xGkcpITKTlp6B4MgtGkF2ilvm97cPM96XZaAgcA== +"@vitest/utils@2.1.9": + version "2.1.9" + resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-2.1.9.tgz#4f2486de8a54acf7ecbf2c5c24ad7994a680a6c1" + integrity sha512-v0psaMSkNJ3A2NMrUEHFRzJtDPFn+/VWZ5WxImB21T9fjucJRmS7xCS3ppEnARb9y11OAzaD+P2Ps+b+BGX5iQ== dependencies: - "@vitest/pretty-format" "2.1.8" + "@vitest/pretty-format" "2.1.9" loupe "^3.1.2" tinyrainbow "^1.2.0" @@ -1289,9 +1289,9 @@ callsites@^3.0.0: integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== chai@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/chai/-/chai-5.1.2.tgz#3afbc340b994ae3610ca519a6c70ace77ad4378d" - integrity sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw== + version "5.2.0" + resolved "https://registry.yarnpkg.com/chai/-/chai-5.2.0.tgz#1358ee106763624114addf84ab02697e411c9c05" + integrity sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw== dependencies: assertion-error "^2.0.1" check-error "^2.1.1" @@ -1573,9 +1573,9 @@ es-errors@^1.3.0: integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== es-module-lexer@^1.5.4: - version "1.5.4" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.5.4.tgz#a8efec3a3da991e60efa6b633a7cad6ab8d26b78" - integrity sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw== + version "1.6.0" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.6.0.tgz#da49f587fd9e68ee2404fe4e256c0c7d3a81be21" + integrity sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ== es5-ext@>=0.10.64, es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.62, es5-ext@^0.10.64, es5-ext@~0.10.14, es5-ext@~0.10.2: version "0.10.64" @@ -1738,16 +1738,16 @@ eslint-visitor-keys@^4.2.0: integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw== eslint@^9.11.0: - version "9.18.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.18.0.tgz#c95b24de1183e865de19f607fda6518b54827850" - integrity sha512-+waTfRWQlSbpt3KWE+CjrPPYnbq9kfZIYUqapc0uBXyjTp8aYXZDsUH16m39Ryq3NjAVP4tjuF7KaukeqoCoaA== + version "9.20.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.20.1.tgz#923924c078f5226832449bac86662dd7e53c91d6" + integrity sha512-m1mM33o6dBUjxl2qb6wv6nGNwCAsns1eKtaQ4l/NPHeTvhiUPbtdfMyktxN4B3fgHIgsYh1VT3V9txblpQHq+g== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.12.1" "@eslint/config-array" "^0.19.0" - "@eslint/core" "^0.10.0" + "@eslint/core" "^0.11.0" "@eslint/eslintrc" "^3.2.0" - "@eslint/js" "9.18.0" + "@eslint/js" "9.20.0" "@eslint/plugin-kit" "^0.2.5" "@humanfs/node" "^0.16.6" "@humanwhocodes/module-importer" "^1.0.1" @@ -1893,17 +1893,22 @@ fast-levenshtein@^2.0.6: integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fastq@^1.6.0: - version "1.18.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.18.0.tgz#d631d7e25faffea81887fe5ea8c9010e1b36fee0" - integrity sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw== + version "1.19.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.19.0.tgz#a82c6b7c2bb4e44766d865f07997785fecfdcb89" + integrity sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA== dependencies: reusify "^1.0.4" -fdir@^6.2.0, fdir@^6.4.2: +fdir@^6.2.0: version "6.4.2" resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.4.2.tgz#ddaa7ce1831b161bc3657bb99cb36e1622702689" integrity sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ== +fdir@^6.4.3: + version "6.4.3" + resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.4.3.tgz#011cdacf837eca9b811c89dbb902df714273db72" + integrity sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw== + fflate@^0.8.2: version "0.8.2" resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.8.2.tgz#fc8631f5347812ad6028bbe4a2308b2792aa1dea" @@ -1947,9 +1952,9 @@ flat-cache@^4.0.0: keyv "^4.5.4" flatted@^3.2.9, flatted@^3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.2.tgz#adba1448a9841bec72b42c532ea23dbbedef1a27" - integrity sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA== + version "3.3.3" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.3.tgz#67c8fad95454a7c7abebf74bb78ee74a44023358" + integrity sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg== form-data@^4.0.0: version "4.0.0" @@ -2134,9 +2139,9 @@ immutable@^5.0.2: integrity sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw== import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + version "3.3.1" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf" + integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" @@ -2383,9 +2388,9 @@ lodash@^4.17.21: integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== loupe@^3.1.0, loupe@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/loupe/-/loupe-3.1.2.tgz#c86e0696804a02218f2206124c45d8b15291a240" - integrity sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg== + version "3.1.3" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-3.1.3.tgz#042a8f7986d77f3d0f98ef7990a2b2fef18b0fd2" + integrity sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug== lru-queue@^0.1.0: version "0.1.0" @@ -2406,14 +2411,7 @@ magic-string@^0.30.10, magic-string@^0.30.4: dependencies: "@jridgewell/sourcemap-codec" "^1.5.0" -magic-string@^0.30.12: - version "0.30.15" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.15.tgz#d5474a2c4c5f35f041349edaba8a5cb02733ed3c" - integrity sha512-zXeaYRgZ6ldS1RJJUrMrYgNJ4fdwnyI6tVqoiIhyCyv5IVTK9BU8Ic2l253GGETQHxI4HNUwhJ3fjDhKqEoaAw== - dependencies: - "@jridgewell/sourcemap-codec" "^1.5.0" - -magic-string@^0.30.5: +magic-string@^0.30.12, magic-string@^0.30.5: version "0.30.17" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.17.tgz#450a449673d2460e5bbcfba9a61916a1714c7453" integrity sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA== @@ -2494,9 +2492,9 @@ mri@^1.1.0: integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== mrmime@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-2.0.0.tgz#151082a6e06e59a9a39b46b3e14d5cfe92b3abb4" - integrity sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-2.0.1.tgz#bc3e87f7987853a54c9850eeb1f1078cd44adddc" + integrity sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ== ms@^2.1.3: version "2.1.3" @@ -2696,17 +2694,17 @@ picomatch@^4.0.2: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.2.tgz#77c742931e8f3b8820946c76cd0c1f13730d1dab" integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== -playwright-core@1.49.1: - version "1.49.1" - resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.49.1.tgz#32c62f046e950f586ff9e35ed490a424f2248015" - integrity sha512-BzmpVcs4kE2CH15rWfzpjzVGhWERJfmnXmniSyKeRZUs9Ws65m+RGIi7mjJK/euCegfn3i7jvqWeWyHe9y3Vgg== +playwright-core@1.50.1: + version "1.50.1" + resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.50.1.tgz#6a0484f1f1c939168f40f0ab3828c4a1592c4504" + integrity sha512-ra9fsNWayuYumt+NiM069M6OkcRb1FZSK8bgi66AtpFoWkg2+y0bJSNmkFrWhMbEBbVKC/EruAHH3g0zmtwGmQ== -playwright@1.49.1: - version "1.49.1" - resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.49.1.tgz#830266dbca3008022afa7b4783565db9944ded7c" - integrity sha512-VYL8zLoNTBxVOrJBbDuRgDWa3i+mfQgDTrL8Ah9QXZ7ax4Dsj0MSq5bYgytRnDVVe+njoKnfsYkH3HzqVj5UZA== +playwright@1.50.1: + version "1.50.1" + resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.50.1.tgz#2f93216511d65404f676395bfb97b41aa052b180" + integrity sha512-G8rwsOQJ63XG6BbKj2w5rHeavFjy5zynBA9zsJMMtBoe/Uf757oG12NXz6e6OirF7RCrTVAKFXbLmn1RbL7Qaw== dependencies: - playwright-core "1.49.1" + playwright-core "1.50.1" optionalDependencies: fsevents "2.3.2" @@ -2746,9 +2744,9 @@ postcss@^8.4.38, postcss@^8.4.39: source-map-js "^1.2.1" postcss@^8.4.43: - version "8.5.1" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.1.tgz#e2272a1f8a807fafa413218245630b5db10a3214" - integrity sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ== + version "8.5.2" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.2.tgz#e7b99cb9d2ec3e8dd424002e7c16517cb2b846bd" + integrity sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA== dependencies: nanoid "^3.3.8" picocolors "^1.1.1" @@ -2765,9 +2763,9 @@ prettier-plugin-svelte@^3.2.6: integrity sha512-yViK9zqQ+H2qZD1w/bH7W8i+bVfKrD8GIFjkFe4Thl6kCT9SlAsXVNmt3jCvQOCsnOhcvYgsoVlRV/Eu6x5nNw== prettier@^3.3.3: - version "3.4.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.4.2.tgz#a5ce1fb522a588bf2b78ca44c6e6fe5aa5a2b13f" - integrity sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ== + version "3.5.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.5.1.tgz#22fac9d0b18c0b92055ac8fb619ac1c7bef02fb7" + integrity sha512-hPpFQvHwL3Qv5AdRvBFMhnKo4tYxp0ReXiPn2bxkiohEX6mBeBwEpBSQTkD458RaaDKQMYSp4hX4UtfUTA5wDw== pretty-format@^27.0.2: version "27.5.1" @@ -2794,9 +2792,9 @@ react-is@^17.0.1: integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== readdirp@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.1.1.tgz#bd115327129672dc47f87408f05df9bd9ca3ef55" - integrity sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw== + version "4.1.2" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.1.2.tgz#eb85801435fbf2a7ee58f19e0921b068fc69948d" + integrity sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg== redent@^3.0.0: version "3.0.0" @@ -2844,31 +2842,31 @@ rollup-plugin-visualizer@^5.12.0: yargs "^17.5.1" rollup@^4.20.0: - version "4.31.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.31.0.tgz#b84af969a0292cb047dce2c0ec5413a9457597a4" - integrity sha512-9cCE8P4rZLx9+PjoyqHLs31V9a9Vpvfo4qNcs6JCiGWYhw2gijSetFbH6SSy1whnkgcefnUwr8sad7tgqsGvnw== + version "4.34.8" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.34.8.tgz#e859c1a51d899aba9bcf451d4eed1d11fb8e2a6e" + integrity sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ== dependencies: "@types/estree" "1.0.6" optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.31.0" - "@rollup/rollup-android-arm64" "4.31.0" - "@rollup/rollup-darwin-arm64" "4.31.0" - "@rollup/rollup-darwin-x64" "4.31.0" - "@rollup/rollup-freebsd-arm64" "4.31.0" - "@rollup/rollup-freebsd-x64" "4.31.0" - "@rollup/rollup-linux-arm-gnueabihf" "4.31.0" - "@rollup/rollup-linux-arm-musleabihf" "4.31.0" - "@rollup/rollup-linux-arm64-gnu" "4.31.0" - "@rollup/rollup-linux-arm64-musl" "4.31.0" - "@rollup/rollup-linux-loongarch64-gnu" "4.31.0" - "@rollup/rollup-linux-powerpc64le-gnu" "4.31.0" - "@rollup/rollup-linux-riscv64-gnu" "4.31.0" - "@rollup/rollup-linux-s390x-gnu" "4.31.0" - "@rollup/rollup-linux-x64-gnu" "4.31.0" - "@rollup/rollup-linux-x64-musl" "4.31.0" - "@rollup/rollup-win32-arm64-msvc" "4.31.0" - "@rollup/rollup-win32-ia32-msvc" "4.31.0" - "@rollup/rollup-win32-x64-msvc" "4.31.0" + "@rollup/rollup-android-arm-eabi" "4.34.8" + "@rollup/rollup-android-arm64" "4.34.8" + "@rollup/rollup-darwin-arm64" "4.34.8" + "@rollup/rollup-darwin-x64" "4.34.8" + "@rollup/rollup-freebsd-arm64" "4.34.8" + "@rollup/rollup-freebsd-x64" "4.34.8" + "@rollup/rollup-linux-arm-gnueabihf" "4.34.8" + "@rollup/rollup-linux-arm-musleabihf" "4.34.8" + "@rollup/rollup-linux-arm64-gnu" "4.34.8" + "@rollup/rollup-linux-arm64-musl" "4.34.8" + "@rollup/rollup-linux-loongarch64-gnu" "4.34.8" + "@rollup/rollup-linux-powerpc64le-gnu" "4.34.8" + "@rollup/rollup-linux-riscv64-gnu" "4.34.8" + "@rollup/rollup-linux-s390x-gnu" "4.34.8" + "@rollup/rollup-linux-x64-gnu" "4.34.8" + "@rollup/rollup-linux-x64-musl" "4.34.8" + "@rollup/rollup-win32-arm64-msvc" "4.34.8" + "@rollup/rollup-win32-ia32-msvc" "4.34.8" + "@rollup/rollup-win32-x64-msvc" "4.34.8" fsevents "~2.3.2" rrweb-cssom@^0.7.1: @@ -2896,9 +2894,9 @@ sade@^1.7.4, sade@^1.8.1: integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== sass@^1.79.3: - version "1.83.4" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.83.4.tgz#5ccf60f43eb61eeec300b780b8dcb85f16eec6d1" - integrity sha512-B1bozCeNQiOgDcLd33e2Cs2U60wZwjUUXzh900ZyQF5qUasvMdDZYbQ566LJu7cqR+sAHlAfO6RMkaID5s6qpA== + version "1.85.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.85.0.tgz#0127ef697d83144496401553f0a0e87be83df45d" + integrity sha512-3ToiC1xZ1Y8aU7+CkgCI/tqyuPXEmYGJXO7H4uqp0xkLXUqp88rQQ4j1HmP37xSJLbCJPaIiv+cT1y+grssrww== dependencies: chokidar "^4.0.0" immutable "^5.0.2" @@ -2918,11 +2916,16 @@ semver@^7.5.3: resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== -semver@^7.5.4, semver@^7.6.0, semver@^7.6.2, semver@^7.6.3: +semver@^7.5.4, semver@^7.6.2, semver@^7.6.3: version "7.6.3" resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== +semver@^7.6.0: + version "7.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.1.tgz#abd5098d82b18c6c81f6074ff2647fd3e7220c9f" + integrity sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA== + set-cookie-parser@^2.6.0: version "2.7.1" resolved "https://registry.yarnpkg.com/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz#3016f150072202dfbe90fadee053573cc89d2943" @@ -2994,9 +2997,9 @@ simple-swizzle@^0.2.2: is-arrayish "^0.3.1" sirv@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/sirv/-/sirv-3.0.0.tgz#f8d90fc528f65dff04cb597a88609d4e8a4361ce" - integrity sha512-BPwJGUeDaDCHihkORDchNyyTvWFhcusy1XMmhEVTQTwGeybFbp8YEmB+njbPnth1FibULBSBVwCQni25XlCUDg== + version "3.0.1" + resolved "https://registry.yarnpkg.com/sirv/-/sirv-3.0.1.tgz#32a844794655b727f9e2867b777e0060fbe07bf3" + integrity sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A== dependencies: "@polka/url" "^1.0.0-next.24" mrmime "^2.0.0" @@ -3164,16 +3167,16 @@ tinybench@^2.9.0: integrity sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg== tinyexec@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-0.3.1.tgz#0ab0daf93b43e2c211212396bdb836b468c97c98" - integrity sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ== + version "0.3.2" + resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-0.3.2.tgz#941794e657a85e496577995c6eef66f53f42b3d2" + integrity sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA== tinyglobby@^0.2.10: - version "0.2.10" - resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.10.tgz#e712cf2dc9b95a1f5c5bbd159720e15833977a0f" - integrity sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew== + version "0.2.11" + resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.11.tgz#9182cff655a0e272aad850d1a84c5e8e0f700426" + integrity sha512-32TmKeeKUahv0Go8WmQgiEp9Y21NuxjwjqiRC1nrUB51YacfSwuB44xgXD+HdIppmMRgjQNPdrHyA6vIybYZ+g== dependencies: - fdir "^6.4.2" + fdir "^6.4.3" picomatch "^4.0.2" tinypool@^1.0.1: @@ -3236,10 +3239,10 @@ tr46@^5.0.0: dependencies: punycode "^2.3.1" -ts-api-utils@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-2.0.0.tgz#b9d7d5f7ec9f736f4d0f09758b8607979044a900" - integrity sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ== +ts-api-utils@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-2.0.1.tgz#660729385b625b939aaa58054f45c058f33f10cd" + integrity sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w== tslib@^2.4.0, tslib@^2.7.0: version "2.8.1" @@ -3259,13 +3262,13 @@ type@^2.7.2: integrity sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ== typescript-eslint@^8.7.0: - version "8.20.0" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.20.0.tgz#76d4ea6a483fd49830a7e8baccaed10f76d1e57b" - integrity sha512-Kxz2QRFsgbWj6Xcftlw3Dd154b3cEPFqQC+qMZrMypSijPd4UanKKvoKDrJ4o8AIfZFKAF+7sMaEIR8mTElozA== + version "8.24.1" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.24.1.tgz#ce85d791392608a2a9f80c4b2530a214d16a2a47" + integrity sha512-cw3rEdzDqBs70TIcb0Gdzbt6h11BSs2pS0yaq7hDWDBtCCSei1pPSUXE9qUdQ/Wm9NgFg8mKtMt1b8fTHIl1jA== dependencies: - "@typescript-eslint/eslint-plugin" "8.20.0" - "@typescript-eslint/parser" "8.20.0" - "@typescript-eslint/utils" "8.20.0" + "@typescript-eslint/eslint-plugin" "8.24.1" + "@typescript-eslint/parser" "8.24.1" + "@typescript-eslint/utils" "8.24.1" typescript@^5.5.4: version "5.6.3" @@ -3289,10 +3292,10 @@ util-deprecate@^1.0.2: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -vite-node@2.1.8: - version "2.1.8" - resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-2.1.8.tgz#9495ca17652f6f7f95ca7c4b568a235e0c8dbac5" - integrity sha512-uPAwSr57kYjAUux+8E2j0q0Fxpn8M9VoyfGiRI8Kfktz9NcYMCenwY5RnZxnF1WTu3TGiYipirIzacLL3VVGFg== +vite-node@2.1.9: + version "2.1.9" + resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-2.1.9.tgz#549710f76a643f1c39ef34bdb5493a944e4f895f" + integrity sha512-AM9aQ/IPrW/6ENLQg3AGY4K1N2TGZdR5e4gu/MmmR2xR3Ll1+dib+nook92g4TV3PXVyeyxdWwtaCAiUL0hMxA== dependencies: cac "^6.7.14" debug "^4.3.7" @@ -3300,21 +3303,10 @@ vite-node@2.1.8: pathe "^1.1.2" vite "^5.0.0" -vite@^5.0.0: - version "5.4.11" - resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.11.tgz#3b415cd4aed781a356c1de5a9ebafb837715f6e5" - integrity sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q== - dependencies: - esbuild "^0.21.3" - postcss "^8.4.43" - rollup "^4.20.0" - optionalDependencies: - fsevents "~2.3.3" - -vite@^5.4.7: - version "5.4.12" - resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.12.tgz#627d12ff06de3942557dfe8632fd712a12a072c7" - integrity sha512-KwUaKB27TvWwDJr1GjjWthLMATbGEbeWYZIbGZ5qFIsgPP3vWzLu4cVooqhm5/Z2SPDUMjyPVjTztm5tYKwQxA== +vite@^5.0.0, vite@^5.4.7: + version "5.4.14" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.14.tgz#ff8255edb02134df180dcfca1916c37a6abe8408" + integrity sha512-EK5cY7Q1D8JNhSaPKVK4pwBFvaTmZxEnoKXLG/U9gmdDcihQGNzFlgIvaxezFR4glP1LsuiedwMBqCXH3wZccA== dependencies: esbuild "^0.21.3" postcss "^8.4.43" @@ -3328,17 +3320,17 @@ vitefu@^0.2.5: integrity sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q== vitest@^2.1.1: - version "2.1.8" - resolved "https://registry.yarnpkg.com/vitest/-/vitest-2.1.8.tgz#2e6a00bc24833574d535c96d6602fb64163092fa" - integrity sha512-1vBKTZskHw/aosXqQUlVWWlGUxSJR8YtiyZDJAFeW2kPAeX6S3Sool0mjspO+kXLuxVWlEDDowBAeqeAQefqLQ== + version "2.1.9" + resolved "https://registry.yarnpkg.com/vitest/-/vitest-2.1.9.tgz#7d01ffd07a553a51c87170b5e80fea3da7fb41e7" + integrity sha512-MSmPM9REYqDGBI8439mA4mWhV5sKmDlBKWIYbA3lRb2PTHACE0mgKwA8yQ2xq9vxDTuk4iPrECBAEW2aoFXY0Q== dependencies: - "@vitest/expect" "2.1.8" - "@vitest/mocker" "2.1.8" - "@vitest/pretty-format" "^2.1.8" - "@vitest/runner" "2.1.8" - "@vitest/snapshot" "2.1.8" - "@vitest/spy" "2.1.8" - "@vitest/utils" "2.1.8" + "@vitest/expect" "2.1.9" + "@vitest/mocker" "2.1.9" + "@vitest/pretty-format" "^2.1.9" + "@vitest/runner" "2.1.9" + "@vitest/snapshot" "2.1.9" + "@vitest/spy" "2.1.9" + "@vitest/utils" "2.1.9" chai "^5.1.2" debug "^4.3.7" expect-type "^1.1.0" @@ -3350,7 +3342,7 @@ vitest@^2.1.1: tinypool "^1.0.1" tinyrainbow "^1.2.0" vite "^5.0.0" - vite-node "2.1.8" + vite-node "2.1.9" why-is-node-running "^2.3.0" w3c-xmlserializer@^5.0.0: From 5df7a892c4a9d2259e1e76465843173752d8323e Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Fri, 28 Mar 2025 10:28:09 +0100 Subject: [PATCH 64/74] chore: dependency updates --- yarn.lock | 543 +++++++++++++++++++++++++++++------------------------- 1 file changed, 288 insertions(+), 255 deletions(-) diff --git a/yarn.lock b/yarn.lock index 7a3404d..face122 100644 --- a/yarn.lock +++ b/yarn.lock @@ -274,9 +274,9 @@ integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw== "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": - version "4.4.1" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz#d1145bf2c20132d6400495d6df4bf59362fd9d56" - integrity sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA== + version "4.5.1" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.5.1.tgz#b0fc7e06d0c94f801537fd4237edc2706d3b8e4c" + integrity sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w== dependencies: eslint-visitor-keys "^3.4.3" @@ -285,7 +285,7 @@ resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0" integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== -"@eslint/config-array@^0.19.0": +"@eslint/config-array@^0.19.2": version "0.19.2" resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.19.2.tgz#3060b809e111abfc97adb0bb1172778b90cb46aa" integrity sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w== @@ -294,17 +294,22 @@ debug "^4.3.1" minimatch "^3.1.2" -"@eslint/core@^0.11.0": - version "0.11.0" - resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.11.0.tgz#7a9226e850922e42cbd2ba71361eacbe74352a12" - integrity sha512-DWUB2pksgNEb6Bz2fggIy1wh6fGgZP4Xyy/Mt0QZPiloKKXerbqq9D3SBQTlCRYOrcRPu4vuz+CGjwdfqxnoWA== +"@eslint/config-helpers@^0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@eslint/config-helpers/-/config-helpers-0.2.0.tgz#12dc8d65c31c4b6c3ebf0758db6601eb7692ce59" + integrity sha512-yJLLmLexii32mGrhW29qvU3QBVTu0GUmEf/J4XsBtVhp4JkIUFN/BjWqTF63yRvGApIDpZm5fa97LtYtINmfeQ== + +"@eslint/core@^0.12.0": + version "0.12.0" + resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.12.0.tgz#5f960c3d57728be9f6c65bd84aa6aa613078798e" + integrity sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg== dependencies: "@types/json-schema" "^7.0.15" -"@eslint/eslintrc@^3.2.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.2.0.tgz#57470ac4e2e283a6bf76044d63281196e370542c" - integrity sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w== +"@eslint/eslintrc@^3.3.1": + version "3.3.1" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.3.1.tgz#e55f7f1dd400600dd066dbba349c4c0bac916964" + integrity sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ== dependencies: ajv "^6.12.4" debug "^4.3.2" @@ -316,38 +321,38 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@9.20.0": - version "9.20.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.20.0.tgz#7421bcbe74889fcd65d1be59f00130c289856eb4" - integrity sha512-iZA07H9io9Wn836aVTytRaNqh00Sad+EamwOVJT12GTLw1VGMFV/4JaME+JjLtr9fiGaoWgYnS54wrfWsSs4oQ== +"@eslint/js@9.23.0": + version "9.23.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.23.0.tgz#c09ded4f3dc63b40b933bcaeb853fceddb64da30" + integrity sha512-35MJ8vCPU0ZMxo7zfev2pypqTwWTofFZO6m4KAtdoFhRpLJUpHTZZ+KB3C7Hb1d7bULYwO4lJXGCi5Se+8OMbw== "@eslint/object-schema@^2.1.6": version "2.1.6" resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.6.tgz#58369ab5b5b3ca117880c0f6c0b0f32f6950f24f" integrity sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA== -"@eslint/plugin-kit@^0.2.5": - version "0.2.6" - resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.2.6.tgz#a30084164a4ced1efb6ec31d3d04f581cb8929c0" - integrity sha512-+0TjwR1eAUdZtvv/ir1mGX+v0tUoR3VEPB8Up0LLJC+whRW0GgBBtpbOkg/a/U4Dxa6l5a3l9AJ1aWIQVyoWJA== +"@eslint/plugin-kit@^0.2.7": + version "0.2.7" + resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.2.7.tgz#9901d52c136fb8f375906a73dcc382646c3b6a27" + integrity sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g== dependencies: - "@eslint/core" "^0.11.0" + "@eslint/core" "^0.12.0" levn "^0.4.1" "@fontsource/antonio@^5.1.0": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@fontsource/antonio/-/antonio-5.1.1.tgz#043c5493519d275c5f2d6963b7a0a9e7b0998fcc" - integrity sha512-KoakMjWG/OjcvJuPeTaM0U8B84o2jaQvJA3jVodXJcn0L07AJxxmbgRbLt/9u+4ioMaXPSDwytG16eiDMCmWiA== + version "5.2.5" + resolved "https://registry.yarnpkg.com/@fontsource/antonio/-/antonio-5.2.5.tgz#dbc5a3203c1e65118b1bff00b519ae321a5c3a1d" + integrity sha512-uijW5qLvBS9+l/UyHl677FV+Us0ofmwhVDIHhh2X/7q9XIp7nqTb8G1Q41zEC8f/t+SD4dMdbW/f4EkWRgaESw== "@fontsource/oswald@^5.1.0": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@fontsource/oswald/-/oswald-5.1.1.tgz#fdf40cca1d5c02c9b0cc0d5ac20eacb71a01731d" - integrity sha512-MXymZDN08CJ4q/5+ur6u7YM3xcgPf6OXzUy7ngrRdGYXR9Oxal1A1m3FhFVLP5X0pWW6l2W1awC9YkTGWrbsXg== + version "5.2.5" + resolved "https://registry.yarnpkg.com/@fontsource/oswald/-/oswald-5.2.5.tgz#01ef5b61fae44542eb22330255d32b728ee45b0c" + integrity sha512-Sw8ayEYCoOzG2ISw5HaX3d5ILt3OEG2VFX2nzHaGywYD9p0WvVfO4SBK5/y9JGuOty3jA6OhptxOYZgwjTTPLQ== "@fontsource/ubuntu@^5.1.0": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@fontsource/ubuntu/-/ubuntu-5.1.1.tgz#818d9a722c4b8ebb202bddedc9d1519f15c8f3d6" - integrity sha512-ghyIHIsqbBkUMA3zjvCIQENHl4CEhNgKrVxsuuC46XKw5Yfiy4C3W/A0eLGBR4+yre39b/1sVVsjK6VByVMAtg== + version "5.2.5" + resolved "https://registry.yarnpkg.com/@fontsource/ubuntu/-/ubuntu-5.2.5.tgz#cd3745524134505608be8779477319bcf6a73db9" + integrity sha512-VKVFVqmJ9MGnOJW2dsQ982qHN8Zr+tNeEwEHnzt5VdGi9ZWL37wYFD32YsqukWlI/+I7v5ZkgHTEAvsZxU6aDA== "@formatjs/ecma402-abstract@2.2.0": version "2.2.0" @@ -412,10 +417,10 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.3.1.tgz#c72a5c76a9fbaf3488e231b13dc52c0da7bab42a" integrity sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA== -"@humanwhocodes/retry@^0.4.1": - version "0.4.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.4.1.tgz#9a96ce501bc62df46c4031fbd970e3cc6b10f07b" - integrity sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA== +"@humanwhocodes/retry@^0.4.2": + version "0.4.2" + resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.4.2.tgz#1860473de7dfa1546767448f333db80cb0ff2161" + integrity sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ== "@img/sharp-darwin-arm64@0.33.5": version "0.33.5" @@ -712,11 +717,11 @@ "@parcel/watcher-win32-x64" "2.5.1" "@playwright/test@^1.46.0": - version "1.50.1" - resolved "https://registry.yarnpkg.com/@playwright/test/-/test-1.50.1.tgz#027d00ca77ec79688764eb765cfe9a688807bf0b" - integrity sha512-Jii3aBg+CEDpgnuDxEp/h7BimHcUTDlpEtce89xEumlJ5ef2hqepZ+PWp1DDpYC/VO9fmWVI1IlEaoI5fK9FXQ== + version "1.51.1" + resolved "https://registry.yarnpkg.com/@playwright/test/-/test-1.51.1.tgz#75357d513221a7be0baad75f01e966baf9c41a2e" + integrity sha512-nM+kEaTSAoVlXmMPH10017vn3FSiFqr/bh4fKg9vmAdMfd9SDqRZNvPSiAHADc/itWak+qPvMPZQOPwCBW7k7Q== dependencies: - playwright "1.50.1" + playwright "1.51.1" "@polka/url@^1.0.0-next.24": version "1.0.0-next.28" @@ -744,100 +749,105 @@ estree-walker "^2.0.2" picomatch "^2.3.1" -"@rollup/rollup-android-arm-eabi@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.8.tgz#731df27dfdb77189547bcef96ada7bf166bbb2fb" - integrity sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw== +"@rollup/rollup-android-arm-eabi@4.37.0": + version "4.37.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.37.0.tgz#9bedc746a97fe707154086365f269ced92ff4aa9" + integrity sha512-l7StVw6WAa8l3vA1ov80jyetOAEo1FtHvZDbzXDO/02Sq/QVvqlHkYoFwDJPIMj0GKiistsBudfx5tGFnwYWDQ== -"@rollup/rollup-android-arm64@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.8.tgz#4bea6db78e1f6927405df7fe0faf2f5095e01343" - integrity sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q== +"@rollup/rollup-android-arm64@4.37.0": + version "4.37.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.37.0.tgz#6edc6ffc8af8773e4bc28c72894dd5e846b8ee6c" + integrity sha512-6U3SlVyMxezt8Y+/iEBcbp945uZjJwjZimu76xoG7tO1av9VO691z8PkhzQ85ith2I8R2RddEPeSfcbyPfD4hA== -"@rollup/rollup-darwin-arm64@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.8.tgz#a7aab77d44be3c44a20f946e10160f84e5450e7f" - integrity sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q== +"@rollup/rollup-darwin-arm64@4.37.0": + version "4.37.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.37.0.tgz#737a7b8be9ff79bd24a7efaae0903e8c66ac0676" + integrity sha512-+iTQ5YHuGmPt10NTzEyMPbayiNTcOZDWsbxZYR1ZnmLnZxG17ivrPSWFO9j6GalY0+gV3Jtwrrs12DBscxnlYA== -"@rollup/rollup-darwin-x64@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.8.tgz#c572c024b57ee8ddd1b0851703ace9eb6cc0dd82" - integrity sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw== +"@rollup/rollup-darwin-x64@4.37.0": + version "4.37.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.37.0.tgz#a6a697bb685ca9462a7caeea5f22f6a686acff1f" + integrity sha512-m8W2UbxLDcmRKVjgl5J/k4B8d7qX2EcJve3Sut7YGrQoPtCIQGPH5AMzuFvYRWZi0FVS0zEY4c8uttPfX6bwYQ== -"@rollup/rollup-freebsd-arm64@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.8.tgz#cf74f8113b5a83098a5c026c165742277cbfb88b" - integrity sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA== +"@rollup/rollup-freebsd-arm64@4.37.0": + version "4.37.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.37.0.tgz#18113e8e133ccb6de4b9dc9d3e09f7acff344cb7" + integrity sha512-FOMXGmH15OmtQWEt174v9P1JqqhlgYge/bUjIbiVD1nI1NeJ30HYT9SJlZMqdo1uQFyt9cz748F1BHghWaDnVA== -"@rollup/rollup-freebsd-x64@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.8.tgz#39561f3a2f201a4ad6a01425b1ff5928154ecd7c" - integrity sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q== +"@rollup/rollup-freebsd-x64@4.37.0": + version "4.37.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.37.0.tgz#5e56ffd4a0d7ccfcbc86867c40b8f0e6a2c0c81e" + integrity sha512-SZMxNttjPKvV14Hjck5t70xS3l63sbVwl98g3FlVVx2YIDmfUIy29jQrsw06ewEYQ8lQSuY9mpAPlmgRD2iSsA== -"@rollup/rollup-linux-arm-gnueabihf@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.8.tgz#980d6061e373bfdaeb67925c46d2f8f9b3de537f" - integrity sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g== +"@rollup/rollup-linux-arm-gnueabihf@4.37.0": + version "4.37.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.37.0.tgz#5addf1a51e1495ae7ff28d26442a88adf629c980" + integrity sha512-hhAALKJPidCwZcj+g+iN+38SIOkhK2a9bqtJR+EtyxrKKSt1ynCBeqrQy31z0oWU6thRZzdx53hVgEbRkuI19w== -"@rollup/rollup-linux-arm-musleabihf@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.8.tgz#f91a90f30dc00d5a64ac2d9bbedc829cd3cfaa78" - integrity sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA== +"@rollup/rollup-linux-arm-musleabihf@4.37.0": + version "4.37.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.37.0.tgz#00cddb9ab51086c5f2cd33cd4738259e24be4e73" + integrity sha512-jUb/kmn/Gd8epbHKEqkRAxq5c2EwRt0DqhSGWjPFxLeFvldFdHQs/n8lQ9x85oAeVb6bHcS8irhTJX2FCOd8Ag== -"@rollup/rollup-linux-arm64-gnu@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.8.tgz#fac700fa5c38bc13a0d5d34463133093da4c92a0" - integrity sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A== +"@rollup/rollup-linux-arm64-gnu@4.37.0": + version "4.37.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.37.0.tgz#c3b4324496236b6fd9f31fda5701c6d6060b1512" + integrity sha512-oNrJxcQT9IcbcmKlkF+Yz2tmOxZgG9D9GRq+1OE6XCQwCVwxixYAa38Z8qqPzQvzt1FCfmrHX03E0pWoXm1DqA== -"@rollup/rollup-linux-arm64-musl@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.8.tgz#f50ecccf8c78841ff6df1706bc4782d7f62bf9c3" - integrity sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q== +"@rollup/rollup-linux-arm64-musl@4.37.0": + version "4.37.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.37.0.tgz#b5222180bb1a50e6e9bc8263efd771c1ce770b6f" + integrity sha512-pfxLBMls+28Ey2enpX3JvjEjaJMBX5XlPCZNGxj4kdJyHduPBXtxYeb8alo0a7bqOoWZW2uKynhHxF/MWoHaGQ== -"@rollup/rollup-linux-loongarch64-gnu@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.8.tgz#5869dc0b28242da6553e2b52af41374f4038cd6e" - integrity sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ== +"@rollup/rollup-linux-loongarch64-gnu@4.37.0": + version "4.37.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.37.0.tgz#5660181c1c1efb7b19c7a531d496e685236c5ce7" + integrity sha512-yCE0NnutTC/7IGUq/PUHmoeZbIwq3KRh02e9SfFh7Vmc1Z7atuJRYWhRME5fKgT8aS20mwi1RyChA23qSyRGpA== -"@rollup/rollup-linux-powerpc64le-gnu@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.8.tgz#5cdd9f851ce1bea33d6844a69f9574de335f20b1" - integrity sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw== +"@rollup/rollup-linux-powerpc64le-gnu@4.37.0": + version "4.37.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.37.0.tgz#8273166495d2f5d3fbc556cf42a5a6e24b78bdab" + integrity sha512-NxcICptHk06E2Lh3a4Pu+2PEdZ6ahNHuK7o6Np9zcWkrBMuv21j10SQDJW3C9Yf/A/P7cutWoC/DptNLVsZ0VQ== -"@rollup/rollup-linux-riscv64-gnu@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.8.tgz#ef5dc37f4388f5253f0def43e1440ec012af204d" - integrity sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw== +"@rollup/rollup-linux-riscv64-gnu@4.37.0": + version "4.37.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.37.0.tgz#9677e39288ccc91ebcd707cdd794732d701cd174" + integrity sha512-PpWwHMPCVpFZLTfLq7EWJWvrmEuLdGn1GMYcm5MV7PaRgwCEYJAwiN94uBuZev0/J/hFIIJCsYw4nLmXA9J7Pw== -"@rollup/rollup-linux-s390x-gnu@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.8.tgz#7dbc3ccbcbcfb3e65be74538dfb6e8dd16178fde" - integrity sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA== +"@rollup/rollup-linux-riscv64-musl@4.37.0": + version "4.37.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.37.0.tgz#71cc5ca7be1ed263357618bfe4f8f50c09725a7e" + integrity sha512-DTNwl6a3CfhGTAOYZ4KtYbdS8b+275LSLqJVJIrPa5/JuIufWWZ/QFvkxp52gpmguN95eujrM68ZG+zVxa8zHA== -"@rollup/rollup-linux-x64-gnu@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.8.tgz#5783fc0adcab7dc069692056e8ca8d83709855ce" - integrity sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA== +"@rollup/rollup-linux-s390x-gnu@4.37.0": + version "4.37.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.37.0.tgz#6b0b7df33eb32b0ee7423898b183acc1b5fee33e" + integrity sha512-hZDDU5fgWvDdHFuExN1gBOhCuzo/8TMpidfOR+1cPZJflcEzXdCy1LjnklQdW8/Et9sryOPJAKAQRw8Jq7Tg+A== -"@rollup/rollup-linux-x64-musl@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.8.tgz#00b6c29b298197a384e3c659910b47943003a678" - integrity sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ== +"@rollup/rollup-linux-x64-gnu@4.37.0": + version "4.37.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.37.0.tgz#52c27717d3c4819d13b5ebc2373ddea099d2e71b" + integrity sha512-pKivGpgJM5g8dwj0ywBwe/HeVAUSuVVJhUTa/URXjxvoyTT/AxsLTAbkHkDHG7qQxLoW2s3apEIl26uUe08LVQ== -"@rollup/rollup-win32-arm64-msvc@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.8.tgz#cbfee01f1fe73791c35191a05397838520ca3cdd" - integrity sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ== +"@rollup/rollup-linux-x64-musl@4.37.0": + version "4.37.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.37.0.tgz#c134a22d30642345de8b799c816345674bf68019" + integrity sha512-E2lPrLKE8sQbY/2bEkVTGDEk4/49UYRVWgj90MY8yPjpnGBQ+Xi1Qnr7b7UIWw1NOggdFQFOLZ8+5CzCiz143w== -"@rollup/rollup-win32-ia32-msvc@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.8.tgz#95cdbdff48fe6c948abcf6a1d500b2bd5ce33f62" - integrity sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w== +"@rollup/rollup-win32-arm64-msvc@4.37.0": + version "4.37.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.37.0.tgz#8063d5f8195dd1845e056d069366fbe06a424d09" + integrity sha512-Jm7biMazjNzTU4PrQtr7VS8ibeys9Pn29/1bm4ph7CP2kf21950LgN+BaE2mJ1QujnvOc6p54eWWiVvn05SOBg== -"@rollup/rollup-win32-x64-msvc@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.8.tgz#4cdb2cfae69cdb7b1a3cc58778e820408075e928" - integrity sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g== +"@rollup/rollup-win32-ia32-msvc@4.37.0": + version "4.37.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.37.0.tgz#891d90e3b5517f9d290bb416afdfe2ebfb12139e" + integrity sha512-e3/1SFm1OjefWICB2Ucstg2dxYDkDTZGDYgwufcbsxTHyqQps1UQf33dFEChBNmeSsTOyrjw2JJq0zbG5GF6RA== + +"@rollup/rollup-win32-x64-msvc@4.37.0": + version "4.37.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.37.0.tgz#a54d7304c3bd45573d8bcd1270de89771f8195fe" + integrity sha512-LWbXUBwn/bcLx2sSsqy7pK5o+Nr+VCoRoAohfJ5C/aBio9nfJmGQqHAhU6pwxV/RmyTk5AqdySma7uwWGlmeuA== "@scure/base@1.1.1": version "1.1.1" @@ -879,9 +889,9 @@ integrity sha512-YaDrquRpZwfcXbnlDsSrBQNCChVOT9MGuSg+dMAyfsAa1SmiAhrA5jUYUiIMC59G92kIbY/AaQOWcBdq+lh+zg== "@sveltejs/kit@^2.0.0": - version "2.17.2" - resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-2.17.2.tgz#87c6a1efe42a3f06dd0558e49b79988fec4338bd" - integrity sha512-Vypk02baf7qd3SOB1uUwUC/3Oka+srPo2J0a8YN3EfJypRshDkNx9HzNKjSmhOnGWwT+SSO06+N0mAb8iVTmTQ== + version "2.20.2" + resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-2.20.2.tgz#ec1e431083fdb924dd583d5520b94b94f003e67e" + integrity sha512-Dv8TOAZC9vyfcAB9TMsvUEJsRbklRTeNfcYBPaeH6KnABJ99i3CvCB2eNx8fiiliIqe+9GIchBg4RodRH5p1BQ== dependencies: "@types/cookie" "^0.6.0" cookie "^0.6.0" @@ -971,11 +981,16 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== -"@types/estree@1.0.6", "@types/estree@^1.0.0", "@types/estree@^1.0.6": +"@types/estree@1.0.6", "@types/estree@^1.0.0": version "1.0.6" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== +"@types/estree@^1.0.6": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.7.tgz#4158d3105276773d5b7695cd4834b1722e4f37a8" + integrity sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ== + "@types/json-schema@^7.0.15": version "7.0.15" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" @@ -986,62 +1001,62 @@ resolved "https://registry.yarnpkg.com/@types/swagger-ui/-/swagger-ui-3.52.4.tgz#96c4886e8f86ae392f8d940bf7029cf490a51c72" integrity sha512-7NV7q8BfupqdQxr26OkM0g0YEPB9uXnKGzXadgcearvI9MoCHt3F72lPTX3fZZIlrr21DC0IK26wcDMZ37oFDA== -"@typescript-eslint/eslint-plugin@8.24.1", "@typescript-eslint/eslint-plugin@^8.7.0": - version "8.24.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.24.1.tgz#d104c2a6212304c649105b18af2c110b4a1dd4ae" - integrity sha512-ll1StnKtBigWIGqvYDVuDmXJHVH4zLVot1yQ4fJtLpL7qacwkxJc1T0bptqw+miBQ/QfUbhl1TcQ4accW5KUyA== +"@typescript-eslint/eslint-plugin@8.28.0", "@typescript-eslint/eslint-plugin@^8.7.0": + version "8.28.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.28.0.tgz#ad1465aa6fe7e937801c291648dec951c4dc38e6" + integrity sha512-lvFK3TCGAHsItNdWZ/1FkvpzCxTHUVuFrdnOGLMa0GGCFIbCgQWVk3CzCGdA7kM3qGVc+dfW9tr0Z/sHnGDFyg== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.24.1" - "@typescript-eslint/type-utils" "8.24.1" - "@typescript-eslint/utils" "8.24.1" - "@typescript-eslint/visitor-keys" "8.24.1" + "@typescript-eslint/scope-manager" "8.28.0" + "@typescript-eslint/type-utils" "8.28.0" + "@typescript-eslint/utils" "8.28.0" + "@typescript-eslint/visitor-keys" "8.28.0" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" ts-api-utils "^2.0.1" -"@typescript-eslint/parser@8.24.1", "@typescript-eslint/parser@^8.7.0": - version "8.24.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.24.1.tgz#67965c2d2ddd7eadb2f094c395695db8334ef9a2" - integrity sha512-Tqoa05bu+t5s8CTZFaGpCH2ub3QeT9YDkXbPd3uQ4SfsLoh1/vv2GEYAioPoxCWJJNsenXlC88tRjwoHNts1oQ== +"@typescript-eslint/parser@8.28.0", "@typescript-eslint/parser@^8.7.0": + version "8.28.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.28.0.tgz#85321707e8711c0e66a949ea228224af35f45c98" + integrity sha512-LPcw1yHD3ToaDEoljFEfQ9j2xShY367h7FZ1sq5NJT9I3yj4LHer1Xd1yRSOdYy9BpsrxU7R+eoDokChYM53lQ== dependencies: - "@typescript-eslint/scope-manager" "8.24.1" - "@typescript-eslint/types" "8.24.1" - "@typescript-eslint/typescript-estree" "8.24.1" - "@typescript-eslint/visitor-keys" "8.24.1" + "@typescript-eslint/scope-manager" "8.28.0" + "@typescript-eslint/types" "8.28.0" + "@typescript-eslint/typescript-estree" "8.28.0" + "@typescript-eslint/visitor-keys" "8.28.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@8.24.1": - version "8.24.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.24.1.tgz#1e1e76ec4560aa85077ab36deb9b2bead4ae124e" - integrity sha512-OdQr6BNBzwRjNEXMQyaGyZzgg7wzjYKfX2ZBV3E04hUCBDv3GQCHiz9RpqdUIiVrMgJGkXm3tcEh4vFSHreS2Q== +"@typescript-eslint/scope-manager@8.28.0": + version "8.28.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.28.0.tgz#e495b20438a3787e00498774d5625e620d68f9fe" + integrity sha512-u2oITX3BJwzWCapoZ/pXw6BCOl8rJP4Ij/3wPoGvY8XwvXflOzd1kLrDUUUAIEdJSFh+ASwdTHqtan9xSg8buw== dependencies: - "@typescript-eslint/types" "8.24.1" - "@typescript-eslint/visitor-keys" "8.24.1" + "@typescript-eslint/types" "8.28.0" + "@typescript-eslint/visitor-keys" "8.28.0" -"@typescript-eslint/type-utils@8.24.1": - version "8.24.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.24.1.tgz#99113e1df63d1571309d87eef68967344c78dd65" - integrity sha512-/Do9fmNgCsQ+K4rCz0STI7lYB4phTtEXqqCAs3gZW0pnK7lWNkvWd5iW545GSmApm4AzmQXmSqXPO565B4WVrw== +"@typescript-eslint/type-utils@8.28.0": + version "8.28.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.28.0.tgz#fc565414ebc16de1fc65e0dd8652ce02c78ca61f" + integrity sha512-oRoXu2v0Rsy/VoOGhtWrOKDiIehvI+YNrDk5Oqj40Mwm0Yt01FC/Q7nFqg088d3yAsR1ZcZFVfPCTTFCe/KPwg== dependencies: - "@typescript-eslint/typescript-estree" "8.24.1" - "@typescript-eslint/utils" "8.24.1" + "@typescript-eslint/typescript-estree" "8.28.0" + "@typescript-eslint/utils" "8.28.0" debug "^4.3.4" ts-api-utils "^2.0.1" -"@typescript-eslint/types@8.24.1": - version "8.24.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.24.1.tgz#8777a024f3afc4ace5e48f9a804309c6dd38f95a" - integrity sha512-9kqJ+2DkUXiuhoiYIUvIYjGcwle8pcPpdlfkemGvTObzgmYfJ5d0Qm6jwb4NBXP9W1I5tss0VIAnWFumz3mC5A== +"@typescript-eslint/types@8.28.0": + version "8.28.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.28.0.tgz#7c73878385edfd9674c7aa10975e6c484b4f896e" + integrity sha512-bn4WS1bkKEjx7HqiwG2JNB3YJdC1q6Ue7GyGlwPHyt0TnVq6TtD/hiOdTZt71sq0s7UzqBFXD8t8o2e63tXgwA== -"@typescript-eslint/typescript-estree@8.24.1": - version "8.24.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.24.1.tgz#3bb479401f8bd471b3c6dd3db89e7256977c54db" - integrity sha512-UPyy4MJ/0RE648DSKQe9g0VDSehPINiejjA6ElqnFaFIhI6ZEiZAkUI0D5MCk0bQcTf/LVqZStvQ6K4lPn/BRg== +"@typescript-eslint/typescript-estree@8.28.0": + version "8.28.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.28.0.tgz#56b999f26f7ca67b9d75d6a67af5c8b8e4e80114" + integrity sha512-H74nHEeBGeklctAVUvmDkxB1mk+PAZ9FiOMPFncdqeRBXxk1lWSYraHw8V12b7aa6Sg9HOBNbGdSHobBPuQSuA== dependencies: - "@typescript-eslint/types" "8.24.1" - "@typescript-eslint/visitor-keys" "8.24.1" + "@typescript-eslint/types" "8.28.0" + "@typescript-eslint/visitor-keys" "8.28.0" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" @@ -1049,22 +1064,22 @@ semver "^7.6.0" ts-api-utils "^2.0.1" -"@typescript-eslint/utils@8.24.1": - version "8.24.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.24.1.tgz#08d14eac33cfb3456feeee5a275b8ad3349e52ed" - integrity sha512-OOcg3PMMQx9EXspId5iktsI3eMaXVwlhC8BvNnX6B5w9a4dVgpkQZuU8Hy67TolKcl+iFWq0XX+jbDGN4xWxjQ== +"@typescript-eslint/utils@8.28.0": + version "8.28.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.28.0.tgz#7850856620a896b7ac621ac12d49c282aefbb528" + integrity sha512-OELa9hbTYciYITqgurT1u/SzpQVtDLmQMFzy/N8pQE+tefOyCWT79jHsav294aTqV1q1u+VzqDGbuujvRYaeSQ== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.24.1" - "@typescript-eslint/types" "8.24.1" - "@typescript-eslint/typescript-estree" "8.24.1" + "@typescript-eslint/scope-manager" "8.28.0" + "@typescript-eslint/types" "8.28.0" + "@typescript-eslint/typescript-estree" "8.28.0" -"@typescript-eslint/visitor-keys@8.24.1": - version "8.24.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.24.1.tgz#8bdfe47a89195344b34eb21ef61251562148202b" - integrity sha512-EwVHlp5l+2vp8CoqJm9KikPZgi3gbdZAtabKT9KPShGeOcJhsv4Zdo3oc8T8I0uKEmYoU4ItyxbptjF08enaxg== +"@typescript-eslint/visitor-keys@8.28.0": + version "8.28.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.28.0.tgz#18eb9a25cc9dadb027835c58efe93a5c4ee81969" + integrity sha512-hbn8SZ8w4u2pRwgQ1GlUrPKE+t2XvcCW5tTRF7j6SMYIuYG37XuzIW44JCZPa36evi0Oy2SnM664BlIaAuQcvg== dependencies: - "@typescript-eslint/types" "8.24.1" + "@typescript-eslint/types" "8.28.0" eslint-visitor-keys "^4.2.0" "@vitest/expect@2.1.9": @@ -1154,7 +1169,12 @@ acorn@^8.10.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== -acorn@^8.14.0, acorn@^8.9.0: +acorn@^8.14.0: + version "8.14.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.1.tgz#721d5dc10f7d5b5609a891773d47731796935dfb" + integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== + +acorn@^8.9.0: version "8.14.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0" integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== @@ -1719,10 +1739,10 @@ eslint-scope@^7.2.2: esrecurse "^4.3.0" estraverse "^5.2.0" -eslint-scope@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.2.0.tgz#377aa6f1cb5dc7592cfd0b7f892fd0cf352ce442" - integrity sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A== +eslint-scope@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.3.0.tgz#10cd3a918ffdd722f5f3f7b5b83db9b23c87340d" + integrity sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ== dependencies: esrecurse "^4.3.0" estraverse "^5.2.0" @@ -1738,20 +1758,21 @@ eslint-visitor-keys@^4.2.0: integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw== eslint@^9.11.0: - version "9.20.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.20.1.tgz#923924c078f5226832449bac86662dd7e53c91d6" - integrity sha512-m1mM33o6dBUjxl2qb6wv6nGNwCAsns1eKtaQ4l/NPHeTvhiUPbtdfMyktxN4B3fgHIgsYh1VT3V9txblpQHq+g== + version "9.23.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.23.0.tgz#b88f3ab6dc83bcb927fdb54407c69ffe5f2441a6" + integrity sha512-jV7AbNoFPAY1EkFYpLq5bslU9NLNO8xnEeQXwErNibVryjk67wHVmddTBilc5srIttJDBrB0eMHKZBFbSIABCw== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.12.1" - "@eslint/config-array" "^0.19.0" - "@eslint/core" "^0.11.0" - "@eslint/eslintrc" "^3.2.0" - "@eslint/js" "9.20.0" - "@eslint/plugin-kit" "^0.2.5" + "@eslint/config-array" "^0.19.2" + "@eslint/config-helpers" "^0.2.0" + "@eslint/core" "^0.12.0" + "@eslint/eslintrc" "^3.3.1" + "@eslint/js" "9.23.0" + "@eslint/plugin-kit" "^0.2.7" "@humanfs/node" "^0.16.6" "@humanwhocodes/module-importer" "^1.0.1" - "@humanwhocodes/retry" "^0.4.1" + "@humanwhocodes/retry" "^0.4.2" "@types/estree" "^1.0.6" "@types/json-schema" "^7.0.15" ajv "^6.12.4" @@ -1759,7 +1780,7 @@ eslint@^9.11.0: cross-spawn "^7.0.6" debug "^4.3.2" escape-string-regexp "^4.0.0" - eslint-scope "^8.2.0" + eslint-scope "^8.3.0" eslint-visitor-keys "^4.2.0" espree "^10.3.0" esquery "^1.5.0" @@ -1893,18 +1914,13 @@ fast-levenshtein@^2.0.6: integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fastq@^1.6.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.19.0.tgz#a82c6b7c2bb4e44766d865f07997785fecfdcb89" - integrity sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA== + version "1.19.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.19.1.tgz#d50eaba803c8846a883c16492821ebcd2cda55f5" + integrity sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ== dependencies: reusify "^1.0.4" -fdir@^6.2.0: - version "6.4.2" - resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.4.2.tgz#ddaa7ce1831b161bc3657bb99cb36e1622702689" - integrity sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ== - -fdir@^6.4.3: +fdir@^6.2.0, fdir@^6.4.3: version "6.4.3" resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.4.3.tgz#011cdacf837eca9b811c89dbb902df714273db72" integrity sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw== @@ -2134,9 +2150,9 @@ ignore@^5.2.0, ignore@^5.3.1: integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== immutable@^5.0.2: - version "5.0.3" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-5.0.3.tgz#aa037e2313ea7b5d400cd9298fa14e404c933db1" - integrity sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw== + version "5.1.1" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-5.1.1.tgz#d4cb552686f34b076b3dcf23c4384c04424d8354" + integrity sha512-3jatXi9ObIsPGr3N5hGw/vWWcTkq6hUYhpQz4k0wLC+owqWi/LiugIw9x0EdNZ2yGedKN/HzePiBvaJRXa0Ujg== import-fresh@^3.2.1: version "3.3.1" @@ -2506,11 +2522,16 @@ msgpack-es@^0.0.5: resolved "https://registry.yarnpkg.com/msgpack-es/-/msgpack-es-0.0.5.tgz#2cc46435e26a4c13520731c515d0a1d9a191dfc8" integrity sha512-iK8YNWqs4csqE7udSmuY/1bz0MH8L80eX2ZGIlf8g7G2aq9wRUbVpTbyixqQNNJZ2kJ8v2NgVzj0npRqdJBMuA== -nanoid@^3.3.7, nanoid@^3.3.8: +nanoid@^3.3.7: version "3.3.8" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.8.tgz#b1be3030bee36aaff18bacb375e5cce521684baf" integrity sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w== +nanoid@^3.3.8: + version "3.3.11" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" + integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== + natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -2527,9 +2548,9 @@ node-addon-api@^7.0.0: integrity sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ== nostr-tools@^2.7.1: - version "2.10.4" - resolved "https://registry.yarnpkg.com/nostr-tools/-/nostr-tools-2.10.4.tgz#2ba0a36d1f2e1b3d77c724ca8fad880c8de6844d" - integrity sha512-biU7sk+jxHgVASfobg2T5ttxOGGSt69wEVBC51sHHOEaKAAdzHBLV/I2l9Rf61UzClhliZwNouYhqIso4a3HYg== + version "2.11.0" + resolved "https://registry.yarnpkg.com/nostr-tools/-/nostr-tools-2.11.0.tgz#b86d64f1fbae7c69675e8675518ab80b19ec9358" + integrity sha512-kRtXI9j5f45NvIcdJacQ0UEAfEb7p/jhZqhAGLQWtUd5idZJPYdSyR8hdw+MmpGH4TCMH5plZrXzFltIIZrkEA== dependencies: "@noble/ciphers" "^0.5.1" "@noble/curves" "1.2.0" @@ -2694,17 +2715,17 @@ picomatch@^4.0.2: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.2.tgz#77c742931e8f3b8820946c76cd0c1f13730d1dab" integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== -playwright-core@1.50.1: - version "1.50.1" - resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.50.1.tgz#6a0484f1f1c939168f40f0ab3828c4a1592c4504" - integrity sha512-ra9fsNWayuYumt+NiM069M6OkcRb1FZSK8bgi66AtpFoWkg2+y0bJSNmkFrWhMbEBbVKC/EruAHH3g0zmtwGmQ== +playwright-core@1.51.1: + version "1.51.1" + resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.51.1.tgz#d57f0393e02416f32a47cf82b27533656a8acce1" + integrity sha512-/crRMj8+j/Nq5s8QcvegseuyeZPxpQCZb6HNk3Sos3BlZyAknRjoyJPFWkpNn8v0+P3WiwqFF8P+zQo4eqiNuw== -playwright@1.50.1: - version "1.50.1" - resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.50.1.tgz#2f93216511d65404f676395bfb97b41aa052b180" - integrity sha512-G8rwsOQJ63XG6BbKj2w5rHeavFjy5zynBA9zsJMMtBoe/Uf757oG12NXz6e6OirF7RCrTVAKFXbLmn1RbL7Qaw== +playwright@1.51.1: + version "1.51.1" + resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.51.1.tgz#ae1467ee318083968ad28d6990db59f47a55390f" + integrity sha512-kkx+MB2KQRkyxjYPc3a0wLZZoDczmppyGJIvQ43l+aZihkaVvmu/21kiyaHeHjiFxjxNNFnUncKmcGIyOojsaw== dependencies: - playwright-core "1.50.1" + playwright-core "1.51.1" optionalDependencies: fsevents "2.3.2" @@ -2744,9 +2765,9 @@ postcss@^8.4.38, postcss@^8.4.39: source-map-js "^1.2.1" postcss@^8.4.43: - version "8.5.2" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.2.tgz#e7b99cb9d2ec3e8dd424002e7c16517cb2b846bd" - integrity sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA== + version "8.5.3" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.3.tgz#1463b6f1c7fb16fe258736cba29a2de35237eafb" + integrity sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A== dependencies: nanoid "^3.3.8" picocolors "^1.1.1" @@ -2763,9 +2784,9 @@ prettier-plugin-svelte@^3.2.6: integrity sha512-yViK9zqQ+H2qZD1w/bH7W8i+bVfKrD8GIFjkFe4Thl6kCT9SlAsXVNmt3jCvQOCsnOhcvYgsoVlRV/Eu6x5nNw== prettier@^3.3.3: - version "3.5.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.5.1.tgz#22fac9d0b18c0b92055ac8fb619ac1c7bef02fb7" - integrity sha512-hPpFQvHwL3Qv5AdRvBFMhnKo4tYxp0ReXiPn2bxkiohEX6mBeBwEpBSQTkD458RaaDKQMYSp4hX4UtfUTA5wDw== + version "3.5.3" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.5.3.tgz#4fc2ce0d657e7a02e602549f053b239cb7dfe1b5" + integrity sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw== pretty-format@^27.0.2: version "27.5.1" @@ -2820,9 +2841,9 @@ resolve-from@^4.0.0: integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + version "1.1.0" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f" + integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw== rimraf@^2.6.3: version "2.7.1" @@ -2842,31 +2863,32 @@ rollup-plugin-visualizer@^5.12.0: yargs "^17.5.1" rollup@^4.20.0: - version "4.34.8" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.34.8.tgz#e859c1a51d899aba9bcf451d4eed1d11fb8e2a6e" - integrity sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ== + version "4.37.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.37.0.tgz#e4172f8bdb6ea7df08a1b0acf99abeccb2250378" + integrity sha512-iAtQy/L4QFU+rTJ1YUjXqJOJzuwEghqWzCEYD2FEghT7Gsy1VdABntrO4CLopA5IkflTyqNiLNwPcOJ3S7UKLg== dependencies: "@types/estree" "1.0.6" optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.34.8" - "@rollup/rollup-android-arm64" "4.34.8" - "@rollup/rollup-darwin-arm64" "4.34.8" - "@rollup/rollup-darwin-x64" "4.34.8" - "@rollup/rollup-freebsd-arm64" "4.34.8" - "@rollup/rollup-freebsd-x64" "4.34.8" - "@rollup/rollup-linux-arm-gnueabihf" "4.34.8" - "@rollup/rollup-linux-arm-musleabihf" "4.34.8" - "@rollup/rollup-linux-arm64-gnu" "4.34.8" - "@rollup/rollup-linux-arm64-musl" "4.34.8" - "@rollup/rollup-linux-loongarch64-gnu" "4.34.8" - "@rollup/rollup-linux-powerpc64le-gnu" "4.34.8" - "@rollup/rollup-linux-riscv64-gnu" "4.34.8" - "@rollup/rollup-linux-s390x-gnu" "4.34.8" - "@rollup/rollup-linux-x64-gnu" "4.34.8" - "@rollup/rollup-linux-x64-musl" "4.34.8" - "@rollup/rollup-win32-arm64-msvc" "4.34.8" - "@rollup/rollup-win32-ia32-msvc" "4.34.8" - "@rollup/rollup-win32-x64-msvc" "4.34.8" + "@rollup/rollup-android-arm-eabi" "4.37.0" + "@rollup/rollup-android-arm64" "4.37.0" + "@rollup/rollup-darwin-arm64" "4.37.0" + "@rollup/rollup-darwin-x64" "4.37.0" + "@rollup/rollup-freebsd-arm64" "4.37.0" + "@rollup/rollup-freebsd-x64" "4.37.0" + "@rollup/rollup-linux-arm-gnueabihf" "4.37.0" + "@rollup/rollup-linux-arm-musleabihf" "4.37.0" + "@rollup/rollup-linux-arm64-gnu" "4.37.0" + "@rollup/rollup-linux-arm64-musl" "4.37.0" + "@rollup/rollup-linux-loongarch64-gnu" "4.37.0" + "@rollup/rollup-linux-powerpc64le-gnu" "4.37.0" + "@rollup/rollup-linux-riscv64-gnu" "4.37.0" + "@rollup/rollup-linux-riscv64-musl" "4.37.0" + "@rollup/rollup-linux-s390x-gnu" "4.37.0" + "@rollup/rollup-linux-x64-gnu" "4.37.0" + "@rollup/rollup-linux-x64-musl" "4.37.0" + "@rollup/rollup-win32-arm64-msvc" "4.37.0" + "@rollup/rollup-win32-ia32-msvc" "4.37.0" + "@rollup/rollup-win32-x64-msvc" "4.37.0" fsevents "~2.3.2" rrweb-cssom@^0.7.1: @@ -2894,9 +2916,9 @@ sade@^1.7.4, sade@^1.8.1: integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== sass@^1.79.3: - version "1.85.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.85.0.tgz#0127ef697d83144496401553f0a0e87be83df45d" - integrity sha512-3ToiC1xZ1Y8aU7+CkgCI/tqyuPXEmYGJXO7H4uqp0xkLXUqp88rQQ4j1HmP37xSJLbCJPaIiv+cT1y+grssrww== + version "1.86.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.86.0.tgz#f49464fb6237a903a93f4e8760ef6e37a5030114" + integrity sha512-zV8vGUld/+mP4KbMLJMX7TyGCuUp7hnkOScgCMsWuHtns8CWBoz+vmEhoGMXsaJrbUP8gj+F1dLvVe79sK8UdA== dependencies: chokidar "^4.0.0" immutable "^5.0.2" @@ -3076,9 +3098,9 @@ svelte-bootstrap-icons@^3.1.1: integrity sha512-vy+qmWFfLJZxu5BaDlmaUG4uzki1rodX5ERZAP6KQdyO/2WNeGBDU4Yke3Z0NRq+VSepK86iAy+iUJvlUdsbBg== svelte-check@^4.0.2: - version "4.1.4" - resolved "https://registry.yarnpkg.com/svelte-check/-/svelte-check-4.1.4.tgz#59ec6f08d23647ec508ff01584ef6d191c77c9e1" - integrity sha512-v0j7yLbT29MezzaQJPEDwksybTE2Ups9rUxEXy92T06TiA0cbqcO8wAOwNUVkFW6B0hsYHA+oAX3BS8b/2oHtw== + version "4.1.5" + resolved "https://registry.yarnpkg.com/svelte-check/-/svelte-check-4.1.5.tgz#afdb3f8050c123064124d5aa7821365c7befa7a4" + integrity sha512-Gb0T2IqBNe1tLB9EB1Qh+LOe+JB8wt2/rNBDGvkxQVvk8vNeAoG+vZgFB/3P5+zC7RWlyBlzm9dVjZFph/maIg== dependencies: "@jridgewell/trace-mapping" "^0.3.25" chokidar "^4.0.1" @@ -3240,9 +3262,9 @@ tr46@^5.0.0: punycode "^2.3.1" ts-api-utils@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-2.0.1.tgz#660729385b625b939aaa58054f45c058f33f10cd" - integrity sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w== + version "2.1.0" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-2.1.0.tgz#595f7094e46eed364c13fd23e75f9513d29baf91" + integrity sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ== tslib@^2.4.0, tslib@^2.7.0: version "2.8.1" @@ -3262,13 +3284,13 @@ type@^2.7.2: integrity sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ== typescript-eslint@^8.7.0: - version "8.24.1" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.24.1.tgz#ce85d791392608a2a9f80c4b2530a214d16a2a47" - integrity sha512-cw3rEdzDqBs70TIcb0Gdzbt6h11BSs2pS0yaq7hDWDBtCCSei1pPSUXE9qUdQ/Wm9NgFg8mKtMt1b8fTHIl1jA== + version "8.28.0" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.28.0.tgz#70b0ac51dc15eeb9fcfad66c0b0ec78f3ad341e3" + integrity sha512-jfZtxJoHm59bvoCMYCe2BM0/baMswRhMmYhy+w6VfcyHrjxZ0OJe0tGasydCpIpA+A/WIJhTyZfb3EtwNC/kHQ== dependencies: - "@typescript-eslint/eslint-plugin" "8.24.1" - "@typescript-eslint/parser" "8.24.1" - "@typescript-eslint/utils" "8.24.1" + "@typescript-eslint/eslint-plugin" "8.28.0" + "@typescript-eslint/parser" "8.28.0" + "@typescript-eslint/utils" "8.28.0" typescript@^5.5.4: version "5.6.3" @@ -3303,7 +3325,7 @@ vite-node@2.1.9: pathe "^1.1.2" vite "^5.0.0" -vite@^5.0.0, vite@^5.4.7: +vite@^5.0.0: version "5.4.14" resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.14.tgz#ff8255edb02134df180dcfca1916c37a6abe8408" integrity sha512-EK5cY7Q1D8JNhSaPKVK4pwBFvaTmZxEnoKXLG/U9gmdDcihQGNzFlgIvaxezFR4glP1LsuiedwMBqCXH3wZccA== @@ -3314,6 +3336,17 @@ vite@^5.0.0, vite@^5.4.7: optionalDependencies: fsevents "~2.3.3" +vite@^5.4.7: + version "5.4.15" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.15.tgz#2941547f10ebb4bf9b0fa0da863c06711eb7e5e5" + integrity sha512-6ANcZRivqL/4WtwPGTKNaosuNJr5tWiftOC7liM7G9+rMb8+oeJeyzymDu4rTN93seySBmbjSfsS3Vzr19KNtA== + dependencies: + esbuild "^0.21.3" + postcss "^8.4.43" + rollup "^4.20.0" + optionalDependencies: + fsevents "~2.3.3" + vitefu@^0.2.5: version "0.2.5" resolved "https://registry.yarnpkg.com/vitefu/-/vitefu-0.2.5.tgz#c1b93c377fbdd3e5ddd69840ea3aa70b40d90969" From aae98486978f268422a2c9170606063f78733f35 Mon Sep 17 00:00:00 2001 From: Ticktock Depbot Date: Fri, 28 Mar 2025 10:26:19 +0000 Subject: [PATCH 65/74] chore(deps): update actions/forgejo-release action to v2.5.3 --- .forgejo/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index da64930..43b99a2 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -120,7 +120,7 @@ jobs: output/littlefs.bin - name: Create release if: github.event_name == 'push' && github.ref == 'refs/heads/main' - uses: https://code.forgejo.org/actions/forgejo-release@v2.5.1 + uses: https://code.forgejo.org/actions/forgejo-release@v2.5.3 with: url: 'https://git.btclock.dev/' repo: '${{ github.repository }}' From afdafa9dc3e5a2d1dbde21ebe3f0693a78296014 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Fri, 28 Mar 2025 12:16:54 +0100 Subject: [PATCH 66/74] chore: Remove packageManager from package.json --- package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index f2bd1b0..8596a5c 100644 --- a/package.json +++ b/package.json @@ -69,6 +69,5 @@ "es5-ext": ">=0.10.64", "ws": ">=8.18.0", "micromatch": ">=4.0.8" - }, - "packageManager": "yarn@1.22.21+sha1.1959a18351b811cdeedbd484a8f86c3cc3bbaf72" + } } From 1b559f08ddcdc3dd4ffc8e2781d79ab9c61be17c Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Fri, 28 Mar 2025 12:23:12 +0100 Subject: [PATCH 67/74] chore: Add GH_TOKEN to workflow --- .forgejo/workflows/build.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 43b99a2..66ae1e7 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -39,6 +39,7 @@ jobs: submodules: recursive - uses: actions/setup-node@v4 with: + token: ${{ secrets.GH_TOKEN }} node-version: lts/* cache: yarn cache-dependency-path: '**/yarn.lock' From e9096af0a332c9e5e1e31ea932650c244ea0d55d Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Fri, 28 Mar 2025 12:27:24 +0100 Subject: [PATCH 68/74] chore: remove unnecessary python action --- .forgejo/workflows/build.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 66ae1e7..aed32a0 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -50,9 +50,6 @@ jobs: ~/node_modules ~/.cache/ms-playwright key: ${{ runner.os }}-pio-playwright-${{ hashFiles('**/yarn.lock') }} - - uses: actions/setup-python@v5 - with: - python-version: '>=3.10' - name: Get current date id: dateAndTime run: echo "dateAndTime=$(date +'%Y-%m-%d-%H:%M')" >> $GITHUB_OUTPUT From 6cbc2418fab1c539369284f81f5ab83e0c9dc870 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Sat, 5 Apr 2025 21:18:32 +0200 Subject: [PATCH 69/74] chore: dependency updates --- yarn.lock | 409 +++++++++++++++++++++++++++--------------------------- 1 file changed, 208 insertions(+), 201 deletions(-) diff --git a/yarn.lock b/yarn.lock index face122..64df43d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -285,19 +285,19 @@ resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0" integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== -"@eslint/config-array@^0.19.2": - version "0.19.2" - resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.19.2.tgz#3060b809e111abfc97adb0bb1172778b90cb46aa" - integrity sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w== +"@eslint/config-array@^0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.20.0.tgz#7a1232e82376712d3340012a2f561a2764d1988f" + integrity sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ== dependencies: "@eslint/object-schema" "^2.1.6" debug "^4.3.1" minimatch "^3.1.2" "@eslint/config-helpers@^0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@eslint/config-helpers/-/config-helpers-0.2.0.tgz#12dc8d65c31c4b6c3ebf0758db6601eb7692ce59" - integrity sha512-yJLLmLexii32mGrhW29qvU3QBVTu0GUmEf/J4XsBtVhp4JkIUFN/BjWqTF63yRvGApIDpZm5fa97LtYtINmfeQ== + version "0.2.1" + resolved "https://registry.yarnpkg.com/@eslint/config-helpers/-/config-helpers-0.2.1.tgz#26042c028d1beee5ce2235a7929b91c52651646d" + integrity sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw== "@eslint/core@^0.12.0": version "0.12.0" @@ -306,6 +306,13 @@ dependencies: "@types/json-schema" "^7.0.15" +"@eslint/core@^0.13.0": + version "0.13.0" + resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.13.0.tgz#bf02f209846d3bf996f9e8009db62df2739b458c" + integrity sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw== + dependencies: + "@types/json-schema" "^7.0.15" + "@eslint/eslintrc@^3.3.1": version "3.3.1" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.3.1.tgz#e55f7f1dd400600dd066dbba349c4c0bac916964" @@ -321,10 +328,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@9.23.0": - version "9.23.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.23.0.tgz#c09ded4f3dc63b40b933bcaeb853fceddb64da30" - integrity sha512-35MJ8vCPU0ZMxo7zfev2pypqTwWTofFZO6m4KAtdoFhRpLJUpHTZZ+KB3C7Hb1d7bULYwO4lJXGCi5Se+8OMbw== +"@eslint/js@9.24.0": + version "9.24.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.24.0.tgz#685277980bb7bf84ecc8e4e133ccdda7545a691e" + integrity sha512-uIY/y3z0uvOGX8cp1C2fiC4+ZmBhp6yZWkojtHL1YEMnRt1Y63HB9TM17proGEmeG7HeUY+UP36F0aknKYTpYA== "@eslint/object-schema@^2.1.6": version "2.1.6" @@ -332,11 +339,11 @@ integrity sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA== "@eslint/plugin-kit@^0.2.7": - version "0.2.7" - resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.2.7.tgz#9901d52c136fb8f375906a73dcc382646c3b6a27" - integrity sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g== + version "0.2.8" + resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz#47488d8f8171b5d4613e833313f3ce708e3525f8" + integrity sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA== dependencies: - "@eslint/core" "^0.12.0" + "@eslint/core" "^0.13.0" levn "^0.4.1" "@fontsource/antonio@^5.1.0": @@ -749,105 +756,105 @@ estree-walker "^2.0.2" picomatch "^2.3.1" -"@rollup/rollup-android-arm-eabi@4.37.0": - version "4.37.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.37.0.tgz#9bedc746a97fe707154086365f269ced92ff4aa9" - integrity sha512-l7StVw6WAa8l3vA1ov80jyetOAEo1FtHvZDbzXDO/02Sq/QVvqlHkYoFwDJPIMj0GKiistsBudfx5tGFnwYWDQ== +"@rollup/rollup-android-arm-eabi@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.39.0.tgz#1d8cc5dd3d8ffe569d8f7f67a45c7909828a0f66" + integrity sha512-lGVys55Qb00Wvh8DMAocp5kIcaNzEFTmGhfFd88LfaogYTRKrdxgtlO5H6S49v2Nd8R2C6wLOal0qv6/kCkOwA== -"@rollup/rollup-android-arm64@4.37.0": - version "4.37.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.37.0.tgz#6edc6ffc8af8773e4bc28c72894dd5e846b8ee6c" - integrity sha512-6U3SlVyMxezt8Y+/iEBcbp945uZjJwjZimu76xoG7tO1av9VO691z8PkhzQ85ith2I8R2RddEPeSfcbyPfD4hA== +"@rollup/rollup-android-arm64@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.39.0.tgz#9c136034d3d9ed29d0b138c74dd63c5744507fca" + integrity sha512-It9+M1zE31KWfqh/0cJLrrsCPiF72PoJjIChLX+rEcujVRCb4NLQ5QzFkzIZW8Kn8FTbvGQBY5TkKBau3S8cCQ== -"@rollup/rollup-darwin-arm64@4.37.0": - version "4.37.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.37.0.tgz#737a7b8be9ff79bd24a7efaae0903e8c66ac0676" - integrity sha512-+iTQ5YHuGmPt10NTzEyMPbayiNTcOZDWsbxZYR1ZnmLnZxG17ivrPSWFO9j6GalY0+gV3Jtwrrs12DBscxnlYA== +"@rollup/rollup-darwin-arm64@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.39.0.tgz#830d07794d6a407c12b484b8cf71affd4d3800a6" + integrity sha512-lXQnhpFDOKDXiGxsU9/l8UEGGM65comrQuZ+lDcGUx+9YQ9dKpF3rSEGepyeR5AHZ0b5RgiligsBhWZfSSQh8Q== -"@rollup/rollup-darwin-x64@4.37.0": - version "4.37.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.37.0.tgz#a6a697bb685ca9462a7caeea5f22f6a686acff1f" - integrity sha512-m8W2UbxLDcmRKVjgl5J/k4B8d7qX2EcJve3Sut7YGrQoPtCIQGPH5AMzuFvYRWZi0FVS0zEY4c8uttPfX6bwYQ== +"@rollup/rollup-darwin-x64@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.39.0.tgz#b26f0f47005c1fa5419a880f323ed509dc8d885c" + integrity sha512-mKXpNZLvtEbgu6WCkNij7CGycdw9cJi2k9v0noMb++Vab12GZjFgUXD69ilAbBh034Zwn95c2PNSz9xM7KYEAQ== -"@rollup/rollup-freebsd-arm64@4.37.0": - version "4.37.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.37.0.tgz#18113e8e133ccb6de4b9dc9d3e09f7acff344cb7" - integrity sha512-FOMXGmH15OmtQWEt174v9P1JqqhlgYge/bUjIbiVD1nI1NeJ30HYT9SJlZMqdo1uQFyt9cz748F1BHghWaDnVA== +"@rollup/rollup-freebsd-arm64@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.39.0.tgz#2b60c81ac01ff7d1bc8df66aee7808b6690c6d19" + integrity sha512-jivRRlh2Lod/KvDZx2zUR+I4iBfHcu2V/BA2vasUtdtTN2Uk3jfcZczLa81ESHZHPHy4ih3T/W5rPFZ/hX7RtQ== -"@rollup/rollup-freebsd-x64@4.37.0": - version "4.37.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.37.0.tgz#5e56ffd4a0d7ccfcbc86867c40b8f0e6a2c0c81e" - integrity sha512-SZMxNttjPKvV14Hjck5t70xS3l63sbVwl98g3FlVVx2YIDmfUIy29jQrsw06ewEYQ8lQSuY9mpAPlmgRD2iSsA== +"@rollup/rollup-freebsd-x64@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.39.0.tgz#4826af30f4d933d82221289068846c9629cc628c" + integrity sha512-8RXIWvYIRK9nO+bhVz8DwLBepcptw633gv/QT4015CpJ0Ht8punmoHU/DuEd3iw9Hr8UwUV+t+VNNuZIWYeY7Q== -"@rollup/rollup-linux-arm-gnueabihf@4.37.0": - version "4.37.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.37.0.tgz#5addf1a51e1495ae7ff28d26442a88adf629c980" - integrity sha512-hhAALKJPidCwZcj+g+iN+38SIOkhK2a9bqtJR+EtyxrKKSt1ynCBeqrQy31z0oWU6thRZzdx53hVgEbRkuI19w== +"@rollup/rollup-linux-arm-gnueabihf@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.39.0.tgz#a1f4f963d5dcc9e5575c7acf9911824806436bf7" + integrity sha512-mz5POx5Zu58f2xAG5RaRRhp3IZDK7zXGk5sdEDj4o96HeaXhlUwmLFzNlc4hCQi5sGdR12VDgEUqVSHer0lI9g== -"@rollup/rollup-linux-arm-musleabihf@4.37.0": - version "4.37.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.37.0.tgz#00cddb9ab51086c5f2cd33cd4738259e24be4e73" - integrity sha512-jUb/kmn/Gd8epbHKEqkRAxq5c2EwRt0DqhSGWjPFxLeFvldFdHQs/n8lQ9x85oAeVb6bHcS8irhTJX2FCOd8Ag== +"@rollup/rollup-linux-arm-musleabihf@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.39.0.tgz#e924b0a8b7c400089146f6278446e6b398b75a06" + integrity sha512-+YDwhM6gUAyakl0CD+bMFpdmwIoRDzZYaTWV3SDRBGkMU/VpIBYXXEvkEcTagw/7VVkL2vA29zU4UVy1mP0/Yw== -"@rollup/rollup-linux-arm64-gnu@4.37.0": - version "4.37.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.37.0.tgz#c3b4324496236b6fd9f31fda5701c6d6060b1512" - integrity sha512-oNrJxcQT9IcbcmKlkF+Yz2tmOxZgG9D9GRq+1OE6XCQwCVwxixYAa38Z8qqPzQvzt1FCfmrHX03E0pWoXm1DqA== +"@rollup/rollup-linux-arm64-gnu@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.39.0.tgz#cb43303274ec9a716f4440b01ab4e20c23aebe20" + integrity sha512-EKf7iF7aK36eEChvlgxGnk7pdJfzfQbNvGV/+l98iiMwU23MwvmV0Ty3pJ0p5WQfm3JRHOytSIqD9LB7Bq7xdQ== -"@rollup/rollup-linux-arm64-musl@4.37.0": - version "4.37.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.37.0.tgz#b5222180bb1a50e6e9bc8263efd771c1ce770b6f" - integrity sha512-pfxLBMls+28Ey2enpX3JvjEjaJMBX5XlPCZNGxj4kdJyHduPBXtxYeb8alo0a7bqOoWZW2uKynhHxF/MWoHaGQ== +"@rollup/rollup-linux-arm64-musl@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.39.0.tgz#531c92533ce3d167f2111bfcd2aa1a2041266987" + integrity sha512-vYanR6MtqC7Z2SNr8gzVnzUul09Wi1kZqJaek3KcIlI/wq5Xtq4ZPIZ0Mr/st/sv/NnaPwy/D4yXg5x0B3aUUA== -"@rollup/rollup-linux-loongarch64-gnu@4.37.0": - version "4.37.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.37.0.tgz#5660181c1c1efb7b19c7a531d496e685236c5ce7" - integrity sha512-yCE0NnutTC/7IGUq/PUHmoeZbIwq3KRh02e9SfFh7Vmc1Z7atuJRYWhRME5fKgT8aS20mwi1RyChA23qSyRGpA== +"@rollup/rollup-linux-loongarch64-gnu@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.39.0.tgz#53403889755d0c37c92650aad016d5b06c1b061a" + integrity sha512-NMRUT40+h0FBa5fb+cpxtZoGAggRem16ocVKIv5gDB5uLDgBIwrIsXlGqYbLwW8YyO3WVTk1FkFDjMETYlDqiw== -"@rollup/rollup-linux-powerpc64le-gnu@4.37.0": - version "4.37.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.37.0.tgz#8273166495d2f5d3fbc556cf42a5a6e24b78bdab" - integrity sha512-NxcICptHk06E2Lh3a4Pu+2PEdZ6ahNHuK7o6Np9zcWkrBMuv21j10SQDJW3C9Yf/A/P7cutWoC/DptNLVsZ0VQ== +"@rollup/rollup-linux-powerpc64le-gnu@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.39.0.tgz#f669f162e29094c819c509e99dbeced58fc708f9" + integrity sha512-0pCNnmxgduJ3YRt+D+kJ6Ai/r+TaePu9ZLENl+ZDV/CdVczXl95CbIiwwswu4L+K7uOIGf6tMo2vm8uadRaICQ== -"@rollup/rollup-linux-riscv64-gnu@4.37.0": - version "4.37.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.37.0.tgz#9677e39288ccc91ebcd707cdd794732d701cd174" - integrity sha512-PpWwHMPCVpFZLTfLq7EWJWvrmEuLdGn1GMYcm5MV7PaRgwCEYJAwiN94uBuZev0/J/hFIIJCsYw4nLmXA9J7Pw== +"@rollup/rollup-linux-riscv64-gnu@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.39.0.tgz#4bab37353b11bcda5a74ca11b99dea929657fd5f" + integrity sha512-t7j5Zhr7S4bBtksT73bO6c3Qa2AV/HqiGlj9+KB3gNF5upcVkx+HLgxTm8DK4OkzsOYqbdqbLKwvGMhylJCPhQ== -"@rollup/rollup-linux-riscv64-musl@4.37.0": - version "4.37.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.37.0.tgz#71cc5ca7be1ed263357618bfe4f8f50c09725a7e" - integrity sha512-DTNwl6a3CfhGTAOYZ4KtYbdS8b+275LSLqJVJIrPa5/JuIufWWZ/QFvkxp52gpmguN95eujrM68ZG+zVxa8zHA== +"@rollup/rollup-linux-riscv64-musl@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.39.0.tgz#4d66be1ce3cfd40a7910eb34dddc7cbd4c2dd2a5" + integrity sha512-m6cwI86IvQ7M93MQ2RF5SP8tUjD39Y7rjb1qjHgYh28uAPVU8+k/xYWvxRO3/tBN2pZkSMa5RjnPuUIbrwVxeA== -"@rollup/rollup-linux-s390x-gnu@4.37.0": - version "4.37.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.37.0.tgz#6b0b7df33eb32b0ee7423898b183acc1b5fee33e" - integrity sha512-hZDDU5fgWvDdHFuExN1gBOhCuzo/8TMpidfOR+1cPZJflcEzXdCy1LjnklQdW8/Et9sryOPJAKAQRw8Jq7Tg+A== +"@rollup/rollup-linux-s390x-gnu@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.39.0.tgz#7181c329395ed53340a0c59678ad304a99627f6d" + integrity sha512-iRDJd2ebMunnk2rsSBYlsptCyuINvxUfGwOUldjv5M4tpa93K8tFMeYGpNk2+Nxl+OBJnBzy2/JCscGeO507kA== -"@rollup/rollup-linux-x64-gnu@4.37.0": - version "4.37.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.37.0.tgz#52c27717d3c4819d13b5ebc2373ddea099d2e71b" - integrity sha512-pKivGpgJM5g8dwj0ywBwe/HeVAUSuVVJhUTa/URXjxvoyTT/AxsLTAbkHkDHG7qQxLoW2s3apEIl26uUe08LVQ== +"@rollup/rollup-linux-x64-gnu@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.39.0.tgz#00825b3458094d5c27cb4ed66e88bfe9f1e65f90" + integrity sha512-t9jqYw27R6Lx0XKfEFe5vUeEJ5pF3SGIM6gTfONSMb7DuG6z6wfj2yjcoZxHg129veTqU7+wOhY6GX8wmf90dA== -"@rollup/rollup-linux-x64-musl@4.37.0": - version "4.37.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.37.0.tgz#c134a22d30642345de8b799c816345674bf68019" - integrity sha512-E2lPrLKE8sQbY/2bEkVTGDEk4/49UYRVWgj90MY8yPjpnGBQ+Xi1Qnr7b7UIWw1NOggdFQFOLZ8+5CzCiz143w== +"@rollup/rollup-linux-x64-musl@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.39.0.tgz#81caac2a31b8754186f3acc142953a178fcd6fba" + integrity sha512-ThFdkrFDP55AIsIZDKSBWEt/JcWlCzydbZHinZ0F/r1h83qbGeenCt/G/wG2O0reuENDD2tawfAj2s8VK7Bugg== -"@rollup/rollup-win32-arm64-msvc@4.37.0": - version "4.37.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.37.0.tgz#8063d5f8195dd1845e056d069366fbe06a424d09" - integrity sha512-Jm7biMazjNzTU4PrQtr7VS8ibeys9Pn29/1bm4ph7CP2kf21950LgN+BaE2mJ1QujnvOc6p54eWWiVvn05SOBg== +"@rollup/rollup-win32-arm64-msvc@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.39.0.tgz#3a3f421f5ce9bd99ed20ce1660cce7cee3e9f199" + integrity sha512-jDrLm6yUtbOg2TYB3sBF3acUnAwsIksEYjLeHL+TJv9jg+TmTwdyjnDex27jqEMakNKf3RwwPahDIt7QXCSqRQ== -"@rollup/rollup-win32-ia32-msvc@4.37.0": - version "4.37.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.37.0.tgz#891d90e3b5517f9d290bb416afdfe2ebfb12139e" - integrity sha512-e3/1SFm1OjefWICB2Ucstg2dxYDkDTZGDYgwufcbsxTHyqQps1UQf33dFEChBNmeSsTOyrjw2JJq0zbG5GF6RA== +"@rollup/rollup-win32-ia32-msvc@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.39.0.tgz#a44972d5cdd484dfd9cf3705a884bf0c2b7785a7" + integrity sha512-6w9uMuza+LbLCVoNKL5FSLE7yvYkq9laSd09bwS0tMjkwXrmib/4KmoJcrKhLWHvw19mwU+33ndC69T7weNNjQ== -"@rollup/rollup-win32-x64-msvc@4.37.0": - version "4.37.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.37.0.tgz#a54d7304c3bd45573d8bcd1270de89771f8195fe" - integrity sha512-LWbXUBwn/bcLx2sSsqy7pK5o+Nr+VCoRoAohfJ5C/aBio9nfJmGQqHAhU6pwxV/RmyTk5AqdySma7uwWGlmeuA== +"@rollup/rollup-win32-x64-msvc@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.39.0.tgz#bfe0214e163f70c4fec1c8f7bb8ce266f4c05b7e" + integrity sha512-yAkUOkIKZlK5dl7u6dg897doBgLXmUHhIINM2c+sND3DZwnrdQkkSiDh7N75Ll4mM4dxSkYfXqU9fW3lLkMFug== "@scure/base@1.1.1": version "1.1.1" @@ -889,9 +896,9 @@ integrity sha512-YaDrquRpZwfcXbnlDsSrBQNCChVOT9MGuSg+dMAyfsAa1SmiAhrA5jUYUiIMC59G92kIbY/AaQOWcBdq+lh+zg== "@sveltejs/kit@^2.0.0": - version "2.20.2" - resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-2.20.2.tgz#ec1e431083fdb924dd583d5520b94b94f003e67e" - integrity sha512-Dv8TOAZC9vyfcAB9TMsvUEJsRbklRTeNfcYBPaeH6KnABJ99i3CvCB2eNx8fiiliIqe+9GIchBg4RodRH5p1BQ== + version "2.20.4" + resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-2.20.4.tgz#84d665a770ed38c43d8bda27a86ac3220f9a277d" + integrity sha512-B3Y1mb1Qjt57zXLVch5tfqsK/ebHe6uYTcFSnGFNwRpId3+fplLgQK6Z2zhDVBezSsPuhDq6Pry+9PA88ocN6Q== dependencies: "@types/cookie" "^0.6.0" cookie "^0.6.0" @@ -981,16 +988,16 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== -"@types/estree@1.0.6", "@types/estree@^1.0.0": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" - integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== - -"@types/estree@^1.0.6": +"@types/estree@1.0.7", "@types/estree@^1.0.6": version "1.0.7" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.7.tgz#4158d3105276773d5b7695cd4834b1722e4f37a8" integrity sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ== +"@types/estree@^1.0.0": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" + integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== + "@types/json-schema@^7.0.15": version "7.0.15" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" @@ -1001,62 +1008,62 @@ resolved "https://registry.yarnpkg.com/@types/swagger-ui/-/swagger-ui-3.52.4.tgz#96c4886e8f86ae392f8d940bf7029cf490a51c72" integrity sha512-7NV7q8BfupqdQxr26OkM0g0YEPB9uXnKGzXadgcearvI9MoCHt3F72lPTX3fZZIlrr21DC0IK26wcDMZ37oFDA== -"@typescript-eslint/eslint-plugin@8.28.0", "@typescript-eslint/eslint-plugin@^8.7.0": - version "8.28.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.28.0.tgz#ad1465aa6fe7e937801c291648dec951c4dc38e6" - integrity sha512-lvFK3TCGAHsItNdWZ/1FkvpzCxTHUVuFrdnOGLMa0GGCFIbCgQWVk3CzCGdA7kM3qGVc+dfW9tr0Z/sHnGDFyg== +"@typescript-eslint/eslint-plugin@8.29.0", "@typescript-eslint/eslint-plugin@^8.7.0": + version "8.29.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.29.0.tgz#151c4878700a5ad229ce6713d2674d58b626b3d9" + integrity sha512-PAIpk/U7NIS6H7TEtN45SPGLQaHNgB7wSjsQV/8+KYokAb2T/gloOA/Bee2yd4/yKVhPKe5LlaUGhAZk5zmSaQ== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.28.0" - "@typescript-eslint/type-utils" "8.28.0" - "@typescript-eslint/utils" "8.28.0" - "@typescript-eslint/visitor-keys" "8.28.0" + "@typescript-eslint/scope-manager" "8.29.0" + "@typescript-eslint/type-utils" "8.29.0" + "@typescript-eslint/utils" "8.29.0" + "@typescript-eslint/visitor-keys" "8.29.0" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" ts-api-utils "^2.0.1" -"@typescript-eslint/parser@8.28.0", "@typescript-eslint/parser@^8.7.0": - version "8.28.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.28.0.tgz#85321707e8711c0e66a949ea228224af35f45c98" - integrity sha512-LPcw1yHD3ToaDEoljFEfQ9j2xShY367h7FZ1sq5NJT9I3yj4LHer1Xd1yRSOdYy9BpsrxU7R+eoDokChYM53lQ== +"@typescript-eslint/parser@8.29.0", "@typescript-eslint/parser@^8.7.0": + version "8.29.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.29.0.tgz#b98841e0a8099728cb8583da92326fcb7f5be1d2" + integrity sha512-8C0+jlNJOwQso2GapCVWWfW/rzaq7Lbme+vGUFKE31djwNncIpgXD7Cd4weEsDdkoZDjH0lwwr3QDQFuyrMg9g== dependencies: - "@typescript-eslint/scope-manager" "8.28.0" - "@typescript-eslint/types" "8.28.0" - "@typescript-eslint/typescript-estree" "8.28.0" - "@typescript-eslint/visitor-keys" "8.28.0" + "@typescript-eslint/scope-manager" "8.29.0" + "@typescript-eslint/types" "8.29.0" + "@typescript-eslint/typescript-estree" "8.29.0" + "@typescript-eslint/visitor-keys" "8.29.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@8.28.0": - version "8.28.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.28.0.tgz#e495b20438a3787e00498774d5625e620d68f9fe" - integrity sha512-u2oITX3BJwzWCapoZ/pXw6BCOl8rJP4Ij/3wPoGvY8XwvXflOzd1kLrDUUUAIEdJSFh+ASwdTHqtan9xSg8buw== +"@typescript-eslint/scope-manager@8.29.0": + version "8.29.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.29.0.tgz#8fd9872823aef65ff71d3f6d1ec9316ace0b6bf3" + integrity sha512-aO1PVsq7Gm+tcghabUpzEnVSFMCU4/nYIgC2GOatJcllvWfnhrgW0ZEbnTxm36QsikmCN1K/6ZgM7fok2I7xNw== dependencies: - "@typescript-eslint/types" "8.28.0" - "@typescript-eslint/visitor-keys" "8.28.0" + "@typescript-eslint/types" "8.29.0" + "@typescript-eslint/visitor-keys" "8.29.0" -"@typescript-eslint/type-utils@8.28.0": - version "8.28.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.28.0.tgz#fc565414ebc16de1fc65e0dd8652ce02c78ca61f" - integrity sha512-oRoXu2v0Rsy/VoOGhtWrOKDiIehvI+YNrDk5Oqj40Mwm0Yt01FC/Q7nFqg088d3yAsR1ZcZFVfPCTTFCe/KPwg== +"@typescript-eslint/type-utils@8.29.0": + version "8.29.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.29.0.tgz#98dcfd1193cb4e2b2d0294a8656ce5eb58c443a9" + integrity sha512-ahaWQ42JAOx+NKEf5++WC/ua17q5l+j1GFrbbpVKzFL/tKVc0aYY8rVSYUpUvt2hUP1YBr7mwXzx+E/DfUWI9Q== dependencies: - "@typescript-eslint/typescript-estree" "8.28.0" - "@typescript-eslint/utils" "8.28.0" + "@typescript-eslint/typescript-estree" "8.29.0" + "@typescript-eslint/utils" "8.29.0" debug "^4.3.4" ts-api-utils "^2.0.1" -"@typescript-eslint/types@8.28.0": - version "8.28.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.28.0.tgz#7c73878385edfd9674c7aa10975e6c484b4f896e" - integrity sha512-bn4WS1bkKEjx7HqiwG2JNB3YJdC1q6Ue7GyGlwPHyt0TnVq6TtD/hiOdTZt71sq0s7UzqBFXD8t8o2e63tXgwA== +"@typescript-eslint/types@8.29.0": + version "8.29.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.29.0.tgz#65add70ab4ef66beaa42a5addf87dab2b05b1f33" + integrity sha512-wcJL/+cOXV+RE3gjCyl/V2G877+2faqvlgtso/ZRbTCnZazh0gXhe+7gbAnfubzN2bNsBtZjDvlh7ero8uIbzg== -"@typescript-eslint/typescript-estree@8.28.0": - version "8.28.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.28.0.tgz#56b999f26f7ca67b9d75d6a67af5c8b8e4e80114" - integrity sha512-H74nHEeBGeklctAVUvmDkxB1mk+PAZ9FiOMPFncdqeRBXxk1lWSYraHw8V12b7aa6Sg9HOBNbGdSHobBPuQSuA== +"@typescript-eslint/typescript-estree@8.29.0": + version "8.29.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.29.0.tgz#d201a4f115327ec90496307c9958262285065b00" + integrity sha512-yOfen3jE9ISZR/hHpU/bmNvTtBW1NjRbkSFdZOksL1N+ybPEE7UVGMwqvS6CP022Rp00Sb0tdiIkhSCe6NI8ow== dependencies: - "@typescript-eslint/types" "8.28.0" - "@typescript-eslint/visitor-keys" "8.28.0" + "@typescript-eslint/types" "8.29.0" + "@typescript-eslint/visitor-keys" "8.29.0" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" @@ -1064,22 +1071,22 @@ semver "^7.6.0" ts-api-utils "^2.0.1" -"@typescript-eslint/utils@8.28.0": - version "8.28.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.28.0.tgz#7850856620a896b7ac621ac12d49c282aefbb528" - integrity sha512-OELa9hbTYciYITqgurT1u/SzpQVtDLmQMFzy/N8pQE+tefOyCWT79jHsav294aTqV1q1u+VzqDGbuujvRYaeSQ== +"@typescript-eslint/utils@8.29.0": + version "8.29.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.29.0.tgz#d6d22b19c8c4812a874f00341f686b45b9fe895f" + integrity sha512-gX/A0Mz9Bskm8avSWFcK0gP7cZpbY4AIo6B0hWYFCaIsz750oaiWR4Jr2CI+PQhfW1CpcQr9OlfPS+kMFegjXA== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.28.0" - "@typescript-eslint/types" "8.28.0" - "@typescript-eslint/typescript-estree" "8.28.0" + "@typescript-eslint/scope-manager" "8.29.0" + "@typescript-eslint/types" "8.29.0" + "@typescript-eslint/typescript-estree" "8.29.0" -"@typescript-eslint/visitor-keys@8.28.0": - version "8.28.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.28.0.tgz#18eb9a25cc9dadb027835c58efe93a5c4ee81969" - integrity sha512-hbn8SZ8w4u2pRwgQ1GlUrPKE+t2XvcCW5tTRF7j6SMYIuYG37XuzIW44JCZPa36evi0Oy2SnM664BlIaAuQcvg== +"@typescript-eslint/visitor-keys@8.29.0": + version "8.29.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.29.0.tgz#2356336c9efdc3597ffcd2aa1ce95432852b743d" + integrity sha512-Sne/pVz8ryR03NFK21VpN88dZ2FdQXOlq3VIklbrTYEt8yXtRFr9tvUhqvCeKjqYk5FSim37sHbooT6vzBTZcg== dependencies: - "@typescript-eslint/types" "8.28.0" + "@typescript-eslint/types" "8.29.0" eslint-visitor-keys "^4.2.0" "@vitest/expect@2.1.9": @@ -1261,9 +1268,9 @@ bootstrap-icons@^1.11.3: integrity sha512-+3lpHrCw/it2/7lBL15VR0HEumaBss0+f/Lb6ZvHISn1mlK83jjFpooTLsMWbIjJMDjDjOExMsTxnXSIT4k4ww== bootstrap@^5.3.3: - version "5.3.3" - resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-5.3.3.tgz#de35e1a765c897ac940021900fcbb831602bac38" - integrity sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg== + version "5.3.5" + resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-5.3.5.tgz#be42cfe0d580e97ee1abb7d38ce94f5c393c9bb6" + integrity sha512-ct1CHKtiobRimyGzmsSldEtM03E8fcEX4Tb3dGXz1V8faRwM50+vfHwTzOxB3IlKO7m+9vTH3s/3C6T2EAPeTA== brace-expansion@^1.1.7: version "1.1.11" @@ -1758,17 +1765,17 @@ eslint-visitor-keys@^4.2.0: integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw== eslint@^9.11.0: - version "9.23.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.23.0.tgz#b88f3ab6dc83bcb927fdb54407c69ffe5f2441a6" - integrity sha512-jV7AbNoFPAY1EkFYpLq5bslU9NLNO8xnEeQXwErNibVryjk67wHVmddTBilc5srIttJDBrB0eMHKZBFbSIABCw== + version "9.24.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.24.0.tgz#9a7f2e6cb2de81c405ab244b02f4584c79dc6bee" + integrity sha512-eh/jxIEJyZrvbWRe4XuVclLPDYSYYYgLy5zXGGxD6j8zjSAxFEzI2fL/8xNq6O2yKqVt+eF2YhV+hxjV6UKXwQ== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.12.1" - "@eslint/config-array" "^0.19.2" + "@eslint/config-array" "^0.20.0" "@eslint/config-helpers" "^0.2.0" "@eslint/core" "^0.12.0" "@eslint/eslintrc" "^3.3.1" - "@eslint/js" "9.23.0" + "@eslint/js" "9.24.0" "@eslint/plugin-kit" "^0.2.7" "@humanfs/node" "^0.16.6" "@humanwhocodes/module-importer" "^1.0.1" @@ -2548,9 +2555,9 @@ node-addon-api@^7.0.0: integrity sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ== nostr-tools@^2.7.1: - version "2.11.0" - resolved "https://registry.yarnpkg.com/nostr-tools/-/nostr-tools-2.11.0.tgz#b86d64f1fbae7c69675e8675518ab80b19ec9358" - integrity sha512-kRtXI9j5f45NvIcdJacQ0UEAfEb7p/jhZqhAGLQWtUd5idZJPYdSyR8hdw+MmpGH4TCMH5plZrXzFltIIZrkEA== + version "2.12.0" + resolved "https://registry.yarnpkg.com/nostr-tools/-/nostr-tools-2.12.0.tgz#09f270e32453611a85c3670ff86ae856f3cbd21a" + integrity sha512-pUWEb020gTvt1XZvTa8AKNIHWFapjsv2NKyk43Ez2nnvz6WSXsrTFE0XtkNLSRBjPn6EpxumKeNiVzLz74jNSA== dependencies: "@noble/ciphers" "^0.5.1" "@noble/curves" "1.2.0" @@ -2863,32 +2870,32 @@ rollup-plugin-visualizer@^5.12.0: yargs "^17.5.1" rollup@^4.20.0: - version "4.37.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.37.0.tgz#e4172f8bdb6ea7df08a1b0acf99abeccb2250378" - integrity sha512-iAtQy/L4QFU+rTJ1YUjXqJOJzuwEghqWzCEYD2FEghT7Gsy1VdABntrO4CLopA5IkflTyqNiLNwPcOJ3S7UKLg== + version "4.39.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.39.0.tgz#9dc1013b70c0e2cb70ef28350142e9b81b3f640c" + integrity sha512-thI8kNc02yNvnmJp8dr3fNWJ9tCONDhp6TV35X6HkKGGs9E6q7YWCHbe5vKiTa7TAiNcFEmXKj3X/pG2b3ci0g== dependencies: - "@types/estree" "1.0.6" + "@types/estree" "1.0.7" optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.37.0" - "@rollup/rollup-android-arm64" "4.37.0" - "@rollup/rollup-darwin-arm64" "4.37.0" - "@rollup/rollup-darwin-x64" "4.37.0" - "@rollup/rollup-freebsd-arm64" "4.37.0" - "@rollup/rollup-freebsd-x64" "4.37.0" - "@rollup/rollup-linux-arm-gnueabihf" "4.37.0" - "@rollup/rollup-linux-arm-musleabihf" "4.37.0" - "@rollup/rollup-linux-arm64-gnu" "4.37.0" - "@rollup/rollup-linux-arm64-musl" "4.37.0" - "@rollup/rollup-linux-loongarch64-gnu" "4.37.0" - "@rollup/rollup-linux-powerpc64le-gnu" "4.37.0" - "@rollup/rollup-linux-riscv64-gnu" "4.37.0" - "@rollup/rollup-linux-riscv64-musl" "4.37.0" - "@rollup/rollup-linux-s390x-gnu" "4.37.0" - "@rollup/rollup-linux-x64-gnu" "4.37.0" - "@rollup/rollup-linux-x64-musl" "4.37.0" - "@rollup/rollup-win32-arm64-msvc" "4.37.0" - "@rollup/rollup-win32-ia32-msvc" "4.37.0" - "@rollup/rollup-win32-x64-msvc" "4.37.0" + "@rollup/rollup-android-arm-eabi" "4.39.0" + "@rollup/rollup-android-arm64" "4.39.0" + "@rollup/rollup-darwin-arm64" "4.39.0" + "@rollup/rollup-darwin-x64" "4.39.0" + "@rollup/rollup-freebsd-arm64" "4.39.0" + "@rollup/rollup-freebsd-x64" "4.39.0" + "@rollup/rollup-linux-arm-gnueabihf" "4.39.0" + "@rollup/rollup-linux-arm-musleabihf" "4.39.0" + "@rollup/rollup-linux-arm64-gnu" "4.39.0" + "@rollup/rollup-linux-arm64-musl" "4.39.0" + "@rollup/rollup-linux-loongarch64-gnu" "4.39.0" + "@rollup/rollup-linux-powerpc64le-gnu" "4.39.0" + "@rollup/rollup-linux-riscv64-gnu" "4.39.0" + "@rollup/rollup-linux-riscv64-musl" "4.39.0" + "@rollup/rollup-linux-s390x-gnu" "4.39.0" + "@rollup/rollup-linux-x64-gnu" "4.39.0" + "@rollup/rollup-linux-x64-musl" "4.39.0" + "@rollup/rollup-win32-arm64-msvc" "4.39.0" + "@rollup/rollup-win32-ia32-msvc" "4.39.0" + "@rollup/rollup-win32-x64-msvc" "4.39.0" fsevents "~2.3.2" rrweb-cssom@^0.7.1: @@ -2916,9 +2923,9 @@ sade@^1.7.4, sade@^1.8.1: integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== sass@^1.79.3: - version "1.86.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.86.0.tgz#f49464fb6237a903a93f4e8760ef6e37a5030114" - integrity sha512-zV8vGUld/+mP4KbMLJMX7TyGCuUp7hnkOScgCMsWuHtns8CWBoz+vmEhoGMXsaJrbUP8gj+F1dLvVe79sK8UdA== + version "1.86.3" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.86.3.tgz#0a0d9ea97cb6665e73f409639f8533ce057464c9" + integrity sha512-iGtg8kus4GrsGLRDLRBRHY9dNVA78ZaS7xr01cWnS7PEMQyFtTqBiyCrfpTYTZXRWM94akzckYjh8oADfFNTzw== dependencies: chokidar "^4.0.0" immutable "^5.0.2" @@ -3284,13 +3291,13 @@ type@^2.7.2: integrity sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ== typescript-eslint@^8.7.0: - version "8.28.0" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.28.0.tgz#70b0ac51dc15eeb9fcfad66c0b0ec78f3ad341e3" - integrity sha512-jfZtxJoHm59bvoCMYCe2BM0/baMswRhMmYhy+w6VfcyHrjxZ0OJe0tGasydCpIpA+A/WIJhTyZfb3EtwNC/kHQ== + version "8.29.0" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.29.0.tgz#fc059b4c840889e5180dd822594eb46fa4619093" + integrity sha512-ep9rVd9B4kQsZ7ZnWCVxUE/xDLUUUsRzE0poAeNu+4CkFErLfuvPt/qtm2EpnSyfvsR0S6QzDFSrPCFBwf64fg== dependencies: - "@typescript-eslint/eslint-plugin" "8.28.0" - "@typescript-eslint/parser" "8.28.0" - "@typescript-eslint/utils" "8.28.0" + "@typescript-eslint/eslint-plugin" "8.29.0" + "@typescript-eslint/parser" "8.29.0" + "@typescript-eslint/utils" "8.29.0" typescript@^5.5.4: version "5.6.3" @@ -3337,9 +3344,9 @@ vite@^5.0.0: fsevents "~2.3.3" vite@^5.4.7: - version "5.4.15" - resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.15.tgz#2941547f10ebb4bf9b0fa0da863c06711eb7e5e5" - integrity sha512-6ANcZRivqL/4WtwPGTKNaosuNJr5tWiftOC7liM7G9+rMb8+oeJeyzymDu4rTN93seySBmbjSfsS3Vzr19KNtA== + version "5.4.17" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.17.tgz#4bf61dd4cdbf64b0d6661f5dba76954cc81d5082" + integrity sha512-5+VqZryDj4wgCs55o9Lp+p8GE78TLVg0lasCH5xFZ4jacZjtqZa6JUw9/p0WeAojaOfncSM6v77InkFPGnvPvg== dependencies: esbuild "^0.21.3" postcss "^8.4.43" From 0e278d1be4160ab382213e80ec0716f8aad14a65 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Sat, 5 Apr 2025 22:33:55 +0200 Subject: [PATCH 70/74] feat: Replace timezone offset with timezone selector --- .../components/settings/SystemSettings.svelte | 25 +- .../settings/TimezoneSelector.svelte | 56 +++ static/zones.json | 463 ++++++++++++++++++ tests/playwright/test.ts | 22 +- 4 files changed, 535 insertions(+), 31 deletions(-) create mode 100644 src/lib/components/settings/TimezoneSelector.svelte create mode 100644 static/zones.json diff --git a/src/lib/components/settings/SystemSettings.svelte b/src/lib/components/settings/SystemSettings.svelte index 5f12e2d..f774c8f 100644 --- a/src/lib/components/settings/SystemSettings.svelte +++ b/src/lib/components/settings/SystemSettings.svelte @@ -6,36 +6,21 @@ import { uiSettings } from '$lib/uiSettings'; import EyeIcon from 'svelte-bootstrap-icons/lib/Eye.svelte'; import EyeSlashIcon from 'svelte-bootstrap-icons/lib/EyeSlash.svelte'; + import TimezoneSelector from './TimezoneSelector.svelte'; export let settings; export let isOpen = false; let showPassword = false; - - const getTzOffsetFromSystem = () => { - const dt = new Date(); - let diffTZ = dt.getTimezoneOffset(); - $settings.tzOffset = diffTZ * -1; - }; - ($settings.tzString = value)} size={$uiSettings.inputSize} - > - - + /> {#if $settings.httpAuthEnabled} + import { _ } from 'svelte-i18n'; + import { Row, Button, Col, Label, InputGroup, Input, FormText } from '@sveltestrap/sveltestrap'; + import { onMount } from 'svelte'; + + export let value: string; + export let onChange: (value: string) => void; + export let size: string = 'sm'; + + let timezones: string[] = []; + let selectedTimezone: string = ''; + + onMount(async () => { + const response = await fetch('/zones.json'); + const zones = await response.json(); + + // Convert zones data into array of {name, offset} objects + timezones = Object.keys(zones); + + // Set the selected timezone to the current value + selectedTimezone = value; + }); + + function handleTimezoneChange(event: Event) { + const select = event.target as HTMLSelectElement; + onChange(select.value); + } + + function getTzOffsetFromSystem() { + const detectedTzString = Intl.DateTimeFormat().resolvedOptions().timeZone; + + onChange(detectedTzString); + selectedTimezone = detectedTzString; + } + + + + + + + + {#each timezones as tz} + + {/each} + + + + {$_('section.settings.tzOffsetHelpText')} + + diff --git a/static/zones.json b/static/zones.json new file mode 100644 index 0000000..1b3f663 --- /dev/null +++ b/static/zones.json @@ -0,0 +1,463 @@ +{ + "Africa/Abidjan": "GMT0", + "Africa/Accra": "GMT0", + "Africa/Addis_Ababa": "EAT-3", + "Africa/Algiers": "CET-1", + "Africa/Asmara": "EAT-3", + "Africa/Bamako": "GMT0", + "Africa/Bangui": "WAT-1", + "Africa/Banjul": "GMT0", + "Africa/Bissau": "GMT0", + "Africa/Blantyre": "CAT-2", + "Africa/Brazzaville": "WAT-1", + "Africa/Bujumbura": "CAT-2", + "Africa/Cairo": "EET-2EEST,M4.5.5/0,M10.5.4/24", + "Africa/Casablanca": "<+01>-1", + "Africa/Ceuta": "CET-1CEST,M3.5.0,M10.5.0/3", + "Africa/Conakry": "GMT0", + "Africa/Dakar": "GMT0", + "Africa/Dar_es_Salaam": "EAT-3", + "Africa/Djibouti": "EAT-3", + "Africa/Douala": "WAT-1", + "Africa/El_Aaiun": "<+01>-1", + "Africa/Freetown": "GMT0", + "Africa/Gaborone": "CAT-2", + "Africa/Harare": "CAT-2", + "Africa/Johannesburg": "SAST-2", + "Africa/Juba": "CAT-2", + "Africa/Kampala": "EAT-3", + "Africa/Khartoum": "CAT-2", + "Africa/Kigali": "CAT-2", + "Africa/Kinshasa": "WAT-1", + "Africa/Lagos": "WAT-1", + "Africa/Libreville": "WAT-1", + "Africa/Lome": "GMT0", + "Africa/Luanda": "WAT-1", + "Africa/Lubumbashi": "CAT-2", + "Africa/Lusaka": "CAT-2", + "Africa/Malabo": "WAT-1", + "Africa/Maputo": "CAT-2", + "Africa/Maseru": "SAST-2", + "Africa/Mbabane": "SAST-2", + "Africa/Mogadishu": "EAT-3", + "Africa/Monrovia": "GMT0", + "Africa/Nairobi": "EAT-3", + "Africa/Ndjamena": "WAT-1", + "Africa/Niamey": "WAT-1", + "Africa/Nouakchott": "GMT0", + "Africa/Ouagadougou": "GMT0", + "Africa/Porto-Novo": "WAT-1", + "Africa/Sao_Tome": "GMT0", + "Africa/Tripoli": "EET-2", + "Africa/Tunis": "CET-1", + "Africa/Windhoek": "CAT-2", + "America/Adak": "HST10HDT,M3.2.0,M11.1.0", + "America/Anchorage": "AKST9AKDT,M3.2.0,M11.1.0", + "America/Anguilla": "AST4", + "America/Antigua": "AST4", + "America/Araguaina": "<-03>3", + "America/Argentina/Buenos_Aires": "<-03>3", + "America/Argentina/Catamarca": "<-03>3", + "America/Argentina/Cordoba": "<-03>3", + "America/Argentina/Jujuy": "<-03>3", + "America/Argentina/La_Rioja": "<-03>3", + "America/Argentina/Mendoza": "<-03>3", + "America/Argentina/Rio_Gallegos": "<-03>3", + "America/Argentina/Salta": "<-03>3", + "America/Argentina/San_Juan": "<-03>3", + "America/Argentina/San_Luis": "<-03>3", + "America/Argentina/Tucuman": "<-03>3", + "America/Argentina/Ushuaia": "<-03>3", + "America/Aruba": "AST4", + "America/Asuncion": "<-04>4<-03>,M10.1.0/0,M3.4.0/0", + "America/Atikokan": "EST5", + "America/Bahia": "<-03>3", + "America/Bahia_Banderas": "CST6", + "America/Barbados": "AST4", + "America/Belem": "<-03>3", + "America/Belize": "CST6", + "America/Blanc-Sablon": "AST4", + "America/Boa_Vista": "<-04>4", + "America/Bogota": "<-05>5", + "America/Boise": "MST7MDT,M3.2.0,M11.1.0", + "America/Cambridge_Bay": "MST7MDT,M3.2.0,M11.1.0", + "America/Campo_Grande": "<-04>4", + "America/Cancun": "EST5", + "America/Caracas": "<-04>4", + "America/Cayenne": "<-03>3", + "America/Cayman": "EST5", + "America/Chicago": "CST6CDT,M3.2.0,M11.1.0", + "America/Chihuahua": "CST6", + "America/Costa_Rica": "CST6", + "America/Creston": "MST7", + "America/Cuiaba": "<-04>4", + "America/Curacao": "AST4", + "America/Danmarkshavn": "GMT0", + "America/Dawson": "MST7", + "America/Dawson_Creek": "MST7", + "America/Denver": "MST7MDT,M3.2.0,M11.1.0", + "America/Detroit": "EST5EDT,M3.2.0,M11.1.0", + "America/Dominica": "AST4", + "America/Edmonton": "MST7MDT,M3.2.0,M11.1.0", + "America/Eirunepe": "<-05>5", + "America/El_Salvador": "CST6", + "America/Fort_Nelson": "MST7", + "America/Fortaleza": "<-03>3", + "America/Glace_Bay": "AST4ADT,M3.2.0,M11.1.0", + "America/Godthab": "<-02>2<-01>,M3.5.0/-1,M10.5.0/0", + "America/Goose_Bay": "AST4ADT,M3.2.0,M11.1.0", + "America/Grand_Turk": "EST5EDT,M3.2.0,M11.1.0", + "America/Grenada": "AST4", + "America/Guadeloupe": "AST4", + "America/Guatemala": "CST6", + "America/Guayaquil": "<-05>5", + "America/Guyana": "<-04>4", + "America/Halifax": "AST4ADT,M3.2.0,M11.1.0", + "America/Havana": "CST5CDT,M3.2.0/0,M11.1.0/1", + "America/Hermosillo": "MST7", + "America/Indiana/Indianapolis": "EST5EDT,M3.2.0,M11.1.0", + "America/Indiana/Knox": "CST6CDT,M3.2.0,M11.1.0", + "America/Indiana/Marengo": "EST5EDT,M3.2.0,M11.1.0", + "America/Indiana/Petersburg": "EST5EDT,M3.2.0,M11.1.0", + "America/Indiana/Tell_City": "CST6CDT,M3.2.0,M11.1.0", + "America/Indiana/Vevay": "EST5EDT,M3.2.0,M11.1.0", + "America/Indiana/Vincennes": "EST5EDT,M3.2.0,M11.1.0", + "America/Indiana/Winamac": "EST5EDT,M3.2.0,M11.1.0", + "America/Inuvik": "MST7MDT,M3.2.0,M11.1.0", + "America/Iqaluit": "EST5EDT,M3.2.0,M11.1.0", + "America/Jamaica": "EST5", + "America/Juneau": "AKST9AKDT,M3.2.0,M11.1.0", + "America/Kentucky/Louisville": "EST5EDT,M3.2.0,M11.1.0", + "America/Kentucky/Monticello": "EST5EDT,M3.2.0,M11.1.0", + "America/Kralendijk": "AST4", + "America/La_Paz": "<-04>4", + "America/Lima": "<-05>5", + "America/Los_Angeles": "PST8PDT,M3.2.0,M11.1.0", + "America/Lower_Princes": "AST4", + "America/Maceio": "<-03>3", + "America/Managua": "CST6", + "America/Manaus": "<-04>4", + "America/Marigot": "AST4", + "America/Martinique": "AST4", + "America/Matamoros": "CST6CDT,M3.2.0,M11.1.0", + "America/Mazatlan": "MST7", + "America/Menominee": "CST6CDT,M3.2.0,M11.1.0", + "America/Merida": "CST6", + "America/Metlakatla": "AKST9AKDT,M3.2.0,M11.1.0", + "America/Mexico_City": "CST6", + "America/Miquelon": "<-03>3<-02>,M3.2.0,M11.1.0", + "America/Moncton": "AST4ADT,M3.2.0,M11.1.0", + "America/Monterrey": "CST6", + "America/Montevideo": "<-03>3", + "America/Montreal": "EST5EDT,M3.2.0,M11.1.0", + "America/Montserrat": "AST4", + "America/Nassau": "EST5EDT,M3.2.0,M11.1.0", + "America/New_York": "EST5EDT,M3.2.0,M11.1.0", + "America/Nipigon": "EST5EDT,M3.2.0,M11.1.0", + "America/Nome": "AKST9AKDT,M3.2.0,M11.1.0", + "America/Noronha": "<-02>2", + "America/North_Dakota/Beulah": "CST6CDT,M3.2.0,M11.1.0", + "America/North_Dakota/Center": "CST6CDT,M3.2.0,M11.1.0", + "America/North_Dakota/New_Salem": "CST6CDT,M3.2.0,M11.1.0", + "America/Nuuk": "<-02>2<-01>,M3.5.0/-1,M10.5.0/0", + "America/Ojinaga": "CST6CDT,M3.2.0,M11.1.0", + "America/Panama": "EST5", + "America/Pangnirtung": "EST5EDT,M3.2.0,M11.1.0", + "America/Paramaribo": "<-03>3", + "America/Phoenix": "MST7", + "America/Port-au-Prince": "EST5EDT,M3.2.0,M11.1.0", + "America/Port_of_Spain": "AST4", + "America/Porto_Velho": "<-04>4", + "America/Puerto_Rico": "AST4", + "America/Punta_Arenas": "<-03>3", + "America/Rainy_River": "CST6CDT,M3.2.0,M11.1.0", + "America/Rankin_Inlet": "CST6CDT,M3.2.0,M11.1.0", + "America/Recife": "<-03>3", + "America/Regina": "CST6", + "America/Resolute": "CST6CDT,M3.2.0,M11.1.0", + "America/Rio_Branco": "<-05>5", + "America/Santarem": "<-03>3", + "America/Santiago": "<-04>4<-03>,M9.1.6/24,M4.1.6/24", + "America/Santo_Domingo": "AST4", + "America/Sao_Paulo": "<-03>3", + "America/Scoresbysund": "<-02>2<-01>,M3.5.0/-1,M10.5.0/0", + "America/Sitka": "AKST9AKDT,M3.2.0,M11.1.0", + "America/St_Barthelemy": "AST4", + "America/St_Johns": "NST3:30NDT,M3.2.0,M11.1.0", + "America/St_Kitts": "AST4", + "America/St_Lucia": "AST4", + "America/St_Thomas": "AST4", + "America/St_Vincent": "AST4", + "America/Swift_Current": "CST6", + "America/Tegucigalpa": "CST6", + "America/Thule": "AST4ADT,M3.2.0,M11.1.0", + "America/Thunder_Bay": "EST5EDT,M3.2.0,M11.1.0", + "America/Tijuana": "PST8PDT,M3.2.0,M11.1.0", + "America/Toronto": "EST5EDT,M3.2.0,M11.1.0", + "America/Tortola": "AST4", + "America/Vancouver": "PST8PDT,M3.2.0,M11.1.0", + "America/Whitehorse": "MST7", + "America/Winnipeg": "CST6CDT,M3.2.0,M11.1.0", + "America/Yakutat": "AKST9AKDT,M3.2.0,M11.1.0", + "America/Yellowknife": "MST7MDT,M3.2.0,M11.1.0", + "Antarctica/Casey": "<+08>-8", + "Antarctica/Davis": "<+07>-7", + "Antarctica/DumontDUrville": "<+10>-10", + "Antarctica/Macquarie": "AEST-10AEDT,M10.1.0,M4.1.0/3", + "Antarctica/Mawson": "<+05>-5", + "Antarctica/McMurdo": "NZST-12NZDT,M9.5.0,M4.1.0/3", + "Antarctica/Palmer": "<-03>3", + "Antarctica/Rothera": "<-03>3", + "Antarctica/Syowa": "<+03>-3", + "Antarctica/Troll": "<+00>0<+02>-2,M3.5.0/1,M10.5.0/3", + "Antarctica/Vostok": "<+05>-5", + "Arctic/Longyearbyen": "CET-1CEST,M3.5.0,M10.5.0/3", + "Asia/Aden": "<+03>-3", + "Asia/Almaty": "<+05>-5", + "Asia/Amman": "<+03>-3", + "Asia/Anadyr": "<+12>-12", + "Asia/Aqtau": "<+05>-5", + "Asia/Aqtobe": "<+05>-5", + "Asia/Ashgabat": "<+05>-5", + "Asia/Atyrau": "<+05>-5", + "Asia/Baghdad": "<+03>-3", + "Asia/Bahrain": "<+03>-3", + "Asia/Baku": "<+04>-4", + "Asia/Bangkok": "<+07>-7", + "Asia/Barnaul": "<+07>-7", + "Asia/Beirut": "EET-2EEST,M3.5.0/0,M10.5.0/0", + "Asia/Bishkek": "<+06>-6", + "Asia/Brunei": "<+08>-8", + "Asia/Chita": "<+09>-9", + "Asia/Choibalsan": "<+08>-8", + "Asia/Colombo": "<+0530>-5:30", + "Asia/Damascus": "<+03>-3", + "Asia/Dhaka": "<+06>-6", + "Asia/Dili": "<+09>-9", + "Asia/Dubai": "<+04>-4", + "Asia/Dushanbe": "<+05>-5", + "Asia/Famagusta": "EET-2EEST,M3.5.0/3,M10.5.0/4", + "Asia/Gaza": "EET-2EEST,M3.4.4/50,M10.4.4/50", + "Asia/Hebron": "EET-2EEST,M3.4.4/50,M10.4.4/50", + "Asia/Ho_Chi_Minh": "<+07>-7", + "Asia/Hong_Kong": "HKT-8", + "Asia/Hovd": "<+07>-7", + "Asia/Irkutsk": "<+08>-8", + "Asia/Jakarta": "WIB-7", + "Asia/Jayapura": "WIT-9", + "Asia/Jerusalem": "IST-2IDT,M3.4.4/26,M10.5.0", + "Asia/Kabul": "<+0430>-4:30", + "Asia/Kamchatka": "<+12>-12", + "Asia/Karachi": "PKT-5", + "Asia/Kathmandu": "<+0545>-5:45", + "Asia/Khandyga": "<+09>-9", + "Asia/Kolkata": "IST-5:30", + "Asia/Krasnoyarsk": "<+07>-7", + "Asia/Kuala_Lumpur": "<+08>-8", + "Asia/Kuching": "<+08>-8", + "Asia/Kuwait": "<+03>-3", + "Asia/Macau": "CST-8", + "Asia/Magadan": "<+11>-11", + "Asia/Makassar": "WITA-8", + "Asia/Manila": "PST-8", + "Asia/Muscat": "<+04>-4", + "Asia/Nicosia": "EET-2EEST,M3.5.0/3,M10.5.0/4", + "Asia/Novokuznetsk": "<+07>-7", + "Asia/Novosibirsk": "<+07>-7", + "Asia/Omsk": "<+06>-6", + "Asia/Oral": "<+05>-5", + "Asia/Phnom_Penh": "<+07>-7", + "Asia/Pontianak": "WIB-7", + "Asia/Pyongyang": "KST-9", + "Asia/Qatar": "<+03>-3", + "Asia/Qyzylorda": "<+05>-5", + "Asia/Riyadh": "<+03>-3", + "Asia/Sakhalin": "<+11>-11", + "Asia/Samarkand": "<+05>-5", + "Asia/Seoul": "KST-9", + "Asia/Shanghai": "CST-8", + "Asia/Singapore": "<+08>-8", + "Asia/Srednekolymsk": "<+11>-11", + "Asia/Taipei": "CST-8", + "Asia/Tashkent": "<+05>-5", + "Asia/Tbilisi": "<+04>-4", + "Asia/Tehran": "<+0330>-3:30", + "Asia/Thimphu": "<+06>-6", + "Asia/Tokyo": "JST-9", + "Asia/Tomsk": "<+07>-7", + "Asia/Ulaanbaatar": "<+08>-8", + "Asia/Urumqi": "<+06>-6", + "Asia/Ust-Nera": "<+10>-10", + "Asia/Vientiane": "<+07>-7", + "Asia/Vladivostok": "<+10>-10", + "Asia/Yakutsk": "<+09>-9", + "Asia/Yangon": "<+0630>-6:30", + "Asia/Yekaterinburg": "<+05>-5", + "Asia/Yerevan": "<+04>-4", + "Atlantic/Azores": "<-01>1<+00>,M3.5.0/0,M10.5.0/1", + "Atlantic/Bermuda": "AST4ADT,M3.2.0,M11.1.0", + "Atlantic/Canary": "WET0WEST,M3.5.0/1,M10.5.0", + "Atlantic/Cape_Verde": "<-01>1", + "Atlantic/Faroe": "WET0WEST,M3.5.0/1,M10.5.0", + "Atlantic/Madeira": "WET0WEST,M3.5.0/1,M10.5.0", + "Atlantic/Reykjavik": "GMT0", + "Atlantic/South_Georgia": "<-02>2", + "Atlantic/St_Helena": "GMT0", + "Atlantic/Stanley": "<-03>3", + "Australia/Adelaide": "ACST-9:30ACDT,M10.1.0,M4.1.0/3", + "Australia/Brisbane": "AEST-10", + "Australia/Broken_Hill": "ACST-9:30ACDT,M10.1.0,M4.1.0/3", + "Australia/Currie": "AEST-10AEDT,M10.1.0,M4.1.0/3", + "Australia/Darwin": "ACST-9:30", + "Australia/Eucla": "<+0845>-8:45", + "Australia/Hobart": "AEST-10AEDT,M10.1.0,M4.1.0/3", + "Australia/Lindeman": "AEST-10", + "Australia/Lord_Howe": "<+1030>-10:30<+11>-11,M10.1.0,M4.1.0", + "Australia/Melbourne": "AEST-10AEDT,M10.1.0,M4.1.0/3", + "Australia/Perth": "AWST-8", + "Australia/Sydney": "AEST-10AEDT,M10.1.0,M4.1.0/3", + "Etc/GMT": "GMT0", + "Etc/GMT+0": "GMT0", + "Etc/GMT+1": "<-01>1", + "Etc/GMT+10": "<-10>10", + "Etc/GMT+11": "<-11>11", + "Etc/GMT+12": "<-12>12", + "Etc/GMT+2": "<-02>2", + "Etc/GMT+3": "<-03>3", + "Etc/GMT+4": "<-04>4", + "Etc/GMT+5": "<-05>5", + "Etc/GMT+6": "<-06>6", + "Etc/GMT+7": "<-07>7", + "Etc/GMT+8": "<-08>8", + "Etc/GMT+9": "<-09>9", + "Etc/GMT-0": "GMT0", + "Etc/GMT-1": "<+01>-1", + "Etc/GMT-10": "<+10>-10", + "Etc/GMT-11": "<+11>-11", + "Etc/GMT-12": "<+12>-12", + "Etc/GMT-13": "<+13>-13", + "Etc/GMT-14": "<+14>-14", + "Etc/GMT-2": "<+02>-2", + "Etc/GMT-3": "<+03>-3", + "Etc/GMT-4": "<+04>-4", + "Etc/GMT-5": "<+05>-5", + "Etc/GMT-6": "<+06>-6", + "Etc/GMT-7": "<+07>-7", + "Etc/GMT-8": "<+08>-8", + "Etc/GMT-9": "<+09>-9", + "Etc/GMT0": "GMT0", + "Etc/Greenwich": "GMT0", + "Etc/UCT": "UTC0", + "Etc/UTC": "UTC0", + "Etc/Universal": "UTC0", + "Etc/Zulu": "UTC0", + "Europe/Amsterdam": "CET-1CEST,M3.5.0,M10.5.0/3", + "Europe/Andorra": "CET-1CEST,M3.5.0,M10.5.0/3", + "Europe/Astrakhan": "<+04>-4", + "Europe/Athens": "EET-2EEST,M3.5.0/3,M10.5.0/4", + "Europe/Belgrade": "CET-1CEST,M3.5.0,M10.5.0/3", + "Europe/Berlin": "CET-1CEST,M3.5.0,M10.5.0/3", + "Europe/Bratislava": "CET-1CEST,M3.5.0,M10.5.0/3", + "Europe/Brussels": "CET-1CEST,M3.5.0,M10.5.0/3", + "Europe/Bucharest": "EET-2EEST,M3.5.0/3,M10.5.0/4", + "Europe/Budapest": "CET-1CEST,M3.5.0,M10.5.0/3", + "Europe/Busingen": "CET-1CEST,M3.5.0,M10.5.0/3", + "Europe/Chisinau": "EET-2EEST,M3.5.0,M10.5.0/3", + "Europe/Copenhagen": "CET-1CEST,M3.5.0,M10.5.0/3", + "Europe/Dublin": "IST-1GMT0,M10.5.0,M3.5.0/1", + "Europe/Gibraltar": "CET-1CEST,M3.5.0,M10.5.0/3", + "Europe/Guernsey": "GMT0BST,M3.5.0/1,M10.5.0", + "Europe/Helsinki": "EET-2EEST,M3.5.0/3,M10.5.0/4", + "Europe/Isle_of_Man": "GMT0BST,M3.5.0/1,M10.5.0", + "Europe/Istanbul": "<+03>-3", + "Europe/Jersey": "GMT0BST,M3.5.0/1,M10.5.0", + "Europe/Kaliningrad": "EET-2", + "Europe/Kiev": "EET-2EEST,M3.5.0/3,M10.5.0/4", + "Europe/Kirov": "MSK-3", + "Europe/Lisbon": "WET0WEST,M3.5.0/1,M10.5.0", + "Europe/Ljubljana": "CET-1CEST,M3.5.0,M10.5.0/3", + "Europe/London": "GMT0BST,M3.5.0/1,M10.5.0", + "Europe/Luxembourg": "CET-1CEST,M3.5.0,M10.5.0/3", + "Europe/Madrid": "CET-1CEST,M3.5.0,M10.5.0/3", + "Europe/Malta": "CET-1CEST,M3.5.0,M10.5.0/3", + "Europe/Mariehamn": "EET-2EEST,M3.5.0/3,M10.5.0/4", + "Europe/Minsk": "<+03>-3", + "Europe/Monaco": "CET-1CEST,M3.5.0,M10.5.0/3", + "Europe/Moscow": "MSK-3", + "Europe/Oslo": "CET-1CEST,M3.5.0,M10.5.0/3", + "Europe/Paris": "CET-1CEST,M3.5.0,M10.5.0/3", + "Europe/Podgorica": "CET-1CEST,M3.5.0,M10.5.0/3", + "Europe/Prague": "CET-1CEST,M3.5.0,M10.5.0/3", + "Europe/Riga": "EET-2EEST,M3.5.0/3,M10.5.0/4", + "Europe/Rome": "CET-1CEST,M3.5.0,M10.5.0/3", + "Europe/Samara": "<+04>-4", + "Europe/San_Marino": "CET-1CEST,M3.5.0,M10.5.0/3", + "Europe/Sarajevo": "CET-1CEST,M3.5.0,M10.5.0/3", + "Europe/Saratov": "<+04>-4", + "Europe/Simferopol": "MSK-3", + "Europe/Skopje": "CET-1CEST,M3.5.0,M10.5.0/3", + "Europe/Sofia": "EET-2EEST,M3.5.0/3,M10.5.0/4", + "Europe/Stockholm": "CET-1CEST,M3.5.0,M10.5.0/3", + "Europe/Tallinn": "EET-2EEST,M3.5.0/3,M10.5.0/4", + "Europe/Tirane": "CET-1CEST,M3.5.0,M10.5.0/3", + "Europe/Ulyanovsk": "<+04>-4", + "Europe/Uzhgorod": "EET-2EEST,M3.5.0/3,M10.5.0/4", + "Europe/Vaduz": "CET-1CEST,M3.5.0,M10.5.0/3", + "Europe/Vatican": "CET-1CEST,M3.5.0,M10.5.0/3", + "Europe/Vienna": "CET-1CEST,M3.5.0,M10.5.0/3", + "Europe/Vilnius": "EET-2EEST,M3.5.0/3,M10.5.0/4", + "Europe/Volgograd": "MSK-3", + "Europe/Warsaw": "CET-1CEST,M3.5.0,M10.5.0/3", + "Europe/Zagreb": "CET-1CEST,M3.5.0,M10.5.0/3", + "Europe/Zaporozhye": "EET-2EEST,M3.5.0/3,M10.5.0/4", + "Europe/Zurich": "CET-1CEST,M3.5.0,M10.5.0/3", + "Indian/Antananarivo": "EAT-3", + "Indian/Chagos": "<+06>-6", + "Indian/Christmas": "<+07>-7", + "Indian/Cocos": "<+0630>-6:30", + "Indian/Comoro": "EAT-3", + "Indian/Kerguelen": "<+05>-5", + "Indian/Mahe": "<+04>-4", + "Indian/Maldives": "<+05>-5", + "Indian/Mauritius": "<+04>-4", + "Indian/Mayotte": "EAT-3", + "Indian/Reunion": "<+04>-4", + "Pacific/Apia": "<+13>-13", + "Pacific/Auckland": "NZST-12NZDT,M9.5.0,M4.1.0/3", + "Pacific/Bougainville": "<+11>-11", + "Pacific/Chatham": "<+1245>-12:45<+1345>,M9.5.0/2:45,M4.1.0/3:45", + "Pacific/Chuuk": "<+10>-10", + "Pacific/Easter": "<-06>6<-05>,M9.1.6/22,M4.1.6/22", + "Pacific/Efate": "<+11>-11", + "Pacific/Enderbury": "<+13>-13", + "Pacific/Fakaofo": "<+13>-13", + "Pacific/Fiji": "<+12>-12", + "Pacific/Funafuti": "<+12>-12", + "Pacific/Galapagos": "<-06>6", + "Pacific/Gambier": "<-09>9", + "Pacific/Guadalcanal": "<+11>-11", + "Pacific/Guam": "ChST-10", + "Pacific/Honolulu": "HST10", + "Pacific/Kiritimati": "<+14>-14", + "Pacific/Kosrae": "<+11>-11", + "Pacific/Kwajalein": "<+12>-12", + "Pacific/Majuro": "<+12>-12", + "Pacific/Marquesas": "<-0930>9:30", + "Pacific/Midway": "SST11", + "Pacific/Nauru": "<+12>-12", + "Pacific/Niue": "<-11>11", + "Pacific/Norfolk": "<+11>-11<+12>,M10.1.0,M4.1.0/3", + "Pacific/Noumea": "<+11>-11", + "Pacific/Pago_Pago": "SST11", + "Pacific/Palau": "<+09>-9", + "Pacific/Pitcairn": "<-08>8", + "Pacific/Pohnpei": "<+11>-11", + "Pacific/Port_Moresby": "<+10>-10", + "Pacific/Rarotonga": "<-10>10", + "Pacific/Saipan": "ChST-10", + "Pacific/Tahiti": "<-10>10", + "Pacific/Tarawa": "<+12>-12", + "Pacific/Tongatapu": "<+13>-13", + "Pacific/Wake": "<+12>-12", + "Pacific/Wallis": "<+12>-12" +} diff --git a/tests/playwright/test.ts b/tests/playwright/test.ts index a63b7c4..92a600d 100644 --- a/tests/playwright/test.ts +++ b/tests/playwright/test.ts @@ -28,19 +28,19 @@ test('api page has expected load button', async ({ page }) => { await expect(page.getByRole('button', { name: 'Load' })).toBeVisible(); }); -test('timezone can be negative, zero and positive', async ({ page }) => { - await page.goto('/'); - await page.getByRole('button', { name: 'Show all' }).click(); +// test('timezone can be negative, zero and positive', async ({ page }) => { +// await page.goto('/'); +// await page.getByRole('button', { name: 'Show all' }).click(); - const tzOffsetField = 'input#tzOffset'; +// const tzOffsetField = 'input#tzOffset'; - for (const val of ['-10', '0', '42']) { - await page.fill(tzOffsetField, val); - const resultValue = await page.$eval(tzOffsetField, (input: HTMLInputElement) => input.value); - expect(resultValue).toBe(val); - await page.getByRole('button', { name: 'Save' }).click(); - } -}); +// for (const val of ['-10', '0', '42']) { +// await page.fill(tzOffsetField, val); +// const resultValue = await page.$eval(tzOffsetField, (input: HTMLInputElement) => input.value); +// expect(resultValue).toBe(val); +// await page.getByRole('button', { name: 'Save' }).click(); +// } +// }); test('time values can not be zero or negative', async ({ page }) => { await page.goto('/'); From 78d3b6dadf292f98fc7f39f1cc9af4e41effe169 Mon Sep 17 00:00:00 2001 From: Ticktock Depbot Date: Mon, 7 Apr 2025 06:40:24 +0000 Subject: [PATCH 71/74] chore(deps): update https://code.forgejo.org/actions/forgejo-release action to v2.6.0 --- .forgejo/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index aed32a0..f6899f2 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -118,7 +118,7 @@ jobs: output/littlefs.bin - name: Create release if: github.event_name == 'push' && github.ref == 'refs/heads/main' - uses: https://code.forgejo.org/actions/forgejo-release@v2.5.3 + uses: https://code.forgejo.org/actions/forgejo-release@v2.6.0 with: url: 'https://git.btclock.dev/' repo: '${{ github.repository }}' From a413c2d8e7d4b4bc6015725ab868a46827cd4629 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Thu, 10 Apr 2025 15:58:32 +0200 Subject: [PATCH 72/74] chore: Update dependencies --- yarn.lock | 130 +++++++++++++++++++++++++++--------------------------- 1 file changed, 65 insertions(+), 65 deletions(-) diff --git a/yarn.lock b/yarn.lock index 64df43d..d62380b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -731,9 +731,9 @@ playwright "1.51.1" "@polka/url@^1.0.0-next.24": - version "1.0.0-next.28" - resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.28.tgz#d45e01c4a56f143ee69c54dd6b12eade9e270a73" - integrity sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw== + version "1.0.0-next.29" + resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.29.tgz#5a40109a1ab5f84d6fd8fc928b19f367cbe7e7b1" + integrity sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww== "@popperjs/core@^2.11.8": version "2.11.8" @@ -896,9 +896,9 @@ integrity sha512-YaDrquRpZwfcXbnlDsSrBQNCChVOT9MGuSg+dMAyfsAa1SmiAhrA5jUYUiIMC59G92kIbY/AaQOWcBdq+lh+zg== "@sveltejs/kit@^2.0.0": - version "2.20.4" - resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-2.20.4.tgz#84d665a770ed38c43d8bda27a86ac3220f9a277d" - integrity sha512-B3Y1mb1Qjt57zXLVch5tfqsK/ebHe6uYTcFSnGFNwRpId3+fplLgQK6Z2zhDVBezSsPuhDq6Pry+9PA88ocN6Q== + version "2.20.5" + resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-2.20.5.tgz#72546cf594fe8cebc2ef0bbf2923dffb411a5e20" + integrity sha512-zT/97KvVUo19jEGZa972ls7KICjPCB53j54TVxnEFT5VEwL16G+YFqRVwJbfxh7AmS7/Ptr1rKF7Qt4FBMDNlw== dependencies: "@types/cookie" "^0.6.0" cookie "^0.6.0" @@ -1008,62 +1008,62 @@ resolved "https://registry.yarnpkg.com/@types/swagger-ui/-/swagger-ui-3.52.4.tgz#96c4886e8f86ae392f8d940bf7029cf490a51c72" integrity sha512-7NV7q8BfupqdQxr26OkM0g0YEPB9uXnKGzXadgcearvI9MoCHt3F72lPTX3fZZIlrr21DC0IK26wcDMZ37oFDA== -"@typescript-eslint/eslint-plugin@8.29.0", "@typescript-eslint/eslint-plugin@^8.7.0": - version "8.29.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.29.0.tgz#151c4878700a5ad229ce6713d2674d58b626b3d9" - integrity sha512-PAIpk/U7NIS6H7TEtN45SPGLQaHNgB7wSjsQV/8+KYokAb2T/gloOA/Bee2yd4/yKVhPKe5LlaUGhAZk5zmSaQ== +"@typescript-eslint/eslint-plugin@8.29.1", "@typescript-eslint/eslint-plugin@^8.7.0": + version "8.29.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.29.1.tgz#593639d9bb5239b2d877d65757b7e2c9100a2e84" + integrity sha512-ba0rr4Wfvg23vERs3eB+P3lfj2E+2g3lhWcCVukUuhtcdUx5lSIFZlGFEBHKr+3zizDa/TvZTptdNHVZWAkSBg== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.29.0" - "@typescript-eslint/type-utils" "8.29.0" - "@typescript-eslint/utils" "8.29.0" - "@typescript-eslint/visitor-keys" "8.29.0" + "@typescript-eslint/scope-manager" "8.29.1" + "@typescript-eslint/type-utils" "8.29.1" + "@typescript-eslint/utils" "8.29.1" + "@typescript-eslint/visitor-keys" "8.29.1" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" ts-api-utils "^2.0.1" -"@typescript-eslint/parser@8.29.0", "@typescript-eslint/parser@^8.7.0": - version "8.29.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.29.0.tgz#b98841e0a8099728cb8583da92326fcb7f5be1d2" - integrity sha512-8C0+jlNJOwQso2GapCVWWfW/rzaq7Lbme+vGUFKE31djwNncIpgXD7Cd4weEsDdkoZDjH0lwwr3QDQFuyrMg9g== +"@typescript-eslint/parser@8.29.1", "@typescript-eslint/parser@^8.7.0": + version "8.29.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.29.1.tgz#10bf37411be0a199c27b6515726e22fe8d3df8d0" + integrity sha512-zczrHVEqEaTwh12gWBIJWj8nx+ayDcCJs06yoNMY0kwjMWDM6+kppljY+BxWI06d2Ja+h4+WdufDcwMnnMEWmg== dependencies: - "@typescript-eslint/scope-manager" "8.29.0" - "@typescript-eslint/types" "8.29.0" - "@typescript-eslint/typescript-estree" "8.29.0" - "@typescript-eslint/visitor-keys" "8.29.0" + "@typescript-eslint/scope-manager" "8.29.1" + "@typescript-eslint/types" "8.29.1" + "@typescript-eslint/typescript-estree" "8.29.1" + "@typescript-eslint/visitor-keys" "8.29.1" debug "^4.3.4" -"@typescript-eslint/scope-manager@8.29.0": - version "8.29.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.29.0.tgz#8fd9872823aef65ff71d3f6d1ec9316ace0b6bf3" - integrity sha512-aO1PVsq7Gm+tcghabUpzEnVSFMCU4/nYIgC2GOatJcllvWfnhrgW0ZEbnTxm36QsikmCN1K/6ZgM7fok2I7xNw== +"@typescript-eslint/scope-manager@8.29.1": + version "8.29.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.29.1.tgz#cfdfd4144f20c38b9d3e430efd6480e297ef52f6" + integrity sha512-2nggXGX5F3YrsGN08pw4XpMLO1Rgtnn4AzTegC2MDesv6q3QaTU5yU7IbS1tf1IwCR0Hv/1EFygLn9ms6LIpDA== dependencies: - "@typescript-eslint/types" "8.29.0" - "@typescript-eslint/visitor-keys" "8.29.0" + "@typescript-eslint/types" "8.29.1" + "@typescript-eslint/visitor-keys" "8.29.1" -"@typescript-eslint/type-utils@8.29.0": - version "8.29.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.29.0.tgz#98dcfd1193cb4e2b2d0294a8656ce5eb58c443a9" - integrity sha512-ahaWQ42JAOx+NKEf5++WC/ua17q5l+j1GFrbbpVKzFL/tKVc0aYY8rVSYUpUvt2hUP1YBr7mwXzx+E/DfUWI9Q== +"@typescript-eslint/type-utils@8.29.1": + version "8.29.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.29.1.tgz#653dfff5c1711bc920a6a46a5a2c274899f00179" + integrity sha512-DkDUSDwZVCYN71xA4wzySqqcZsHKic53A4BLqmrWFFpOpNSoxX233lwGu/2135ymTCR04PoKiEEEvN1gFYg4Tw== dependencies: - "@typescript-eslint/typescript-estree" "8.29.0" - "@typescript-eslint/utils" "8.29.0" + "@typescript-eslint/typescript-estree" "8.29.1" + "@typescript-eslint/utils" "8.29.1" debug "^4.3.4" ts-api-utils "^2.0.1" -"@typescript-eslint/types@8.29.0": - version "8.29.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.29.0.tgz#65add70ab4ef66beaa42a5addf87dab2b05b1f33" - integrity sha512-wcJL/+cOXV+RE3gjCyl/V2G877+2faqvlgtso/ZRbTCnZazh0gXhe+7gbAnfubzN2bNsBtZjDvlh7ero8uIbzg== +"@typescript-eslint/types@8.29.1": + version "8.29.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.29.1.tgz#984ed1283fedbfb41d3993a9abdcb7b299971500" + integrity sha512-VT7T1PuJF1hpYC3AGm2rCgJBjHL3nc+A/bhOp9sGMKfi5v0WufsX/sHCFBfNTx2F+zA6qBc/PD0/kLRLjdt8mQ== -"@typescript-eslint/typescript-estree@8.29.0": - version "8.29.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.29.0.tgz#d201a4f115327ec90496307c9958262285065b00" - integrity sha512-yOfen3jE9ISZR/hHpU/bmNvTtBW1NjRbkSFdZOksL1N+ybPEE7UVGMwqvS6CP022Rp00Sb0tdiIkhSCe6NI8ow== +"@typescript-eslint/typescript-estree@8.29.1": + version "8.29.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.29.1.tgz#4ac085665ed5390d11c0e3426427978570e3b747" + integrity sha512-l1enRoSaUkQxOQnbi0KPUtqeZkSiFlqrx9/3ns2rEDhGKfTa+88RmXqedC1zmVTOWrLc2e6DEJrTA51C9iLH5g== dependencies: - "@typescript-eslint/types" "8.29.0" - "@typescript-eslint/visitor-keys" "8.29.0" + "@typescript-eslint/types" "8.29.1" + "@typescript-eslint/visitor-keys" "8.29.1" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" @@ -1071,22 +1071,22 @@ semver "^7.6.0" ts-api-utils "^2.0.1" -"@typescript-eslint/utils@8.29.0": - version "8.29.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.29.0.tgz#d6d22b19c8c4812a874f00341f686b45b9fe895f" - integrity sha512-gX/A0Mz9Bskm8avSWFcK0gP7cZpbY4AIo6B0hWYFCaIsz750oaiWR4Jr2CI+PQhfW1CpcQr9OlfPS+kMFegjXA== +"@typescript-eslint/utils@8.29.1": + version "8.29.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.29.1.tgz#3d206c8c8def3527a8eb0588e94e3e60f7e167c9" + integrity sha512-QAkFEbytSaB8wnmB+DflhUPz6CLbFWE2SnSCrRMEa+KnXIzDYbpsn++1HGvnfAsUY44doDXmvRkO5shlM/3UfA== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.29.0" - "@typescript-eslint/types" "8.29.0" - "@typescript-eslint/typescript-estree" "8.29.0" + "@typescript-eslint/scope-manager" "8.29.1" + "@typescript-eslint/types" "8.29.1" + "@typescript-eslint/typescript-estree" "8.29.1" -"@typescript-eslint/visitor-keys@8.29.0": - version "8.29.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.29.0.tgz#2356336c9efdc3597ffcd2aa1ce95432852b743d" - integrity sha512-Sne/pVz8ryR03NFK21VpN88dZ2FdQXOlq3VIklbrTYEt8yXtRFr9tvUhqvCeKjqYk5FSim37sHbooT6vzBTZcg== +"@typescript-eslint/visitor-keys@8.29.1": + version "8.29.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.29.1.tgz#9b74e5098c71138d42bbf2178fbe4dfad45d6b9a" + integrity sha512-RGLh5CRaUEf02viP5c1Vh1cMGffQscyHe7HPAzGpfmfflFg1wUz2rYxd+OZqwpeypYvZ8UxSxuIpF++fmOzEcg== dependencies: - "@typescript-eslint/types" "8.29.0" + "@typescript-eslint/types" "8.29.1" eslint-visitor-keys "^4.2.0" "@vitest/expect@2.1.9": @@ -3291,13 +3291,13 @@ type@^2.7.2: integrity sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ== typescript-eslint@^8.7.0: - version "8.29.0" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.29.0.tgz#fc059b4c840889e5180dd822594eb46fa4619093" - integrity sha512-ep9rVd9B4kQsZ7ZnWCVxUE/xDLUUUsRzE0poAeNu+4CkFErLfuvPt/qtm2EpnSyfvsR0S6QzDFSrPCFBwf64fg== + version "8.29.1" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.29.1.tgz#c0b205e542ade22f9027caaaa9c4ec31a202010f" + integrity sha512-f8cDkvndhbQMPcysk6CUSGBWV+g1utqdn71P5YKwMumVMOG/5k7cHq0KyG4O52nB0oKS4aN2Tp5+wB4APJGC+w== dependencies: - "@typescript-eslint/eslint-plugin" "8.29.0" - "@typescript-eslint/parser" "8.29.0" - "@typescript-eslint/utils" "8.29.0" + "@typescript-eslint/eslint-plugin" "8.29.1" + "@typescript-eslint/parser" "8.29.1" + "@typescript-eslint/utils" "8.29.1" typescript@^5.5.4: version "5.6.3" @@ -3344,9 +3344,9 @@ vite@^5.0.0: fsevents "~2.3.3" vite@^5.4.7: - version "5.4.17" - resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.17.tgz#4bf61dd4cdbf64b0d6661f5dba76954cc81d5082" - integrity sha512-5+VqZryDj4wgCs55o9Lp+p8GE78TLVg0lasCH5xFZ4jacZjtqZa6JUw9/p0WeAojaOfncSM6v77InkFPGnvPvg== + version "5.4.18" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.18.tgz#b5af357f9d5ebb2e0c085779b7a37a77f09168a4" + integrity sha512-1oDcnEp3lVyHCuQ2YFelM4Alm2o91xNoMncRm1U7S+JdYfYOvbiGZ3/CxGttrOu2M/KcGz7cRC2DoNUA6urmMA== dependencies: esbuild "^0.21.3" postcss "^8.4.43" From a4d629d6647a29c602edbc518a22f4ac73839532 Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Fri, 2 May 2025 22:09:06 +0200 Subject: [PATCH 73/74] chore: update dependencies --- yarn.lock | 420 +++++++++++++++++++++++++++--------------------------- 1 file changed, 209 insertions(+), 211 deletions(-) diff --git a/yarn.lock b/yarn.lock index d62380b..cc02b77 100644 --- a/yarn.lock +++ b/yarn.lock @@ -274,9 +274,9 @@ integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw== "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": - version "4.5.1" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.5.1.tgz#b0fc7e06d0c94f801537fd4237edc2706d3b8e4c" - integrity sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w== + version "4.7.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz#607084630c6c033992a082de6e6fbc1a8b52175a" + integrity sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw== dependencies: eslint-visitor-keys "^3.4.3" @@ -294,17 +294,10 @@ debug "^4.3.1" minimatch "^3.1.2" -"@eslint/config-helpers@^0.2.0": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@eslint/config-helpers/-/config-helpers-0.2.1.tgz#26042c028d1beee5ce2235a7929b91c52651646d" - integrity sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw== - -"@eslint/core@^0.12.0": - version "0.12.0" - resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.12.0.tgz#5f960c3d57728be9f6c65bd84aa6aa613078798e" - integrity sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg== - dependencies: - "@types/json-schema" "^7.0.15" +"@eslint/config-helpers@^0.2.1": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@eslint/config-helpers/-/config-helpers-0.2.2.tgz#3779f76b894de3a8ec4763b79660e6d54d5b1010" + integrity sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg== "@eslint/core@^0.13.0": version "0.13.0" @@ -328,17 +321,17 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@9.24.0": - version "9.24.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.24.0.tgz#685277980bb7bf84ecc8e4e133ccdda7545a691e" - integrity sha512-uIY/y3z0uvOGX8cp1C2fiC4+ZmBhp6yZWkojtHL1YEMnRt1Y63HB9TM17proGEmeG7HeUY+UP36F0aknKYTpYA== +"@eslint/js@9.25.1": + version "9.25.1" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.25.1.tgz#25f5c930c2b68b5ebe7ac857f754cbd61ef6d117" + integrity sha512-dEIwmjntEx8u3Uvv+kr3PDeeArL8Hw07H9kyYxCjnM9pBjfEhk6uLXSchxxzgiwtRhhzVzqmUSDFBOi1TuZ7qg== "@eslint/object-schema@^2.1.6": version "2.1.6" resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.6.tgz#58369ab5b5b3ca117880c0f6c0b0f32f6950f24f" integrity sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA== -"@eslint/plugin-kit@^0.2.7": +"@eslint/plugin-kit@^0.2.8": version "0.2.8" resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz#47488d8f8171b5d4613e833313f3ce708e3525f8" integrity sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA== @@ -724,11 +717,11 @@ "@parcel/watcher-win32-x64" "2.5.1" "@playwright/test@^1.46.0": - version "1.51.1" - resolved "https://registry.yarnpkg.com/@playwright/test/-/test-1.51.1.tgz#75357d513221a7be0baad75f01e966baf9c41a2e" - integrity sha512-nM+kEaTSAoVlXmMPH10017vn3FSiFqr/bh4fKg9vmAdMfd9SDqRZNvPSiAHADc/itWak+qPvMPZQOPwCBW7k7Q== + version "1.52.0" + resolved "https://registry.yarnpkg.com/@playwright/test/-/test-1.52.0.tgz#267ec595b43a8f4fa5e444ea503689629e91a5b8" + integrity sha512-uh6W7sb55hl7D6vsAeA+V2p5JnlAqzhqFyF0VcJkKZXkgnFcVG9PziERRHQfPLfNGx1C292a4JqbWzhR8L4R1g== dependencies: - playwright "1.51.1" + playwright "1.52.0" "@polka/url@^1.0.0-next.24": version "1.0.0-next.29" @@ -756,105 +749,105 @@ estree-walker "^2.0.2" picomatch "^2.3.1" -"@rollup/rollup-android-arm-eabi@4.39.0": - version "4.39.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.39.0.tgz#1d8cc5dd3d8ffe569d8f7f67a45c7909828a0f66" - integrity sha512-lGVys55Qb00Wvh8DMAocp5kIcaNzEFTmGhfFd88LfaogYTRKrdxgtlO5H6S49v2Nd8R2C6wLOal0qv6/kCkOwA== +"@rollup/rollup-android-arm-eabi@4.40.1": + version "4.40.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.1.tgz#e1562d360bca73c7bef6feef86098de3a2f1d442" + integrity sha512-kxz0YeeCrRUHz3zyqvd7n+TVRlNyTifBsmnmNPtk3hQURUyG9eAB+usz6DAwagMusjx/zb3AjvDUvhFGDAexGw== -"@rollup/rollup-android-arm64@4.39.0": - version "4.39.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.39.0.tgz#9c136034d3d9ed29d0b138c74dd63c5744507fca" - integrity sha512-It9+M1zE31KWfqh/0cJLrrsCPiF72PoJjIChLX+rEcujVRCb4NLQ5QzFkzIZW8Kn8FTbvGQBY5TkKBau3S8cCQ== +"@rollup/rollup-android-arm64@4.40.1": + version "4.40.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.1.tgz#37ba63940211673e15dcc5f469a78e34276dbca7" + integrity sha512-PPkxTOisoNC6TpnDKatjKkjRMsdaWIhyuMkA4UsBXT9WEZY4uHezBTjs6Vl4PbqQQeu6oION1w2voYZv9yquCw== -"@rollup/rollup-darwin-arm64@4.39.0": - version "4.39.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.39.0.tgz#830d07794d6a407c12b484b8cf71affd4d3800a6" - integrity sha512-lXQnhpFDOKDXiGxsU9/l8UEGGM65comrQuZ+lDcGUx+9YQ9dKpF3rSEGepyeR5AHZ0b5RgiligsBhWZfSSQh8Q== +"@rollup/rollup-darwin-arm64@4.40.1": + version "4.40.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.1.tgz#58b1eb86d997d71dabc5b78903233a3c27438ca0" + integrity sha512-VWXGISWFY18v/0JyNUy4A46KCFCb9NVsH+1100XP31lud+TzlezBbz24CYzbnA4x6w4hx+NYCXDfnvDVO6lcAA== -"@rollup/rollup-darwin-x64@4.39.0": - version "4.39.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.39.0.tgz#b26f0f47005c1fa5419a880f323ed509dc8d885c" - integrity sha512-mKXpNZLvtEbgu6WCkNij7CGycdw9cJi2k9v0noMb++Vab12GZjFgUXD69ilAbBh034Zwn95c2PNSz9xM7KYEAQ== +"@rollup/rollup-darwin-x64@4.40.1": + version "4.40.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.1.tgz#5e22dab3232b1e575d930ce891abb18fe19c58c9" + integrity sha512-nIwkXafAI1/QCS7pxSpv/ZtFW6TXcNUEHAIA9EIyw5OzxJZQ1YDrX+CL6JAIQgZ33CInl1R6mHet9Y/UZTg2Bw== -"@rollup/rollup-freebsd-arm64@4.39.0": - version "4.39.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.39.0.tgz#2b60c81ac01ff7d1bc8df66aee7808b6690c6d19" - integrity sha512-jivRRlh2Lod/KvDZx2zUR+I4iBfHcu2V/BA2vasUtdtTN2Uk3jfcZczLa81ESHZHPHy4ih3T/W5rPFZ/hX7RtQ== +"@rollup/rollup-freebsd-arm64@4.40.1": + version "4.40.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.1.tgz#04c892d9ff864d66e31419634726ab0bebb33707" + integrity sha512-BdrLJ2mHTrIYdaS2I99mriyJfGGenSaP+UwGi1kB9BLOCu9SR8ZpbkmmalKIALnRw24kM7qCN0IOm6L0S44iWw== -"@rollup/rollup-freebsd-x64@4.39.0": - version "4.39.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.39.0.tgz#4826af30f4d933d82221289068846c9629cc628c" - integrity sha512-8RXIWvYIRK9nO+bhVz8DwLBepcptw633gv/QT4015CpJ0Ht8punmoHU/DuEd3iw9Hr8UwUV+t+VNNuZIWYeY7Q== +"@rollup/rollup-freebsd-x64@4.40.1": + version "4.40.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.1.tgz#f4b1e091f7cf5afc9e3a029d70128ad56409ecfb" + integrity sha512-VXeo/puqvCG8JBPNZXZf5Dqq7BzElNJzHRRw3vjBE27WujdzuOPecDPc/+1DcdcTptNBep3861jNq0mYkT8Z6Q== -"@rollup/rollup-linux-arm-gnueabihf@4.39.0": - version "4.39.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.39.0.tgz#a1f4f963d5dcc9e5575c7acf9911824806436bf7" - integrity sha512-mz5POx5Zu58f2xAG5RaRRhp3IZDK7zXGk5sdEDj4o96HeaXhlUwmLFzNlc4hCQi5sGdR12VDgEUqVSHer0lI9g== +"@rollup/rollup-linux-arm-gnueabihf@4.40.1": + version "4.40.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.1.tgz#c8814bb5ce047a81b1fe4a33628dfd4ac52bd864" + integrity sha512-ehSKrewwsESPt1TgSE/na9nIhWCosfGSFqv7vwEtjyAqZcvbGIg4JAcV7ZEh2tfj/IlfBeZjgOXm35iOOjadcg== -"@rollup/rollup-linux-arm-musleabihf@4.39.0": - version "4.39.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.39.0.tgz#e924b0a8b7c400089146f6278446e6b398b75a06" - integrity sha512-+YDwhM6gUAyakl0CD+bMFpdmwIoRDzZYaTWV3SDRBGkMU/VpIBYXXEvkEcTagw/7VVkL2vA29zU4UVy1mP0/Yw== +"@rollup/rollup-linux-arm-musleabihf@4.40.1": + version "4.40.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.1.tgz#5b4e7bd83cbebbf5ffe958802dcfd4ee34bf73a3" + integrity sha512-m39iO/aaurh5FVIu/F4/Zsl8xppd76S4qoID8E+dSRQvTyZTOI2gVk3T4oqzfq1PtcvOfAVlwLMK3KRQMaR8lg== -"@rollup/rollup-linux-arm64-gnu@4.39.0": - version "4.39.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.39.0.tgz#cb43303274ec9a716f4440b01ab4e20c23aebe20" - integrity sha512-EKf7iF7aK36eEChvlgxGnk7pdJfzfQbNvGV/+l98iiMwU23MwvmV0Ty3pJ0p5WQfm3JRHOytSIqD9LB7Bq7xdQ== +"@rollup/rollup-linux-arm64-gnu@4.40.1": + version "4.40.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.1.tgz#141c848e53cee011e82a11777b8a51f1b3e8d77c" + integrity sha512-Y+GHnGaku4aVLSgrT0uWe2o2Rq8te9hi+MwqGF9r9ORgXhmHK5Q71N757u0F8yU1OIwUIFy6YiJtKjtyktk5hg== -"@rollup/rollup-linux-arm64-musl@4.39.0": - version "4.39.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.39.0.tgz#531c92533ce3d167f2111bfcd2aa1a2041266987" - integrity sha512-vYanR6MtqC7Z2SNr8gzVnzUul09Wi1kZqJaek3KcIlI/wq5Xtq4ZPIZ0Mr/st/sv/NnaPwy/D4yXg5x0B3aUUA== +"@rollup/rollup-linux-arm64-musl@4.40.1": + version "4.40.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.1.tgz#22ebeaf2fa301aa4aa6c84b760e6cd1d1ac7eb1e" + integrity sha512-jEwjn3jCA+tQGswK3aEWcD09/7M5wGwc6+flhva7dsQNRZZTe30vkalgIzV4tjkopsTS9Jd7Y1Bsj6a4lzz8gQ== -"@rollup/rollup-linux-loongarch64-gnu@4.39.0": - version "4.39.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.39.0.tgz#53403889755d0c37c92650aad016d5b06c1b061a" - integrity sha512-NMRUT40+h0FBa5fb+cpxtZoGAggRem16ocVKIv5gDB5uLDgBIwrIsXlGqYbLwW8YyO3WVTk1FkFDjMETYlDqiw== +"@rollup/rollup-linux-loongarch64-gnu@4.40.1": + version "4.40.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.1.tgz#20b77dc78e622f5814ff8e90c14c938ceb8043bc" + integrity sha512-ySyWikVhNzv+BV/IDCsrraOAZ3UaC8SZB67FZlqVwXwnFhPihOso9rPOxzZbjp81suB1O2Topw+6Ug3JNegejQ== -"@rollup/rollup-linux-powerpc64le-gnu@4.39.0": - version "4.39.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.39.0.tgz#f669f162e29094c819c509e99dbeced58fc708f9" - integrity sha512-0pCNnmxgduJ3YRt+D+kJ6Ai/r+TaePu9ZLENl+ZDV/CdVczXl95CbIiwwswu4L+K7uOIGf6tMo2vm8uadRaICQ== +"@rollup/rollup-linux-powerpc64le-gnu@4.40.1": + version "4.40.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.1.tgz#2c90f99c987ef1198d4f8d15d754c286e1f07b13" + integrity sha512-BvvA64QxZlh7WZWqDPPdt0GH4bznuL6uOO1pmgPnnv86rpUpc8ZxgZwcEgXvo02GRIZX1hQ0j0pAnhwkhwPqWg== -"@rollup/rollup-linux-riscv64-gnu@4.39.0": - version "4.39.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.39.0.tgz#4bab37353b11bcda5a74ca11b99dea929657fd5f" - integrity sha512-t7j5Zhr7S4bBtksT73bO6c3Qa2AV/HqiGlj9+KB3gNF5upcVkx+HLgxTm8DK4OkzsOYqbdqbLKwvGMhylJCPhQ== +"@rollup/rollup-linux-riscv64-gnu@4.40.1": + version "4.40.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.1.tgz#9336fd5e47d7f4760d02aa85f76976176eef53ca" + integrity sha512-EQSP+8+1VuSulm9RKSMKitTav89fKbHymTf25n5+Yr6gAPZxYWpj3DzAsQqoaHAk9YX2lwEyAf9S4W8F4l3VBQ== -"@rollup/rollup-linux-riscv64-musl@4.39.0": - version "4.39.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.39.0.tgz#4d66be1ce3cfd40a7910eb34dddc7cbd4c2dd2a5" - integrity sha512-m6cwI86IvQ7M93MQ2RF5SP8tUjD39Y7rjb1qjHgYh28uAPVU8+k/xYWvxRO3/tBN2pZkSMa5RjnPuUIbrwVxeA== +"@rollup/rollup-linux-riscv64-musl@4.40.1": + version "4.40.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.1.tgz#d75b4d54d46439bb5c6c13762788f57e798f5670" + integrity sha512-n/vQ4xRZXKuIpqukkMXZt9RWdl+2zgGNx7Uda8NtmLJ06NL8jiHxUawbwC+hdSq1rrw/9CghCpEONor+l1e2gA== -"@rollup/rollup-linux-s390x-gnu@4.39.0": - version "4.39.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.39.0.tgz#7181c329395ed53340a0c59678ad304a99627f6d" - integrity sha512-iRDJd2ebMunnk2rsSBYlsptCyuINvxUfGwOUldjv5M4tpa93K8tFMeYGpNk2+Nxl+OBJnBzy2/JCscGeO507kA== +"@rollup/rollup-linux-s390x-gnu@4.40.1": + version "4.40.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.1.tgz#e9f09b802f1291839247399028beaef9ce034c81" + integrity sha512-h8d28xzYb98fMQKUz0w2fMc1XuGzLLjdyxVIbhbil4ELfk5/orZlSTpF/xdI9C8K0I8lCkq+1En2RJsawZekkg== -"@rollup/rollup-linux-x64-gnu@4.39.0": - version "4.39.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.39.0.tgz#00825b3458094d5c27cb4ed66e88bfe9f1e65f90" - integrity sha512-t9jqYw27R6Lx0XKfEFe5vUeEJ5pF3SGIM6gTfONSMb7DuG6z6wfj2yjcoZxHg129veTqU7+wOhY6GX8wmf90dA== +"@rollup/rollup-linux-x64-gnu@4.40.1": + version "4.40.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.1.tgz#0413169dc00470667dea8575c1129d4e7a73eb29" + integrity sha512-XiK5z70PEFEFqcNj3/zRSz/qX4bp4QIraTy9QjwJAb/Z8GM7kVUsD0Uk8maIPeTyPCP03ChdI+VVmJriKYbRHQ== -"@rollup/rollup-linux-x64-musl@4.39.0": - version "4.39.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.39.0.tgz#81caac2a31b8754186f3acc142953a178fcd6fba" - integrity sha512-ThFdkrFDP55AIsIZDKSBWEt/JcWlCzydbZHinZ0F/r1h83qbGeenCt/G/wG2O0reuENDD2tawfAj2s8VK7Bugg== +"@rollup/rollup-linux-x64-musl@4.40.1": + version "4.40.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.1.tgz#c76fd593323c60ea219439a00da6c6d33ffd0ea6" + integrity sha512-2BRORitq5rQ4Da9blVovzNCMaUlyKrzMSvkVR0D4qPuOy/+pMCrh1d7o01RATwVy+6Fa1WBw+da7QPeLWU/1mQ== -"@rollup/rollup-win32-arm64-msvc@4.39.0": - version "4.39.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.39.0.tgz#3a3f421f5ce9bd99ed20ce1660cce7cee3e9f199" - integrity sha512-jDrLm6yUtbOg2TYB3sBF3acUnAwsIksEYjLeHL+TJv9jg+TmTwdyjnDex27jqEMakNKf3RwwPahDIt7QXCSqRQ== +"@rollup/rollup-win32-arm64-msvc@4.40.1": + version "4.40.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.1.tgz#c7724c386eed0bda5ae7143e4081c1910cab349b" + integrity sha512-b2bcNm9Kbde03H+q+Jjw9tSfhYkzrDUf2d5MAd1bOJuVplXvFhWz7tRtWvD8/ORZi7qSCy0idW6tf2HgxSXQSg== -"@rollup/rollup-win32-ia32-msvc@4.39.0": - version "4.39.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.39.0.tgz#a44972d5cdd484dfd9cf3705a884bf0c2b7785a7" - integrity sha512-6w9uMuza+LbLCVoNKL5FSLE7yvYkq9laSd09bwS0tMjkwXrmib/4KmoJcrKhLWHvw19mwU+33ndC69T7weNNjQ== +"@rollup/rollup-win32-ia32-msvc@4.40.1": + version "4.40.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.1.tgz#7749e1b65cb64fe6d41ad1ad9e970a0ccc8ac350" + integrity sha512-DfcogW8N7Zg7llVEfpqWMZcaErKfsj9VvmfSyRjCyo4BI3wPEfrzTtJkZG6gKP/Z92wFm6rz2aDO7/JfiR/whA== -"@rollup/rollup-win32-x64-msvc@4.39.0": - version "4.39.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.39.0.tgz#bfe0214e163f70c4fec1c8f7bb8ce266f4c05b7e" - integrity sha512-yAkUOkIKZlK5dl7u6dg897doBgLXmUHhIINM2c+sND3DZwnrdQkkSiDh7N75Ll4mM4dxSkYfXqU9fW3lLkMFug== +"@rollup/rollup-win32-x64-msvc@4.40.1": + version "4.40.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.1.tgz#8078b71fe0d5825dcbf83d52a7dc858b39da165c" + integrity sha512-ECyOuDeH3C1I8jH2MK1RtBJW+YPMvSfT0a5NN0nHfQYnDSJ6tUiZH3gzwVP5/Kfh/+Tt7tpWVF9LXNTnhTJ3kA== "@scure/base@1.1.1": version "1.1.1" @@ -896,9 +889,9 @@ integrity sha512-YaDrquRpZwfcXbnlDsSrBQNCChVOT9MGuSg+dMAyfsAa1SmiAhrA5jUYUiIMC59G92kIbY/AaQOWcBdq+lh+zg== "@sveltejs/kit@^2.0.0": - version "2.20.5" - resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-2.20.5.tgz#72546cf594fe8cebc2ef0bbf2923dffb411a5e20" - integrity sha512-zT/97KvVUo19jEGZa972ls7KICjPCB53j54TVxnEFT5VEwL16G+YFqRVwJbfxh7AmS7/Ptr1rKF7Qt4FBMDNlw== + version "2.20.8" + resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-2.20.8.tgz#c4cb1487ec765bfd7c3d1d06f45164d5edbc4d90" + integrity sha512-ep9qTxL7WALhfm0kFecL3VHeuNew8IccbYGqv5TqL/KSqWRKzEgDG8blNlIu1CkLTTua/kHjI+f5T8eCmWIxKw== dependencies: "@types/cookie" "^0.6.0" cookie "^0.6.0" @@ -1008,62 +1001,62 @@ resolved "https://registry.yarnpkg.com/@types/swagger-ui/-/swagger-ui-3.52.4.tgz#96c4886e8f86ae392f8d940bf7029cf490a51c72" integrity sha512-7NV7q8BfupqdQxr26OkM0g0YEPB9uXnKGzXadgcearvI9MoCHt3F72lPTX3fZZIlrr21DC0IK26wcDMZ37oFDA== -"@typescript-eslint/eslint-plugin@8.29.1", "@typescript-eslint/eslint-plugin@^8.7.0": - version "8.29.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.29.1.tgz#593639d9bb5239b2d877d65757b7e2c9100a2e84" - integrity sha512-ba0rr4Wfvg23vERs3eB+P3lfj2E+2g3lhWcCVukUuhtcdUx5lSIFZlGFEBHKr+3zizDa/TvZTptdNHVZWAkSBg== +"@typescript-eslint/eslint-plugin@8.31.1", "@typescript-eslint/eslint-plugin@^8.7.0": + version "8.31.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.31.1.tgz#62f1befe59647524994e89de4516d8dcba7a850a" + integrity sha512-oUlH4h1ABavI4F0Xnl8/fOtML/eu8nI2A1nYd+f+55XI0BLu+RIqKoCiZKNo6DtqZBEQm5aNKA20G3Z5w3R6GQ== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.29.1" - "@typescript-eslint/type-utils" "8.29.1" - "@typescript-eslint/utils" "8.29.1" - "@typescript-eslint/visitor-keys" "8.29.1" + "@typescript-eslint/scope-manager" "8.31.1" + "@typescript-eslint/type-utils" "8.31.1" + "@typescript-eslint/utils" "8.31.1" + "@typescript-eslint/visitor-keys" "8.31.1" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" ts-api-utils "^2.0.1" -"@typescript-eslint/parser@8.29.1", "@typescript-eslint/parser@^8.7.0": - version "8.29.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.29.1.tgz#10bf37411be0a199c27b6515726e22fe8d3df8d0" - integrity sha512-zczrHVEqEaTwh12gWBIJWj8nx+ayDcCJs06yoNMY0kwjMWDM6+kppljY+BxWI06d2Ja+h4+WdufDcwMnnMEWmg== +"@typescript-eslint/parser@8.31.1", "@typescript-eslint/parser@^8.7.0": + version "8.31.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.31.1.tgz#e9b0ccf30d37dde724ee4d15f4dbc195995cce1b" + integrity sha512-oU/OtYVydhXnumd0BobL9rkJg7wFJ9bFFPmSmB/bf/XWN85hlViji59ko6bSKBXyseT9V8l+CN1nwmlbiN0G7Q== dependencies: - "@typescript-eslint/scope-manager" "8.29.1" - "@typescript-eslint/types" "8.29.1" - "@typescript-eslint/typescript-estree" "8.29.1" - "@typescript-eslint/visitor-keys" "8.29.1" + "@typescript-eslint/scope-manager" "8.31.1" + "@typescript-eslint/types" "8.31.1" + "@typescript-eslint/typescript-estree" "8.31.1" + "@typescript-eslint/visitor-keys" "8.31.1" debug "^4.3.4" -"@typescript-eslint/scope-manager@8.29.1": - version "8.29.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.29.1.tgz#cfdfd4144f20c38b9d3e430efd6480e297ef52f6" - integrity sha512-2nggXGX5F3YrsGN08pw4XpMLO1Rgtnn4AzTegC2MDesv6q3QaTU5yU7IbS1tf1IwCR0Hv/1EFygLn9ms6LIpDA== +"@typescript-eslint/scope-manager@8.31.1": + version "8.31.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.31.1.tgz#1eb52e76878f545e4add142e0d8e3e97e7aa443b" + integrity sha512-BMNLOElPxrtNQMIsFHE+3P0Yf1z0dJqV9zLdDxN/xLlWMlXK/ApEsVEKzpizg9oal8bAT5Sc7+ocal7AC1HCVw== dependencies: - "@typescript-eslint/types" "8.29.1" - "@typescript-eslint/visitor-keys" "8.29.1" + "@typescript-eslint/types" "8.31.1" + "@typescript-eslint/visitor-keys" "8.31.1" -"@typescript-eslint/type-utils@8.29.1": - version "8.29.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.29.1.tgz#653dfff5c1711bc920a6a46a5a2c274899f00179" - integrity sha512-DkDUSDwZVCYN71xA4wzySqqcZsHKic53A4BLqmrWFFpOpNSoxX233lwGu/2135ymTCR04PoKiEEEvN1gFYg4Tw== +"@typescript-eslint/type-utils@8.31.1": + version "8.31.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.31.1.tgz#be0f438fb24b03568e282a0aed85f776409f970c" + integrity sha512-fNaT/m9n0+dpSp8G/iOQ05GoHYXbxw81x+yvr7TArTuZuCA6VVKbqWYVZrV5dVagpDTtj/O8k5HBEE/p/HM5LA== dependencies: - "@typescript-eslint/typescript-estree" "8.29.1" - "@typescript-eslint/utils" "8.29.1" + "@typescript-eslint/typescript-estree" "8.31.1" + "@typescript-eslint/utils" "8.31.1" debug "^4.3.4" ts-api-utils "^2.0.1" -"@typescript-eslint/types@8.29.1": - version "8.29.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.29.1.tgz#984ed1283fedbfb41d3993a9abdcb7b299971500" - integrity sha512-VT7T1PuJF1hpYC3AGm2rCgJBjHL3nc+A/bhOp9sGMKfi5v0WufsX/sHCFBfNTx2F+zA6qBc/PD0/kLRLjdt8mQ== +"@typescript-eslint/types@8.31.1": + version "8.31.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.31.1.tgz#478ed6f7e8aee1be7b63a60212b6bffe1423b5d4" + integrity sha512-SfepaEFUDQYRoA70DD9GtytljBePSj17qPxFHA/h3eg6lPTqGJ5mWOtbXCk1YrVU1cTJRd14nhaXWFu0l2troQ== -"@typescript-eslint/typescript-estree@8.29.1": - version "8.29.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.29.1.tgz#4ac085665ed5390d11c0e3426427978570e3b747" - integrity sha512-l1enRoSaUkQxOQnbi0KPUtqeZkSiFlqrx9/3ns2rEDhGKfTa+88RmXqedC1zmVTOWrLc2e6DEJrTA51C9iLH5g== +"@typescript-eslint/typescript-estree@8.31.1": + version "8.31.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.31.1.tgz#37792fe7ef4d3021c7580067c8f1ae66daabacdf" + integrity sha512-kaA0ueLe2v7KunYOyWYtlf/QhhZb7+qh4Yw6Ni5kgukMIG+iP773tjgBiLWIXYumWCwEq3nLW+TUywEp8uEeag== dependencies: - "@typescript-eslint/types" "8.29.1" - "@typescript-eslint/visitor-keys" "8.29.1" + "@typescript-eslint/types" "8.31.1" + "@typescript-eslint/visitor-keys" "8.31.1" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" @@ -1071,22 +1064,22 @@ semver "^7.6.0" ts-api-utils "^2.0.1" -"@typescript-eslint/utils@8.29.1": - version "8.29.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.29.1.tgz#3d206c8c8def3527a8eb0588e94e3e60f7e167c9" - integrity sha512-QAkFEbytSaB8wnmB+DflhUPz6CLbFWE2SnSCrRMEa+KnXIzDYbpsn++1HGvnfAsUY44doDXmvRkO5shlM/3UfA== +"@typescript-eslint/utils@8.31.1": + version "8.31.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.31.1.tgz#5628ea0393598a0b2f143d0fc6d019f0dee9dd14" + integrity sha512-2DSI4SNfF5T4oRveQ4nUrSjUqjMND0nLq9rEkz0gfGr3tg0S5KB6DhwR+WZPCjzkZl3cH+4x2ce3EsL50FubjQ== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.29.1" - "@typescript-eslint/types" "8.29.1" - "@typescript-eslint/typescript-estree" "8.29.1" + "@typescript-eslint/scope-manager" "8.31.1" + "@typescript-eslint/types" "8.31.1" + "@typescript-eslint/typescript-estree" "8.31.1" -"@typescript-eslint/visitor-keys@8.29.1": - version "8.29.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.29.1.tgz#9b74e5098c71138d42bbf2178fbe4dfad45d6b9a" - integrity sha512-RGLh5CRaUEf02viP5c1Vh1cMGffQscyHe7HPAzGpfmfflFg1wUz2rYxd+OZqwpeypYvZ8UxSxuIpF++fmOzEcg== +"@typescript-eslint/visitor-keys@8.31.1": + version "8.31.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.31.1.tgz#6742b0e3ba1e0c1e35bdaf78c03e759eb8dd8e75" + integrity sha512-I+/rgqOVBn6f0o7NDTmAPWWC6NuqhV174lfYvAm9fUaWeiefLdux9/YI3/nLugEn9L8fcSi0XmpKi/r5u0nmpw== dependencies: - "@typescript-eslint/types" "8.29.1" + "@typescript-eslint/types" "8.31.1" eslint-visitor-keys "^4.2.0" "@vitest/expect@2.1.9": @@ -1765,18 +1758,18 @@ eslint-visitor-keys@^4.2.0: integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw== eslint@^9.11.0: - version "9.24.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.24.0.tgz#9a7f2e6cb2de81c405ab244b02f4584c79dc6bee" - integrity sha512-eh/jxIEJyZrvbWRe4XuVclLPDYSYYYgLy5zXGGxD6j8zjSAxFEzI2fL/8xNq6O2yKqVt+eF2YhV+hxjV6UKXwQ== + version "9.25.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.25.1.tgz#8a7cf8dd0e6acb858f86029720adb1785ee57580" + integrity sha512-E6Mtz9oGQWDCpV12319d59n4tx9zOTXSTmc8BLVxBx+G/0RdM5MvEEJLU9c0+aleoePYYgVTOsRblx433qmhWQ== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.12.1" "@eslint/config-array" "^0.20.0" - "@eslint/config-helpers" "^0.2.0" - "@eslint/core" "^0.12.0" + "@eslint/config-helpers" "^0.2.1" + "@eslint/core" "^0.13.0" "@eslint/eslintrc" "^3.3.1" - "@eslint/js" "9.24.0" - "@eslint/plugin-kit" "^0.2.7" + "@eslint/js" "9.25.1" + "@eslint/plugin-kit" "^0.2.8" "@humanfs/node" "^0.16.6" "@humanwhocodes/module-importer" "^1.0.1" "@humanwhocodes/retry" "^0.4.2" @@ -1927,7 +1920,12 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" -fdir@^6.2.0, fdir@^6.4.3: +fdir@^6.2.0: + version "6.4.4" + resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.4.4.tgz#1cfcf86f875a883e19a8fab53622cfe992e8d2f9" + integrity sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg== + +fdir@^6.4.3: version "6.4.3" resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.4.3.tgz#011cdacf837eca9b811c89dbb902df714273db72" integrity sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw== @@ -2722,17 +2720,17 @@ picomatch@^4.0.2: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.2.tgz#77c742931e8f3b8820946c76cd0c1f13730d1dab" integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== -playwright-core@1.51.1: - version "1.51.1" - resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.51.1.tgz#d57f0393e02416f32a47cf82b27533656a8acce1" - integrity sha512-/crRMj8+j/Nq5s8QcvegseuyeZPxpQCZb6HNk3Sos3BlZyAknRjoyJPFWkpNn8v0+P3WiwqFF8P+zQo4eqiNuw== +playwright-core@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.52.0.tgz#238f1f0c3edd4ebba0434ce3f4401900319a3dca" + integrity sha512-l2osTgLXSMeuLZOML9qYODUQoPPnUsKsb5/P6LJ2e6uPKXUdPK5WYhN4z03G+YNbWmGDY4YENauNu4ZKczreHg== -playwright@1.51.1: - version "1.51.1" - resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.51.1.tgz#ae1467ee318083968ad28d6990db59f47a55390f" - integrity sha512-kkx+MB2KQRkyxjYPc3a0wLZZoDczmppyGJIvQ43l+aZihkaVvmu/21kiyaHeHjiFxjxNNFnUncKmcGIyOojsaw== +playwright@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.52.0.tgz#26cb9a63346651e1c54c8805acfd85683173d4bd" + integrity sha512-JAwMNMBlxJ2oD1kce4KPtMkDeKGHQstdpFPcPH3maElAXon/QZeTvtsfXmTMRyO9TslfoYOXkSsvao2nE1ilTw== dependencies: - playwright-core "1.51.1" + playwright-core "1.52.0" optionalDependencies: fsevents "2.3.2" @@ -2870,32 +2868,32 @@ rollup-plugin-visualizer@^5.12.0: yargs "^17.5.1" rollup@^4.20.0: - version "4.39.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.39.0.tgz#9dc1013b70c0e2cb70ef28350142e9b81b3f640c" - integrity sha512-thI8kNc02yNvnmJp8dr3fNWJ9tCONDhp6TV35X6HkKGGs9E6q7YWCHbe5vKiTa7TAiNcFEmXKj3X/pG2b3ci0g== + version "4.40.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.40.1.tgz#03d6c53ebb6a9c2c060ae686a61e72a2472b366f" + integrity sha512-C5VvvgCCyfyotVITIAv+4efVytl5F7wt+/I2i9q9GZcEXW9BP52YYOXC58igUi+LFZVHukErIIqQSWwv/M3WRw== dependencies: "@types/estree" "1.0.7" optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.39.0" - "@rollup/rollup-android-arm64" "4.39.0" - "@rollup/rollup-darwin-arm64" "4.39.0" - "@rollup/rollup-darwin-x64" "4.39.0" - "@rollup/rollup-freebsd-arm64" "4.39.0" - "@rollup/rollup-freebsd-x64" "4.39.0" - "@rollup/rollup-linux-arm-gnueabihf" "4.39.0" - "@rollup/rollup-linux-arm-musleabihf" "4.39.0" - "@rollup/rollup-linux-arm64-gnu" "4.39.0" - "@rollup/rollup-linux-arm64-musl" "4.39.0" - "@rollup/rollup-linux-loongarch64-gnu" "4.39.0" - "@rollup/rollup-linux-powerpc64le-gnu" "4.39.0" - "@rollup/rollup-linux-riscv64-gnu" "4.39.0" - "@rollup/rollup-linux-riscv64-musl" "4.39.0" - "@rollup/rollup-linux-s390x-gnu" "4.39.0" - "@rollup/rollup-linux-x64-gnu" "4.39.0" - "@rollup/rollup-linux-x64-musl" "4.39.0" - "@rollup/rollup-win32-arm64-msvc" "4.39.0" - "@rollup/rollup-win32-ia32-msvc" "4.39.0" - "@rollup/rollup-win32-x64-msvc" "4.39.0" + "@rollup/rollup-android-arm-eabi" "4.40.1" + "@rollup/rollup-android-arm64" "4.40.1" + "@rollup/rollup-darwin-arm64" "4.40.1" + "@rollup/rollup-darwin-x64" "4.40.1" + "@rollup/rollup-freebsd-arm64" "4.40.1" + "@rollup/rollup-freebsd-x64" "4.40.1" + "@rollup/rollup-linux-arm-gnueabihf" "4.40.1" + "@rollup/rollup-linux-arm-musleabihf" "4.40.1" + "@rollup/rollup-linux-arm64-gnu" "4.40.1" + "@rollup/rollup-linux-arm64-musl" "4.40.1" + "@rollup/rollup-linux-loongarch64-gnu" "4.40.1" + "@rollup/rollup-linux-powerpc64le-gnu" "4.40.1" + "@rollup/rollup-linux-riscv64-gnu" "4.40.1" + "@rollup/rollup-linux-riscv64-musl" "4.40.1" + "@rollup/rollup-linux-s390x-gnu" "4.40.1" + "@rollup/rollup-linux-x64-gnu" "4.40.1" + "@rollup/rollup-linux-x64-musl" "4.40.1" + "@rollup/rollup-win32-arm64-msvc" "4.40.1" + "@rollup/rollup-win32-ia32-msvc" "4.40.1" + "@rollup/rollup-win32-x64-msvc" "4.40.1" fsevents "~2.3.2" rrweb-cssom@^0.7.1: @@ -2923,9 +2921,9 @@ sade@^1.7.4, sade@^1.8.1: integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== sass@^1.79.3: - version "1.86.3" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.86.3.tgz#0a0d9ea97cb6665e73f409639f8533ce057464c9" - integrity sha512-iGtg8kus4GrsGLRDLRBRHY9dNVA78ZaS7xr01cWnS7PEMQyFtTqBiyCrfpTYTZXRWM94akzckYjh8oADfFNTzw== + version "1.87.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.87.0.tgz#8cceb36fa63fb48a8d5d7f2f4c13b49c524b723e" + integrity sha512-d0NoFH4v6SjEK7BoX810Jsrhj7IQSYHAHLi/iSpgqKc7LaIDshFRlSg5LOymf9FqQhxEHs2W5ZQXlvy0KD45Uw== dependencies: chokidar "^4.0.0" immutable "^5.0.2" @@ -3105,9 +3103,9 @@ svelte-bootstrap-icons@^3.1.1: integrity sha512-vy+qmWFfLJZxu5BaDlmaUG4uzki1rodX5ERZAP6KQdyO/2WNeGBDU4Yke3Z0NRq+VSepK86iAy+iUJvlUdsbBg== svelte-check@^4.0.2: - version "4.1.5" - resolved "https://registry.yarnpkg.com/svelte-check/-/svelte-check-4.1.5.tgz#afdb3f8050c123064124d5aa7821365c7befa7a4" - integrity sha512-Gb0T2IqBNe1tLB9EB1Qh+LOe+JB8wt2/rNBDGvkxQVvk8vNeAoG+vZgFB/3P5+zC7RWlyBlzm9dVjZFph/maIg== + version "4.1.7" + resolved "https://registry.yarnpkg.com/svelte-check/-/svelte-check-4.1.7.tgz#3c61e965160dacb5dc6a643c85f715c00d19ce7e" + integrity sha512-1jX4BzXrQJhC/Jt3SqYf6Ntu//vmfc6VWp07JkRfK2nn+22yIblspVUo96gzMkg0Zov8lQicxhxsMzOctwcMQQ== dependencies: "@jridgewell/trace-mapping" "^0.3.25" chokidar "^4.0.1" @@ -3291,13 +3289,13 @@ type@^2.7.2: integrity sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ== typescript-eslint@^8.7.0: - version "8.29.1" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.29.1.tgz#c0b205e542ade22f9027caaaa9c4ec31a202010f" - integrity sha512-f8cDkvndhbQMPcysk6CUSGBWV+g1utqdn71P5YKwMumVMOG/5k7cHq0KyG4O52nB0oKS4aN2Tp5+wB4APJGC+w== + version "8.31.1" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.31.1.tgz#b77ab1e48ced2daab9225ff94bab54391a4af69b" + integrity sha512-j6DsEotD/fH39qKzXTQRwYYWlt7D+0HmfpOK+DVhwJOFLcdmn92hq3mBb7HlKJHbjjI/gTOqEcc9d6JfpFf/VA== dependencies: - "@typescript-eslint/eslint-plugin" "8.29.1" - "@typescript-eslint/parser" "8.29.1" - "@typescript-eslint/utils" "8.29.1" + "@typescript-eslint/eslint-plugin" "8.31.1" + "@typescript-eslint/parser" "8.31.1" + "@typescript-eslint/utils" "8.31.1" typescript@^5.5.4: version "5.6.3" @@ -3344,9 +3342,9 @@ vite@^5.0.0: fsevents "~2.3.3" vite@^5.4.7: - version "5.4.18" - resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.18.tgz#b5af357f9d5ebb2e0c085779b7a37a77f09168a4" - integrity sha512-1oDcnEp3lVyHCuQ2YFelM4Alm2o91xNoMncRm1U7S+JdYfYOvbiGZ3/CxGttrOu2M/KcGz7cRC2DoNUA6urmMA== + version "5.4.19" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.19.tgz#20efd060410044b3ed555049418a5e7d1998f959" + integrity sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA== dependencies: esbuild "^0.21.3" postcss "^8.4.43" From 8389ed8e36a9a1a7a39ca31f53324a0949aedb1d Mon Sep 17 00:00:00 2001 From: Djuri Baars Date: Fri, 2 May 2025 23:25:21 +0200 Subject: [PATCH 74/74] fix: timePerScreen setting and third party source labeling --- src/lib/components/SettingsInput.svelte | 6 +++--- src/lib/components/settings/DisplaySettings.svelte | 6 ++++-- src/lib/locales/en.json | 2 +- src/routes/+page.svelte | 5 ++--- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/lib/components/SettingsInput.svelte b/src/lib/components/SettingsInput.svelte index a298ba1..01738e6 100644 --- a/src/lib/components/SettingsInput.svelte +++ b/src/lib/components/SettingsInput.svelte @@ -25,10 +25,10 @@ export let invalid: boolean | undefined = undefined; export let minlength: string | undefined = undefined; export let onChange: (() => void) | undefined = undefined; - export let onInput: (() => void) | undefined = undefined; + export let onInput: ((e: Event) => void) | undefined = undefined; - const onInputHandler = () => { - onInput?.(); + const onInputHandler = (e: Event) => { + onInput?.(e); }; diff --git a/src/lib/components/settings/DisplaySettings.svelte b/src/lib/components/settings/DisplaySettings.svelte index 0c1ed38..0edaad0 100644 --- a/src/lib/components/settings/DisplaySettings.svelte +++ b/src/lib/components/settings/DisplaySettings.svelte @@ -33,6 +33,8 @@ : font.charAt(0).toUpperCase() + font.slice(1), font ]); + + let timePerScreen = $settings.timePerScreen; @@ -61,7 +63,8 @@ ($settings.timePerScreen = Number(e.target.value))} type="number" min={1} step={1} @@ -69,7 +72,6 @@ suffix={$_('time.minutes')} size={$uiSettings.inputSize} /> -