diff --git a/.github/workflows/build-compiler.yml b/.github/workflows/build-compiler.yml
index e7881720b..42562c95c 100644
--- a/.github/workflows/build-compiler.yml
+++ b/.github/workflows/build-compiler.yml
@@ -4,7 +4,7 @@ on:
workflow_dispatch:
env:
- COMPILER_IMAGE: ghcr.io/stashapp/compiler:13
+ COMPILER_IMAGE: ghcr.io/stashapp/compiler:14
jobs:
build-compiler:
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index c068b46f0..7f6f5696d 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -15,7 +15,7 @@ concurrency:
cancel-in-progress: true
env:
- COMPILER_IMAGE: ghcr.io/stashapp/compiler:13
+ COMPILER_IMAGE: ghcr.io/stashapp/compiler:14
jobs:
# Job 1: Generate code and build UI
@@ -30,6 +30,8 @@ jobs:
fetch-tags: true
- name: Setup Go
uses: actions/setup-go@v6
+ with:
+ go-version-file: 'go.mod'
# pnpm version is read from the packageManager field in package.json
# very broken (4.3, 4.4)
diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml
index 19a6d62bd..d2d54b207 100644
--- a/.github/workflows/golangci-lint.yml
+++ b/.github/workflows/golangci-lint.yml
@@ -17,6 +17,8 @@ jobs:
# no tags or depth needed for lint
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
+ with:
+ go-version-file: 'go.mod'
# generate-backend runs natively (just go generate + touch-ui) — no Docker needed
- name: Generate Backend
@@ -25,4 +27,6 @@ jobs:
## WARN
## using v1, update in a later PR
- name: Run golangci-lint
- uses: golangci/golangci-lint-action@v6
\ No newline at end of file
+ uses: golangci/golangci-lint-action@v8
+ with:
+ version: v2.11.4
\ No newline at end of file
diff --git a/.golangci.yml b/.golangci.yml
index 5ed4d715c..2521ebfc2 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -1,87 +1,100 @@
-# options for analysis running
-run:
- timeout: 5m
-
+version: "2"
linters:
- disable-all: true
+ default: none
enable:
- # Default set of linters from golangci-lint
- - errcheck
- - gosimple
- - govet
- - ineffassign
- - staticcheck
- - typecheck
- - unused
- # Linters added by the stash project.
- # - contextcheck
- copyloopvar
- dogsled
+ - errcheck
- errchkjson
- errorlint
- # - exhaustive
- gocritic
- # - goerr113
- - gofmt
- # - gomnd
- # - ifshort
+ - govet
+ - ineffassign
- misspell
- # - nakedret
- - noctx
+
+ # TODO - fix these in a later PR
+ # - noctx
+
- revive
- rowserrcheck
- sqlclosecheck
-
-# Project-specific linter overrides
-linters-settings:
- gofmt:
- simplify: false
-
- errorlint:
- # Disable errorf because there are false positives, where you don't want to wrap
- # an error.
- errorf: false
- asserts: true
- comparison: true
-
- revive:
- ignore-generated-header: true
- severity: error
- confidence: 0.8
- rules:
- - name: blank-imports
- disabled: true
- - name: context-as-argument
- - name: context-keys-type
- - name: dot-imports
- - name: error-return
- - name: error-strings
- - name: error-naming
- - name: exported
- disabled: true
- - name: if-return
- disabled: true
- - name: increment-decrement
- - name: var-naming
- disabled: true
- - name: var-declaration
- - name: package-comments
- - name: range
- - name: receiver-naming
- - name: time-naming
- - name: unexported-return
- disabled: true
- - name: indent-error-flow
- disabled: true
- - name: errorf
- - name: empty-block
- disabled: true
- - name: superfluous-else
- - name: unused-parameter
- disabled: true
- - name: unreachable-code
- - name: redefines-builtin-id
-
- rowserrcheck:
- packages:
- - github.com/jmoiron/sqlx
+ - staticcheck
+ - unused
+
+ settings:
+ staticcheck:
+ checks:
+ - all
+
+ # we specify (unnecessary) embedded fields for clarity in many places
+ - -QF1008
+
+ # there's lots of misnamed (eg intId instead of intID) fields in the code.
+ # it's not exactly world-ending, so I'm deferring fixing these for now
+ - -ST1003
+ errorlint:
+ errorf: false
+ asserts: true
+ comparison: true
+ revive:
+ confidence: 0.8
+ severity: error
+ rules:
+ - name: blank-imports
+ disabled: true
+ - name: context-as-argument
+ - name: context-keys-type
+ - name: dot-imports
+ - name: error-return
+ - name: error-strings
+ - name: error-naming
+ - name: exported
+ disabled: true
+ - name: if-return
+ disabled: true
+ - name: increment-decrement
+ - name: var-naming
+ disabled: true
+ - name: var-declaration
+ - name: package-comments
+ - name: range
+ - name: receiver-naming
+ - name: time-naming
+ - name: unexported-return
+ disabled: true
+ - name: indent-error-flow
+ disabled: true
+ - name: errorf
+ - name: empty-block
+ disabled: true
+ - name: superfluous-else
+ - name: unused-parameter
+ disabled: true
+ - name: unreachable-code
+ - name: redefines-builtin-id
+ rowserrcheck:
+ packages:
+ - github.com/jmoiron/sqlx
+ exclusions:
+ generated: lax
+ presets:
+ - comments
+ - common-false-positives
+ - legacy
+ - std-error-handling
+ paths:
+ - third_party$
+ - builtin$
+ - examples$
+formatters:
+ enable:
+ - gofmt
+ settings:
+ gofmt:
+ simplify: false
+ exclusions:
+ generated: lax
+ paths:
+ - third_party$
+ - builtin$
+ - examples$
diff --git a/README.md b/README.md
index 669f54b1c..781eb5fcb 100644
--- a/README.md
+++ b/README.md
@@ -36,7 +36,8 @@ Step-by-step instructions are available at [docs.stashapp.cc/installation](https
> **macOS Users**
>
> As of version 0.29.0, Stash requires _macOS 11 Big Sur_ or later.
-> Stash can still be run through docker on older versions of macOS.
+> As of version 0.32.0, Stash requires _macOS 12 Monterey_ or later.
+> Stash can still be run through Docker on older versions of macOS.
Windows |
macOS |
Linux |
Docker
:---:|:---:|:---:|:---:
diff --git a/cmd/stash/main.go b/cmd/stash/main.go
index 57fedd0e2..def4f3368 100644
--- a/cmd/stash/main.go
+++ b/cmd/stash/main.go
@@ -148,7 +148,7 @@ func recoverPanic() {
exitCode = 1
logger.Errorf("panic: %v\n%s", err, debug.Stack())
if desktop.IsDesktop() {
- desktop.FatalError(fmt.Errorf("Panic: %v", err))
+ desktop.FatalError(fmt.Errorf("panic: %v", err))
}
}
}
diff --git a/docker/compiler/Dockerfile b/docker/compiler/Dockerfile
index c9dfb9c7c..d41be11a3 100644
--- a/docker/compiler/Dockerfile
+++ b/docker/compiler/Dockerfile
@@ -5,14 +5,14 @@ WORKDIR /tmp/osxcross
ARG OSXCROSS_REVISION=5e1b71fcceb23952f3229995edca1b6231525b5b
ADD --checksum=sha256:d3f771bbc20612fea577b18a71be3af2eb5ad2dd44624196cf55de866d008647 https://codeload.github.com/tpoechtrager/osxcross/tar.gz/${OSXCROSS_REVISION} /tmp/osxcross.tar.gz
-ARG OSX_SDK_VERSION=11.3
+ARG OSX_SDK_VERSION=12.3
ARG OSX_SDK_DOWNLOAD_FILE=MacOSX${OSX_SDK_VERSION}.sdk.tar.xz
-ARG OSX_SDK_DOWNLOAD_URL=https://github.com/phracker/MacOSX-SDKs/releases/download/${OSX_SDK_VERSION}/${OSX_SDK_DOWNLOAD_FILE}
-ADD --checksum=sha256:cd4f08a75577145b8f05245a2975f7c81401d75e9535dcffbb879ee1deefcbf4 ${OSX_SDK_DOWNLOAD_URL} /tmp/osxcross/tarballs/${OSX_SDK_DOWNLOAD_FILE}
+ARG OSX_SDK_DOWNLOAD_URL=https://github.com/joseluisq/macosx-sdks/releases/download/${OSX_SDK_VERSION}/${OSX_SDK_DOWNLOAD_FILE}
+ADD --checksum=sha256:3abd261ceb483c44295a6623fdffe5d44fc4ac2c872526576ec5ab5ad0f6e26c ${OSX_SDK_DOWNLOAD_URL} /tmp/osxcross/tarballs/${OSX_SDK_DOWNLOAD_FILE}
ENV UNATTENDED=yes \
SDK_VERSION=${OSX_SDK_VERSION} \
- OSX_VERSION_MIN=10.10
+ OSX_VERSION_MIN=12.0
RUN apt update && \
apt install -y --no-install-recommends \
bash ca-certificates clang cmake git patch libssl-dev bzip2 cpio libbz2-dev libxml2-dev make python3 xz-utils zlib1g-dev
@@ -46,7 +46,7 @@ RUN cd /opt/cross-freebsd/usr/lib && \
ln -s libc++.so libstdc++.so
### BUILDER
-FROM golang:1.24.3 AS builder
+FROM golang:1.25.9 AS builder
ENV PATH=/opt/osx-ndk-x86/bin:$PATH
# copy in nodejs instead of using nodesource :thumbsup:
diff --git a/docker/compiler/Makefile b/docker/compiler/Makefile
index 66f19f5d6..2a81222a0 100644
--- a/docker/compiler/Makefile
+++ b/docker/compiler/Makefile
@@ -1,7 +1,7 @@
host=ghcr.io
user=stashapp
repo=compiler
-version=13
+version=14
VERSION_IMAGE = ${host}/${user}/${repo}:${version}
LATEST_IMAGE = ${host}/${user}/${repo}:latest
diff --git a/go.mod b/go.mod
index 348036710..48495d738 100644
--- a/go.mod
+++ b/go.mod
@@ -1,6 +1,6 @@
module github.com/stashapp/stash
-go 1.24.3
+go 1.25.0
require (
github.com/99designs/gqlgen v0.17.73
@@ -15,6 +15,7 @@ require (
github.com/disintegration/imaging v1.6.2
github.com/dop251/goja v0.0.0-20231027120936-b396bb4c349d
github.com/doug-martin/goqu/v9 v9.18.0
+ github.com/feederbox826/gosx-notifier v0.2.2
github.com/go-chi/chi/v5 v5.2.2
github.com/go-chi/cors v1.2.1
github.com/go-chi/httplog v0.3.1
@@ -30,7 +31,6 @@ require (
github.com/jinzhu/copier v0.4.0
github.com/jmoiron/sqlx v1.4.0
github.com/json-iterator/go v1.1.12
- github.com/kermieisinthehouse/gosx-notifier v0.1.2
github.com/kermieisinthehouse/systray v1.2.4
github.com/knadh/koanf/parsers/yaml v1.1.0
github.com/knadh/koanf/providers/env v1.1.0
@@ -56,12 +56,12 @@ require (
github.com/vektra/mockery/v2 v2.10.0
github.com/xWTF/chardet v0.0.0-20230208095535-c780f2ac244e
github.com/zencoder/go-dash/v3 v3.0.2
- golang.org/x/crypto v0.45.0
- golang.org/x/image v0.18.0
- golang.org/x/net v0.47.0
- golang.org/x/sys v0.38.0
- golang.org/x/term v0.37.0
- golang.org/x/text v0.31.0
+ golang.org/x/crypto v0.48.0
+ golang.org/x/image v0.38.0
+ golang.org/x/net v0.50.0
+ golang.org/x/sys v0.41.0
+ golang.org/x/term v0.40.0
+ golang.org/x/text v0.35.0
golang.org/x/time v0.10.0
gopkg.in/guregu/null.v4 v4.0.0
gopkg.in/natefinch/lumberjack.v2 v2.2.1
@@ -70,7 +70,7 @@ require (
require (
github.com/agnivade/levenshtein v1.2.1 // indirect
- github.com/antchfx/xpath v1.3.5 // indirect
+ github.com/antchfx/xpath v1.3.6 // indirect
github.com/asticode/go-astikit v0.20.0 // indirect
github.com/asticode/go-astits v1.8.0 // indirect
github.com/chromedp/sysutil v1.1.0 // indirect
@@ -121,9 +121,9 @@ require (
github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 // indirect
go.uber.org/atomic v1.11.0 // indirect
go.yaml.in/yaml/v3 v3.0.3 // indirect
- golang.org/x/mod v0.29.0 // indirect
- golang.org/x/sync v0.18.0 // indirect
- golang.org/x/tools v0.38.0 // indirect
+ golang.org/x/mod v0.33.0 // indirect
+ golang.org/x/sync v0.20.0 // indirect
+ golang.org/x/tools v0.42.0 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
diff --git a/go.sum b/go.sum
index 4e19720f5..25a5fd02a 100644
--- a/go.sum
+++ b/go.sum
@@ -87,8 +87,9 @@ github.com/andybalholm/cascadia v1.3.3 h1:AG2YHrzJIm4BZ19iwJ/DAua6Btl3IwJX+VI4kk
github.com/andybalholm/cascadia v1.3.3/go.mod h1:xNd9bqTn98Ln4DwST8/nG+H0yuB8Hmgu1YHNnWw0GeA=
github.com/antchfx/htmlquery v1.3.5 h1:aYthDDClnG2a2xePf6tys/UyyM/kRcsFRm+ifhFKoU0=
github.com/antchfx/htmlquery v1.3.5/go.mod h1:5oyIPIa3ovYGtLqMPNjBF2Uf25NPCKsMjCnQ8lvjaoA=
-github.com/antchfx/xpath v1.3.5 h1:PqbXLC3TkfeZyakF5eeh3NTWEbYl4VHNVeufANzDbKQ=
github.com/antchfx/xpath v1.3.5/go.mod h1:i54GszH55fYfBmoZXapTHN8T8tkcHfRgLyVwwqzXNcs=
+github.com/antchfx/xpath v1.3.6 h1:s0y+ElRRtTQdfHP609qFu0+c6bglDv20pqOViQjjdPI=
+github.com/antchfx/xpath v1.3.6/go.mod h1:i54GszH55fYfBmoZXapTHN8T8tkcHfRgLyVwwqzXNcs=
github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0 h1:jfIu9sQUG6Ig+0+Ap1h4unLjW6YQJpKZVmUzxsD4E/Q=
github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0/go.mod h1:t2tdKJDJF9BV14lnkjHmOQgcvEKgtqs5a1N3LNdJhGE=
@@ -187,6 +188,8 @@ github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
+github.com/feederbox826/gosx-notifier v0.2.2 h1:26NkaJZ8Wzptx82R46c9pkVAcFwGSU7kxWrOKmRWlC0=
+github.com/feederbox826/gosx-notifier v0.2.2/go.mod h1:R6rqw7VuwuiCuvsr7EOONmWq++CRA5Ijmkmx75/C3Fs=
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU=
@@ -389,8 +392,6 @@ github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1
github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
-github.com/kermieisinthehouse/gosx-notifier v0.1.2 h1:KV0KBeKK2B24kIHY7iK0jgS64Q05f4oB+hUZmsPodxQ=
-github.com/kermieisinthehouse/gosx-notifier v0.1.2/go.mod h1:xyWT07azFtUOcHl96qMVvKhvKzsMcS7rKTHQyv8WTho=
github.com/kermieisinthehouse/systray v1.2.4 h1:pdH5vnl+KKjRrVCRU4g/2W1/0HVzuuJ6WXHlPPHYY6s=
github.com/kermieisinthehouse/systray v1.2.4/go.mod h1:axh6C/jNuSyC0QGtidZJURc9h+h41HNoMySoLVrhVR4=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
@@ -667,8 +668,8 @@ golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliY
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
-golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q=
-golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4=
+golang.org/x/crypto v0.48.0 h1:/VRzVqiRSggnhY7gNRxPauEQ5Drw9haKdM0jqfcCFts=
+golang.org/x/crypto v0.48.0/go.mod h1:r0kV5h3qnFPlQnBSrULhlsRfryS2pmewsg+XfMgkVos=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -682,8 +683,8 @@ golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMk
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
-golang.org/x/image v0.18.0 h1:jGzIakQa/ZXI1I0Fxvaa9W7yP25TqT6cHIHn+6CqvSQ=
-golang.org/x/image v0.18.0/go.mod h1:4yyo5vMFQjVjUcVk4jEQcU9MGy/rulF5WvUILseCM2E=
+golang.org/x/image v0.38.0 h1:5l+q+Y9JDC7mBOMjo4/aPhMDcxEptsX+Tt3GgRQRPuE=
+golang.org/x/image v0.38.0/go.mod h1:/3f6vaXC+6CEanU4KJxbcUZyEePbyKbaLoDOe4ehFYY=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
@@ -714,8 +715,8 @@ golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
-golang.org/x/mod v0.29.0 h1:HV8lRxZC4l2cr3Zq1LvtOsi/ThTgWnUk/y64QSs8GwA=
-golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w=
+golang.org/x/mod v0.33.0 h1:tHFzIWbBifEmbwtGz65eaWyGiGZatSrT9prnU8DbVL8=
+golang.org/x/mod v0.33.0/go.mod h1:swjeQEj+6r7fODbD2cqrnje9PnziFuw4bmLbBZFrQ5w=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -770,8 +771,8 @@ golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
-golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY=
-golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU=
+golang.org/x/net v0.50.0 h1:ucWh9eiCGyDR3vtzso0WMQinm2Dnt8cFMuQa9K33J60=
+golang.org/x/net v0.50.0/go.mod h1:UgoSli3F/pBgdJBHCTc+tp3gmrU4XswgGRgtnwWTfyM=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -806,8 +807,8 @@ golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
-golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I=
-golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
+golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4=
+golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0=
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -894,8 +895,8 @@ golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc=
-golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
+golang.org/x/sys v0.41.0 h1:Ivj+2Cp/ylzLiEU89QhWblYnOE9zerudt9Ftecq2C6k=
+golang.org/x/sys v0.41.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
@@ -905,8 +906,8 @@ golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=
golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM=
-golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU=
-golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254=
+golang.org/x/term v0.40.0 h1:36e4zGLqU4yhjlmxEaagx2KuYbJq3EwY8K943ZsHcvg=
+golang.org/x/term v0.40.0/go.mod h1:w2P8uVp06p2iyKKuvXIm7N/y0UCRt3UfJTfZ7oOpglM=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -923,8 +924,8 @@ golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
-golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM=
-golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM=
+golang.org/x/text v0.35.0 h1:JOVx6vVDFokkpaq1AEptVzLTpDe9KGpj5tR4/X+ybL8=
+golang.org/x/text v0.35.0/go.mod h1:khi/HExzZJ2pGnjenulevKNX1W67CUy0AsXcNubPGCA=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -992,8 +993,8 @@ golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
-golang.org/x/tools v0.38.0 h1:Hx2Xv8hISq8Lm16jvBZ2VQf+RLmbd7wVUsALibYI/IQ=
-golang.org/x/tools v0.38.0/go.mod h1:yEsQ/d/YK8cjh0L6rZlY8tgtlKiBNTL14pGDJPJpYQs=
+golang.org/x/tools v0.42.0 h1:uNgphsn75Tdz5Ji2q36v/nsFSfR/9BRFvqhGBaJGd5k=
+golang.org/x/tools v0.42.0/go.mod h1:Ma6lCIwGZvHK6XtgbswSoWroEkhugApmsXyrUmBhfr0=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
diff --git a/internal/api/check_version.go b/internal/api/check_version.go
index f4c2950f1..10cb2b47a 100644
--- a/internal/api/check_version.go
+++ b/internal/api/check_version.go
@@ -148,12 +148,12 @@ func makeGithubRequest(ctx context.Context, url string, output interface{}) erro
response, err := client.Do(req)
if err != nil {
- //lint:ignore ST1005 Github is a proper capitalized noun
+ //nolint:staticcheck // ST1005 Github is a proper capitalized noun
return fmt.Errorf("Github API request failed: %w", err)
}
if response.StatusCode != http.StatusOK {
- //lint:ignore ST1005 Github is a proper capitalized noun
+ //nolint:staticcheck // ST1005 Github is a proper capitalized noun
return fmt.Errorf("Github API request failed: %s", response.Status)
}
@@ -161,7 +161,7 @@ func makeGithubRequest(ctx context.Context, url string, output interface{}) erro
data, err := io.ReadAll(response.Body)
if err != nil {
- //lint:ignore ST1005 Github is a proper capitalized noun
+ //nolint:staticcheck // ST1005 Github is a proper capitalized noun
return fmt.Errorf("Github API read response failed: %w", err)
}
@@ -295,10 +295,10 @@ func printLatestVersion(ctx context.Context) {
logger.Errorf("Couldn't retrieve latest version: %v", err)
} else {
_, githash, _ := build.Version()
- switch {
- case githash == "":
+ switch githash {
+ case "":
logger.Infof("Latest version: %s (%s)", latestRelease.Version, latestRelease.ShortHash)
- case githash == latestRelease.ShortHash:
+ case latestRelease.ShortHash:
logger.Infof("Version %s (%s) is already the latest released", latestRelease.Version, latestRelease.ShortHash)
default:
logger.Infof("New version available: %s (%s)", latestRelease.Version, latestRelease.ShortHash)
diff --git a/internal/api/resolver_model_scene.go b/internal/api/resolver_model_scene.go
index 81113d858..ecb163765 100644
--- a/internal/api/resolver_model_scene.go
+++ b/internal/api/resolver_model_scene.go
@@ -114,7 +114,7 @@ func (r *sceneResolver) Paths(ctx context.Context, obj *models.Scene) (*ScenePat
objHash := obj.GetHash(config.GetVideoFileNamingAlgorithm())
vttPath := builder.GetSpriteVTTURL(objHash)
spritePath := builder.GetSpriteURL(objHash)
- funscriptPath := builder.GetFunscriptURL()
+ funscriptPath := builder.GetFunscriptURL(config.GetAPIKey()).String()
captionBasePath := builder.GetCaptionURL()
interactiveHeatmap := builder.GetInteractiveHeatmapURL()
diff --git a/internal/api/resolver_mutation_package.go b/internal/api/resolver_mutation_package.go
index 8e36e6719..e4a24ba37 100644
--- a/internal/api/resolver_mutation_package.go
+++ b/internal/api/resolver_mutation_package.go
@@ -12,9 +12,10 @@ import (
func refreshPackageType(typeArg PackageType) {
mgr := manager.GetInstance()
- if typeArg == PackageTypePlugin {
+ switch typeArg {
+ case PackageTypePlugin:
mgr.RefreshPluginCache()
- } else if typeArg == PackageTypeScraper {
+ case PackageTypeScraper:
mgr.RefreshScraperCache()
}
}
diff --git a/internal/api/resolver_mutation_performer.go b/internal/api/resolver_mutation_performer.go
index 6f88c54ca..59e518675 100644
--- a/internal/api/resolver_mutation_performer.go
+++ b/internal/api/resolver_mutation_performer.go
@@ -654,7 +654,7 @@ func (r *mutationResolver) PerformerMerge(ctx context.Context, input PerformerMe
}
legacyURLs := legacyPerformerURLsFromInput(*input.Values, translator)
if legacyURLs.AnySet() {
- return nil, errors.New("Merging legacy performer URLs is not supported")
+ return nil, errors.New("merging legacy performer URLs is not supported")
}
if input.Values.Image != nil {
diff --git a/internal/api/urlbuilders/scene.go b/internal/api/urlbuilders/scene.go
index 10c4f347c..72a461519 100644
--- a/internal/api/urlbuilders/scene.go
+++ b/internal/api/urlbuilders/scene.go
@@ -57,8 +57,20 @@ func (b SceneURLBuilder) GetScreenshotURL() string {
return b.BaseURL + "/scene/" + b.SceneID + "/screenshot?t=" + b.UpdatedAt
}
-func (b SceneURLBuilder) GetFunscriptURL() string {
- return b.BaseURL + "/scene/" + b.SceneID + "/funscript"
+func (b SceneURLBuilder) GetFunscriptURL(apiKey string) *url.URL {
+ u, err := url.Parse(fmt.Sprintf("%s/scene/%s/funscript", b.BaseURL, b.SceneID))
+ if err != nil {
+ // shouldn't happen
+ panic(err)
+ }
+
+ if apiKey != "" {
+ v := u.Query()
+ v.Set("apikey", apiKey)
+ u.RawQuery = v.Encode()
+ }
+
+ return u
}
func (b SceneURLBuilder) GetCaptionURL() string {
diff --git a/internal/desktop/desktop_platform_darwin.go b/internal/desktop/desktop_platform_darwin.go
index 732009007..560cc1893 100644
--- a/internal/desktop/desktop_platform_darwin.go
+++ b/internal/desktop/desktop_platform_darwin.go
@@ -8,7 +8,7 @@ import (
"os"
"os/exec"
- gosxnotifier "github.com/kermieisinthehouse/gosx-notifier"
+ gosxnotifier "github.com/feederbox826/gosx-notifier"
"github.com/stashapp/stash/pkg/logger"
)
diff --git a/internal/identify/options.go b/internal/identify/options.go
index 9e27a3e39..181bf4612 100644
--- a/internal/identify/options.go
+++ b/internal/identify/options.go
@@ -33,8 +33,10 @@ type MetadataOptions struct {
SetCoverImage *bool `json:"setCoverImage"`
SetOrganized *bool `json:"setOrganized"`
// defaults to true if not provided
+
// Deprecated: use PerformerGenders instead
IncludeMalePerformers *bool `json:"includeMalePerformers"`
+
// Filter to only include performers with these genders. If not provided, all genders are included.
PerformerGenders []models.GenderEnum `json:"performerGenders"`
// defaults to true if not provided
diff --git a/internal/manager/checksum.go b/internal/manager/checksum.go
index cbe9d85d8..86f1b8708 100644
--- a/internal/manager/checksum.go
+++ b/internal/manager/checksum.go
@@ -22,7 +22,8 @@ type SceneMissingHashCounter interface {
// will ensure that all oshash values are set on all scenes.
func ValidateVideoFileNamingAlgorithm(ctx context.Context, qb SceneMissingHashCounter, newValue models.HashAlgorithm) error {
// if algorithm is being set to MD5, then all checksums must be present
- if newValue == models.HashAlgorithmMd5 {
+ switch newValue {
+ case models.HashAlgorithmMd5:
missingMD5, err := qb.CountMissingChecksum(ctx)
if err != nil {
return err
@@ -31,7 +32,7 @@ func ValidateVideoFileNamingAlgorithm(ctx context.Context, qb SceneMissingHashCo
if missingMD5 > 0 {
return errors.New("some checksums are missing on scenes. Run Scan with calculateMD5 set to true")
}
- } else if newValue == models.HashAlgorithmOshash {
+ case models.HashAlgorithmOshash:
missingOSHash, err := qb.CountMissingOSHash(ctx)
if err != nil {
return err
diff --git a/internal/manager/generator_interactive_heatmap_speed.go b/internal/manager/generator_interactive_heatmap_speed.go
index d10ce5b19..aa0ee0e38 100644
--- a/internal/manager/generator_interactive_heatmap_speed.go
+++ b/internal/manager/generator_interactive_heatmap_speed.go
@@ -408,7 +408,7 @@ func ConvertFunscriptToCSV(funscriptPath string) ([]byte, error) {
}
// I don't know whether the csv format requires int or float, so for now we'll use int
- buffer.WriteString(fmt.Sprintf("%d,%d\r\n", int(math.Round(action.At)), pos))
+ fmt.Fprintf(&buffer, "%d,%d\r\n", int(math.Round(action.At)), pos)
}
return buffer.Bytes(), nil
}
diff --git a/internal/manager/import.go b/internal/manager/import.go
index f9fb57c8f..5168ad99c 100644
--- a/internal/manager/import.go
+++ b/internal/manager/import.go
@@ -76,9 +76,10 @@ func performImport(ctx context.Context, i importer, duplicateBehaviour ImportDup
var id int
if existing != nil {
- if duplicateBehaviour == ImportDuplicateEnumFail {
+ switch duplicateBehaviour {
+ case ImportDuplicateEnumFail:
return fmt.Errorf("existing object with name '%s'", name)
- } else if duplicateBehaviour == ImportDuplicateEnumIgnore {
+ case ImportDuplicateEnumIgnore:
logger.Infof("Skipping existing object %q", name)
return nil
}
diff --git a/internal/manager/task/clean_generated.go b/internal/manager/task/clean_generated.go
index a59bda6d1..378268a17 100644
--- a/internal/manager/task/clean_generated.go
+++ b/internal/manager/task/clean_generated.go
@@ -313,9 +313,36 @@ func (j *CleanGeneratedJob) cleanBlobFiles(ctx context.Context, progress *job.Pr
return err
}
+ // remove empty hash prefix subdirectories
+ j.removeEmptyDirs(j.Paths.Blobs)
+
return nil
}
+func (j *CleanGeneratedJob) removeEmptyDirs(root string) {
+ entries, err := os.ReadDir(root)
+ if err != nil {
+ return
+ }
+
+ for _, entry := range entries {
+ if !entry.IsDir() {
+ continue
+ }
+
+ dirPath := filepath.Join(root, entry.Name())
+ subEntries, err := os.ReadDir(dirPath)
+ if err != nil {
+ continue
+ }
+
+ if len(subEntries) == 0 {
+ j.logDelete("removing empty directory: %s", entry.Name())
+ j.deleteDir(dirPath)
+ }
+ }
+}
+
func (j *CleanGeneratedJob) getScenesWithHash(ctx context.Context, hash string) ([]*models.Scene, error) {
fp := models.Fingerprint{
Fingerprint: hash,
@@ -637,6 +664,8 @@ func (j *CleanGeneratedJob) cleanMarkerFiles(ctx context.Context, progress *job.
return err
}
+ j.removeEmptyDirs(j.Paths.Generated.Markers)
+
return nil
}
@@ -730,5 +759,7 @@ func (j *CleanGeneratedJob) cleanThumbnailFiles(ctx context.Context, progress *j
return err
}
+ j.removeEmptyDirs(j.Paths.Generated.Thumbnails)
+
return nil
}
diff --git a/internal/manager/task_generate.go b/internal/manager/task_generate.go
index f2aab2b3c..6f8ac8178 100644
--- a/internal/manager/task_generate.go
+++ b/internal/manager/task_generate.go
@@ -262,7 +262,9 @@ func (j *GenerateJob) Execute(ctx context.Context, progress *job.Progress) error
for f := range queue {
if job.IsCancelled(ctx) {
- break
+ // keep draining the queue so the producer goroutine can finish
+ // and release its read transaction, otherwise the DB stays locked
+ continue
}
wg.Add()
diff --git a/internal/manager/task_optimise.go b/internal/manager/task_optimise.go
index 9f85e961c..7b14acebf 100644
--- a/internal/manager/task_optimise.go
+++ b/internal/manager/task_optimise.go
@@ -35,7 +35,7 @@ func (j *OptimiseDatabaseJob) Execute(ctx context.Context, progress *job.Progres
return nil
}
if err != nil {
- return fmt.Errorf("Error analyzing database: %w", err)
+ return fmt.Errorf("error analyzing database: %w", err)
}
progress.ExecuteTask("Vacuuming database", func() {
diff --git a/internal/manager/task_plugin.go b/internal/manager/task_plugin.go
index 80f38598c..fb8cea0cb 100644
--- a/internal/manager/task_plugin.go
+++ b/internal/manager/task_plugin.go
@@ -20,12 +20,12 @@ func (s *Manager) RunPluginTask(
pluginProgress := make(chan float64)
task, err := s.PluginCache.CreateTask(ctx, pluginID, taskName, args, pluginProgress)
if err != nil {
- return fmt.Errorf("Error creating plugin task: %w", err)
+ return fmt.Errorf("error creating plugin task: %w", err)
}
err = task.Start()
if err != nil {
- return fmt.Errorf("Error running plugin task: %w", err)
+ return fmt.Errorf("error running plugin task: %w", err)
}
done := make(chan bool)
diff --git a/pkg/ffmpeg/codec_hardware.go b/pkg/ffmpeg/codec_hardware.go
index 66480c5bb..a83830c52 100644
--- a/pkg/ffmpeg/codec_hardware.go
+++ b/pkg/ffmpeg/codec_hardware.go
@@ -45,13 +45,13 @@ func (f *FFMpeg) InitHWSupport(ctx context.Context) {
// log if the initialization takes too long
const hwInitLogTimeoutSecondsDefault = 5
- hwInitLogTimeoutSeconds := hwInitLogTimeoutSecondsDefault * time.Second
- timer := time.NewTimer(hwInitLogTimeoutSeconds)
+ hwInitLogTimeout := hwInitLogTimeoutSecondsDefault * time.Second
+ timer := time.NewTimer(hwInitLogTimeout)
go func() {
select {
case <-timer.C:
- logger.Warnf("[InitHWSupport] Hardware codec initialization is taking longer than %s...", hwInitLogTimeoutSeconds)
+ logger.Warnf("[InitHWSupport] Hardware codec initialization is taking longer than %s...", hwInitLogTimeout)
logger.Info("[InitHWSupport] Hardware encoding will not be available until initialization is complete.")
case <-done:
if !timer.Stop() {
@@ -96,16 +96,16 @@ func (f *FFMpeg) initHWSupport(ctx context.Context) {
// #6064 - add timeout to context to prevent hangs
const hwTestTimeoutSecondsDefault = 10
- hwTestTimeoutSeconds := hwTestTimeoutSecondsDefault * time.Second
+ hwTestTimeout := hwTestTimeoutSecondsDefault * time.Second
// allow timeout to be overridden with environment variable
if timeout := os.Getenv("STASH_HW_TEST_TIMEOUT"); timeout != "" {
if seconds, err := strconv.Atoi(timeout); err == nil {
- hwTestTimeoutSeconds = time.Duration(seconds) * time.Second
+ hwTestTimeout = time.Duration(seconds) * time.Second
}
}
- testCtx, cancel := context.WithTimeout(ctx, hwTestTimeoutSeconds)
+ testCtx, cancel := context.WithTimeout(ctx, hwTestTimeout)
defer cancel()
cmd := f.Command(testCtx, args)
@@ -117,7 +117,7 @@ func (f *FFMpeg) initHWSupport(ctx context.Context) {
if err := cmd.Run(); err != nil {
if testCtx.Err() != nil {
- logger.Debugf("[InitHWSupport] Codec %s test timed out after %s", codec, hwTestTimeoutSeconds)
+ logger.Debugf("[InitHWSupport] Codec %s test timed out after %s", codec, hwTestTimeout)
continue
}
diff --git a/pkg/file/stashignore.go b/pkg/file/stashignore.go
index 681ccf795..a6de050c6 100644
--- a/pkg/file/stashignore.go
+++ b/pkg/file/stashignore.go
@@ -142,6 +142,8 @@ func (f *StashIgnoreFilter) collectIgnoreEntries(dir string, libraryRoot string)
current := dir
for {
// Check if we're still within the library root.
+ // nolint:staticcheck // QF1006 - we could make this the for condition
+ // but I don't think it improves readability
if !isPathInOrEqual(libraryRoot, current) {
break
}
diff --git a/pkg/image/scan.go b/pkg/image/scan.go
index 682641e66..a1844bd38 100644
--- a/pkg/image/scan.go
+++ b/pkg/image/scan.go
@@ -69,19 +69,19 @@ type ScanHandler struct {
func (h *ScanHandler) validate() error {
if h.CreatorUpdater == nil {
- return errors.New("CreatorUpdater is required")
+ return errors.New("internal error: CreatorUpdater is required")
}
if h.ScanGenerator == nil {
- return errors.New("ScanGenerator is required")
+ return errors.New("internal error: ScanGenerator is required")
}
if h.GalleryFinder == nil {
- return errors.New("GalleryFinder is required")
+ return errors.New("internal error: GalleryFinder is required")
}
if h.ScanConfig == nil {
- return errors.New("ScanConfig is required")
+ return errors.New("internal error: ScanConfig is required")
}
if h.Paths == nil {
- return errors.New("Paths is required")
+ return errors.New("internal error: Paths is required")
}
return nil
@@ -375,13 +375,13 @@ func (h *ScanHandler) getOrCreateGallery(ctx context.Context, f models.File) (*m
if _, err := os.Stat(filepath.Join(folderPath, ".forcegallery")); err == nil {
forceGallery = true
} else if !errors.Is(err, os.ErrNotExist) {
- return nil, fmt.Errorf("Could not test Path %s: %w", folderPath, err)
+ return nil, fmt.Errorf("could not test Path %s: %w", folderPath, err)
}
exemptGallery := false
if _, err := os.Stat(filepath.Join(folderPath, ".nogallery")); err == nil {
exemptGallery = true
} else if !errors.Is(err, os.ErrNotExist) {
- return nil, fmt.Errorf("Could not test Path %s: %w", folderPath, err)
+ return nil, fmt.Errorf("could not test Path %s: %w", folderPath, err)
}
if forceGallery || (h.ScanConfig.GetCreateGalleriesFromFolders() && !exemptGallery) {
diff --git a/pkg/job/job.go b/pkg/job/job.go
index 835cf18ca..94d5fe2f5 100644
--- a/pkg/job/job.go
+++ b/pkg/job/job.go
@@ -97,9 +97,10 @@ func (j *Job) TimeElapsed() time.Duration {
}
func (j *Job) cancel() {
- if j.Status == StatusReady {
+ switch j.Status {
+ case StatusReady:
j.Status = StatusCancelled
- } else if j.Status == StatusRunning {
+ case StatusRunning:
j.Status = StatusStopping
}
diff --git a/pkg/scene/generate/preview.go b/pkg/scene/generate/preview.go
index ceefd617c..a0fea4994 100644
--- a/pkg/scene/generate/preview.go
+++ b/pkg/scene/generate/preview.go
@@ -232,7 +232,7 @@ func (g Generator) generateConcatFile(chunkFiles []string) (fn string, err error
for _, f := range chunkFiles {
// files in concat file should be relative to concat
relFile := filepath.Base(f)
- if _, err := w.WriteString(fmt.Sprintf("file '%s'\n", relFile)); err != nil {
+ if _, err := fmt.Fprintf(w, "file '%s'\n", relFile); err != nil {
return concatFile.Name(), fmt.Errorf("writing concat file: %w", err)
}
}
diff --git a/pkg/scene/scan.go b/pkg/scene/scan.go
index c9cc2c567..8d2944a36 100644
--- a/pkg/scene/scan.go
+++ b/pkg/scene/scan.go
@@ -57,19 +57,19 @@ type ScanHandler struct {
func (h *ScanHandler) validate() error {
if h.CreatorUpdater == nil {
- return errors.New("CreatorUpdater is required")
+ return errors.New("internal error: CreatorUpdater is required")
}
if h.ScanGenerator == nil {
- return errors.New("ScanGenerator is required")
+ return errors.New("internal error: ScanGenerator is required")
}
if h.CaptionUpdater == nil {
- return errors.New("CaptionUpdater is required")
+ return errors.New("internal error: CaptionUpdater is required")
}
if !h.FileNamingAlgorithm.IsValid() {
- return errors.New("FileNamingAlgorithm is required")
+ return errors.New("internal error: FileNamingAlgorithm is required")
}
if h.Paths == nil {
- return errors.New("Paths is required")
+ return errors.New("internal error: Paths is required")
}
return nil
diff --git a/pkg/sqlite/criterion_handlers.go b/pkg/sqlite/criterion_handlers.go
index ae245f1b5..c703a85e3 100644
--- a/pkg/sqlite/criterion_handlers.go
+++ b/pkg/sqlite/criterion_handlers.go
@@ -70,11 +70,52 @@ func stringCriterionHandler(c *models.StringCriterionInput, column string) crite
}
}
-func joinedStringCriterionHandler(c *models.StringCriterionInput, column string, addJoinFn func(f *filterBuilder)) criterionHandlerFunc {
+func stringNoTrimCriterionHandler(c *models.StringCriterionInput, column string) criterionHandlerFunc {
+ return func(ctx context.Context, f *filterBuilder) {
+ if c != nil {
+ if modifier := c.Modifier; c.Modifier.IsValid() {
+ switch modifier {
+ case models.CriterionModifierIncludes:
+ f.whereClauses = append(f.whereClauses, getStringSearchClause([]string{column}, c.Value, false))
+ case models.CriterionModifierExcludes:
+ f.whereClauses = append(f.whereClauses, getStringSearchClause([]string{column}, c.Value, true))
+ case models.CriterionModifierEquals:
+ f.addWhere(column+" LIKE ?", c.Value)
+ case models.CriterionModifierNotEquals:
+ f.addWhere(column+" NOT LIKE ?", c.Value)
+ case models.CriterionModifierMatchesRegex:
+ if _, err := regexp.Compile(c.Value); err != nil {
+ f.setError(err)
+ return
+ }
+ f.addWhere(fmt.Sprintf("(%s IS NOT NULL AND %[1]s regexp ?)", column), c.Value)
+ case models.CriterionModifierNotMatchesRegex:
+ if _, err := regexp.Compile(c.Value); err != nil {
+ f.setError(err)
+ return
+ }
+ f.addWhere(fmt.Sprintf("(%s IS NULL OR %[1]s NOT regexp ?)", column), c.Value)
+ case models.CriterionModifierIsNull:
+ f.addWhere("(" + column + " IS NULL)")
+ case models.CriterionModifierNotNull:
+ f.addWhere("(" + column + " IS NOT NULL)")
+ default:
+ panic("unsupported string filter modifier")
+ }
+ }
+ }
+ }
+}
+
+func joinedStringCriterionHandler(c *models.StringCriterionInput, column string, addJoinFn func(f *filterBuilder, joinType joinType)) criterionHandlerFunc {
return func(ctx context.Context, f *filterBuilder) {
if c != nil {
if addJoinFn != nil {
- addJoinFn(f)
+ joinType := joinTypeInner
+ if c.Modifier == models.CriterionModifierIsNull || c.Modifier == models.CriterionModifierNotMatchesRegex {
+ joinType = joinTypeLeft
+ }
+ addJoinFn(f, joinType)
}
stringCriterionHandler(c, column)(ctx, f)
}
@@ -104,16 +145,20 @@ func enumCriterionHandler(modifier models.CriterionModifier, values []string, co
}
}
-func pathCriterionHandler(c *models.StringCriterionInput, pathColumn string, basenameColumn string, addJoinFn func(f *filterBuilder)) criterionHandlerFunc {
+func pathCriterionHandler(c *models.StringCriterionInput, pathColumn string, basenameColumn string, addJoinFn func(f *filterBuilder, joinType joinType)) criterionHandlerFunc {
return func(ctx context.Context, f *filterBuilder) {
if c != nil {
- if addJoinFn != nil {
- addJoinFn(f)
- }
- addWildcards := true
- not := false
-
if modifier := c.Modifier; c.Modifier.IsValid() {
+ if addJoinFn != nil {
+ joinType := joinTypeInner
+ if modifier == models.CriterionModifierIsNull || modifier == models.CriterionModifierNotMatchesRegex {
+ joinType = joinTypeLeft
+ }
+ addJoinFn(f, joinType)
+ }
+ addWildcards := true
+ not := false
+
switch modifier {
case models.CriterionModifierIncludes:
f.whereClauses = append(f.whereClauses, getPathSearchClauseMany(pathColumn, basenameColumn, c.Value, addWildcards, not))
@@ -194,11 +239,15 @@ func getPathSearchClauseMany(pathColumn, basenameColumn, p string, addWildcards,
return getPathSearchClause(pathColumn, basenameColumn, trimmedQuery, addWildcards, not)
}
-func intCriterionHandler(c *models.IntCriterionInput, column string, addJoinFn func(f *filterBuilder)) criterionHandlerFunc {
+func intCriterionHandler(c *models.IntCriterionInput, column string, addJoinFn func(f *filterBuilder, joinType joinType)) criterionHandlerFunc {
return func(ctx context.Context, f *filterBuilder) {
if c != nil {
if addJoinFn != nil {
- addJoinFn(f)
+ joinType := joinTypeInner
+ if c.Modifier == models.CriterionModifierIsNull {
+ joinType = joinTypeLeft
+ }
+ addJoinFn(f, joinType)
}
clause, args := getIntCriterionWhereClause(column, *c)
f.addWhere(clause, args...)
@@ -206,11 +255,15 @@ func intCriterionHandler(c *models.IntCriterionInput, column string, addJoinFn f
}
}
-func floatCriterionHandler(c *models.FloatCriterionInput, column string, addJoinFn func(f *filterBuilder)) criterionHandlerFunc {
+func floatCriterionHandler(c *models.FloatCriterionInput, column string, addJoinFn func(f *filterBuilder, joinType joinType)) criterionHandlerFunc {
return func(ctx context.Context, f *filterBuilder) {
if c != nil {
if addJoinFn != nil {
- addJoinFn(f)
+ joinType := joinTypeInner
+ if c.Modifier == models.CriterionModifierIsNull {
+ joinType = joinTypeLeft
+ }
+ addJoinFn(f, joinType)
}
clause, args := getFloatCriterionWhereClause(column, *c)
f.addWhere(clause, args...)
@@ -218,11 +271,15 @@ func floatCriterionHandler(c *models.FloatCriterionInput, column string, addJoin
}
}
-func floatIntCriterionHandler(durationFilter *models.IntCriterionInput, column string, addJoinFn func(f *filterBuilder)) criterionHandlerFunc {
+func floatIntCriterionHandler(durationFilter *models.IntCriterionInput, column string, addJoinFn func(f *filterBuilder, joinType joinType)) criterionHandlerFunc {
return func(ctx context.Context, f *filterBuilder) {
if durationFilter != nil {
if addJoinFn != nil {
- addJoinFn(f)
+ joinType := joinTypeInner
+ if durationFilter.Modifier == models.CriterionModifierIsNull {
+ joinType = joinTypeLeft
+ }
+ addJoinFn(f, joinType)
}
clause, args := getIntCriterionWhereClause("cast("+column+" as int)", *durationFilter)
f.addWhere(clause, args...)
@@ -230,11 +287,11 @@ func floatIntCriterionHandler(durationFilter *models.IntCriterionInput, column s
}
}
-func boolCriterionHandler(c *bool, column string, addJoinFn func(f *filterBuilder)) criterionHandlerFunc {
+func boolCriterionHandler(c *bool, column string, addJoinFn func(f *filterBuilder, joinType joinType)) criterionHandlerFunc {
return func(ctx context.Context, f *filterBuilder) {
if c != nil {
if addJoinFn != nil {
- addJoinFn(f)
+ addJoinFn(f, joinTypeInner)
}
var v string
if *c {
@@ -289,11 +346,11 @@ func yearFilterCriterionHandler(year *models.IntCriterionInput, col string) crit
}
}
-func resolutionCriterionHandler(resolution *models.ResolutionCriterionInput, heightColumn string, widthColumn string, addJoinFn func(f *filterBuilder)) criterionHandlerFunc {
+func resolutionCriterionHandler(resolution *models.ResolutionCriterionInput, heightColumn string, widthColumn string, addJoinFn func(f *filterBuilder, joinType joinType)) criterionHandlerFunc {
return func(ctx context.Context, f *filterBuilder) {
if resolution != nil && resolution.Value.IsValid() {
if addJoinFn != nil {
- addJoinFn(f)
+ addJoinFn(f, joinTypeInner)
}
mn := resolution.Value.GetMinResolution()
@@ -315,11 +372,11 @@ func resolutionCriterionHandler(resolution *models.ResolutionCriterionInput, hei
}
}
-func orientationCriterionHandler(orientation *models.OrientationCriterionInput, heightColumn string, widthColumn string, addJoinFn func(f *filterBuilder)) criterionHandlerFunc {
+func orientationCriterionHandler(orientation *models.OrientationCriterionInput, heightColumn string, widthColumn string, addJoinFn func(f *filterBuilder, joinType joinType)) criterionHandlerFunc {
return func(ctx context.Context, f *filterBuilder) {
if orientation != nil {
if addJoinFn != nil {
- addJoinFn(f)
+ addJoinFn(f, joinTypeInner)
}
var clauses []sqlClause
@@ -362,7 +419,7 @@ type joinedMultiCriterionHandlerBuilder struct {
// foreign key of the foreign object on the join table
foreignFK string
- addJoinTable func(f *filterBuilder)
+ addJoinTable func(f *filterBuilder, joinType joinType)
}
func (m *joinedMultiCriterionHandlerBuilder) handler(c *models.MultiCriterionInput) criterionHandlerFunc {
@@ -378,11 +435,13 @@ func (m *joinedMultiCriterionHandlerBuilder) handler(c *models.MultiCriterionInp
if criterion.Modifier == models.CriterionModifierIsNull || criterion.Modifier == models.CriterionModifierNotNull {
var notClause string
+ joinType := joinTypeLeft
if criterion.Modifier == models.CriterionModifierNotNull {
notClause = "NOT"
+ joinType = joinTypeInner
}
- m.addJoinTable(f)
+ m.addJoinTable(f, joinType)
f.addWhere(utils.StrFormat("{table}.{column} IS {not} NULL", utils.StrFormatMap{
"table": joinAlias,
@@ -415,11 +474,11 @@ func (m *joinedMultiCriterionHandlerBuilder) handler(c *models.MultiCriterionInp
switch criterion.Modifier {
case models.CriterionModifierIncludes:
// includes any of the provided ids
- m.addJoinTable(f)
+ m.addJoinTable(f, joinTypeInner)
whereClause = fmt.Sprintf("%s.%s IN %s", joinAlias, m.foreignFK, getInBinding(len(criterion.Value)))
case models.CriterionModifierEquals:
// includes only the provided ids
- m.addJoinTable(f)
+ m.addJoinTable(f, joinTypeInner)
whereClause = utils.StrFormat("{joinAlias}.{foreignFK} IN {inBinding} AND (SELECT COUNT(*) FROM {joinTable} s WHERE s.{primaryFK} = {primaryTable}.id) = ?", utils.StrFormatMap{
"joinAlias": joinAlias,
"foreignFK": m.foreignFK,
@@ -434,7 +493,7 @@ func (m *joinedMultiCriterionHandlerBuilder) handler(c *models.MultiCriterionInp
f.setError(fmt.Errorf("not equals modifier is not supported for multi criterion input"))
case models.CriterionModifierIncludesAll:
// includes all of the provided ids
- m.addJoinTable(f)
+ m.addJoinTable(f, joinTypeInner)
whereClause = fmt.Sprintf("%s.%s IN %s", joinAlias, m.foreignFK, getInBinding(len(criterion.Value)))
havingClause = fmt.Sprintf("count(distinct %s.%s) IS %d", joinAlias, m.foreignFK, len(criterion.Value))
}
@@ -468,7 +527,7 @@ type multiCriterionHandlerBuilder struct {
foreignFK string
// function that will be called to perform any necessary joins
- addJoinsFunc func(f *filterBuilder)
+ addJoinsFunc func(f *filterBuilder, joinType joinType)
}
func (m *multiCriterionHandlerBuilder) handler(criterion *models.MultiCriterionInput) criterionHandlerFunc {
@@ -500,7 +559,7 @@ func (m *multiCriterionHandlerBuilder) handler(criterion *models.MultiCriterionI
}
if m.addJoinsFunc != nil {
- m.addJoinsFunc(f)
+ m.addJoinsFunc(f, joinTypeInner)
}
whereClause, havingClause := getMultiCriterionClause(m.primaryTable, m.foreignTable, m.joinTable, m.primaryFK, m.foreignFK, criterion)
@@ -536,7 +595,7 @@ type stringListCriterionHandlerBuilder struct {
// string field on the join table
stringColumn string
- addJoinTable func(f *filterBuilder)
+ addJoinTable func(f *filterBuilder, joinType joinType)
excludeHandler func(f *filterBuilder, criterion *models.StringCriterionInput)
}
@@ -570,7 +629,11 @@ func (m *stringListCriterionHandlerBuilder) handler(criterion *models.StringCrit
// Modifier: models.CriterionModifierNotNull,
// }, m.joinTable+"."+m.stringColumn)(ctx, f)
} else {
- m.addJoinTable(f)
+ joinType := joinTypeInner
+ if criterion.Modifier == models.CriterionModifierIsNull || criterion.Modifier == models.CriterionModifierNotMatchesRegex {
+ joinType = joinTypeLeft
+ }
+ m.addJoinTable(f, joinType)
stringCriterionHandler(criterion, m.joinTable+"."+m.stringColumn)(ctx, f)
}
}
@@ -1028,14 +1091,18 @@ func (h *stashIDCriterionHandler) handle(ctx context.Context, f *filterBuilder)
joinClause += fmt.Sprintf(" AND %s.endpoint = '%s'", t, *h.c.Endpoint)
}
- f.addLeftJoin(stashIDRepo.tableName, h.stashIDTableAs, joinClause)
+ joinType := joinTypeInner
+ if h.c.Modifier == models.CriterionModifierIsNull || h.c.Modifier == models.CriterionModifierNotMatchesRegex {
+ joinType = joinTypeLeft
+ }
+ f.addJoin(joinType, stashIDRepo.tableName, h.stashIDTableAs, joinClause)
v := ""
if h.c.StashID != nil {
v = *h.c.StashID
}
- stringCriterionHandler(&models.StringCriterionInput{
+ stringNoTrimCriterionHandler(&models.StringCriterionInput{
Value: v,
Modifier: h.c.Modifier,
}, t+".stash_id")(ctx, f)
@@ -1064,7 +1131,12 @@ func (h *stashIDsCriterionHandler) handle(ctx context.Context, f *filterBuilder)
joinClause += fmt.Sprintf(" AND %s.endpoint = '%s'", t, *h.c.Endpoint)
}
- f.addLeftJoin(stashIDRepo.tableName, h.stashIDTableAs, joinClause)
+ joinType := joinTypeInner
+ if h.c.Modifier == models.CriterionModifierIsNull {
+ joinType = joinTypeLeft
+ }
+
+ f.addJoin(joinType, stashIDRepo.tableName, h.stashIDTableAs, joinClause)
switch h.c.Modifier {
case models.CriterionModifierIsNull:
diff --git a/pkg/sqlite/file_filter.go b/pkg/sqlite/file_filter.go
index 29946a8ce..b8e9253a0 100644
--- a/pkg/sqlite/file_filter.go
+++ b/pkg/sqlite/file_filter.go
@@ -300,15 +300,19 @@ func (qb *videoFileFilterHandler) criterionHandler() criterionHandler {
}
}
-func (qb *videoFileFilterHandler) addVideoFilesTable(f *filterBuilder) {
- f.addLeftJoin(videoFileTable, "", "video_files.file_id = files.id")
+func (qb *videoFileFilterHandler) addVideoFilesTable(f *filterBuilder, joinType joinType) {
+ f.addJoin(joinType, videoFileTable, "", "video_files.file_id = files.id")
}
-func (qb *videoFileFilterHandler) codecCriterionHandler(codec *models.StringCriterionInput, codecColumn string, addJoinFn func(f *filterBuilder)) criterionHandlerFunc {
+func (qb *videoFileFilterHandler) codecCriterionHandler(codec *models.StringCriterionInput, codecColumn string, addJoinFn func(f *filterBuilder, joinType joinType)) criterionHandlerFunc {
return func(ctx context.Context, f *filterBuilder) {
if codec != nil {
if addJoinFn != nil {
- addJoinFn(f)
+ joinType := joinTypeInner
+ if codec.Modifier == models.CriterionModifierIsNull || codec.Modifier == models.CriterionModifierNotMatchesRegex {
+ joinType = joinTypeLeft
+ }
+ addJoinFn(f, joinType)
}
stringCriterionHandler(codec, codecColumn)(ctx, f)
@@ -322,8 +326,8 @@ func (qb *videoFileFilterHandler) captionCriterionHandler(captions *models.Strin
primaryFK: sceneIDColumn,
joinTable: videoCaptionsTable,
stringColumn: captionCodeColumn,
- addJoinTable: func(f *filterBuilder) {
- f.addLeftJoin(videoCaptionsTable, "", "video_captions.file_id = files.id")
+ addJoinTable: func(f *filterBuilder, joinType joinType) {
+ f.addJoin(joinType, videoCaptionsTable, "", "video_captions.file_id = files.id")
},
excludeHandler: func(f *filterBuilder, criterion *models.StringCriterionInput) {
excludeClause := `files.id NOT IN (
@@ -361,6 +365,6 @@ func (qb *imageFileFilterHandler) criterionHandler() criterionHandler {
}
}
-func (qb *imageFileFilterHandler) addImageFilesTable(f *filterBuilder) {
- f.addLeftJoin(imageFileTable, "", "image_files.file_id = files.id")
+func (qb *imageFileFilterHandler) addImageFilesTable(f *filterBuilder, joinType joinType) {
+ f.addJoin(joinType, imageFileTable, "", "image_files.file_id = files.id")
}
diff --git a/pkg/sqlite/filter.go b/pkg/sqlite/filter.go
index fa6759ae6..c5e78c1d3 100644
--- a/pkg/sqlite/filter.go
+++ b/pkg/sqlite/filter.go
@@ -90,11 +90,18 @@ func andClauses(clauses ...sqlClause) sqlClause {
return joinClauses("AND", clauses...)
}
+type joinType string
+
+const (
+ joinTypeLeft joinType = "LEFT"
+ joinTypeInner joinType = "INNER"
+)
+
type join struct {
table string
as string
onClause string
- joinType string
+ joinType joinType
args []interface{}
// if true, indicates this is required for sorting only
@@ -115,15 +122,19 @@ func (j join) alias() string {
return j.as
}
+func (j join) getJoinType() joinType {
+ if j.joinType == "" {
+ return joinTypeLeft
+ }
+ return j.joinType
+}
+
func (j join) toSQL() string {
asStr := ""
- joinStr := j.joinType
+ joinStr := j.getJoinType()
if j.as != "" && j.as != j.table {
asStr = " AS " + j.as
}
- if j.joinType == "" {
- joinStr = "LEFT"
- }
return fmt.Sprintf("%s JOIN %s%s ON %s", joinStr, j.table, asStr, j.onClause)
}
@@ -141,6 +152,12 @@ func (j *joins) addUnique(newJoin join) bool {
if !newJoin.sort && jj.sort {
(*j)[i].sort = false
}
+
+ // if the new join is inner, override existing left join
+ if newJoin.getJoinType() == joinTypeInner && jj.getJoinType() == joinTypeLeft {
+ (*j)[i].joinType = joinTypeInner
+ }
+
break
}
}
@@ -243,6 +260,23 @@ func (f *filterBuilder) not(n *filterBuilder) {
f.subFilterOp = notOp
}
+// addJoin adds a join to the filter. The join is expressed in SQL as:
+// JOIN [AS ] ON
+// The AS is omitted if as is empty.
+// This method does not add a join if it its alias/table name is already
+// present in another existing join.
+func (f *filterBuilder) addJoin(joinType joinType, table, as, onClause string, args ...interface{}) {
+ newJoin := join{
+ table: table,
+ as: as,
+ onClause: onClause,
+ joinType: joinType,
+ args: args,
+ }
+
+ f.joins.add(newJoin)
+}
+
// addLeftJoin adds a left join to the filter. The join is expressed in SQL as:
// LEFT JOIN [AS ] ON
// The AS is omitted if as is empty.
@@ -253,7 +287,7 @@ func (f *filterBuilder) addLeftJoin(table, as, onClause string, args ...interfac
table: table,
as: as,
onClause: onClause,
- joinType: "LEFT",
+ joinType: joinTypeLeft,
args: args,
}
@@ -270,7 +304,7 @@ func (f *filterBuilder) addInnerJoin(table, as, onClause string, args ...interfa
table: table,
as: as,
onClause: onClause,
- joinType: "INNER",
+ joinType: joinTypeInner,
args: args,
}
diff --git a/pkg/sqlite/gallery_filter.go b/pkg/sqlite/gallery_filter.go
index 0435f3f57..c70af1308 100644
--- a/pkg/sqlite/gallery_filter.go
+++ b/pkg/sqlite/gallery_filter.go
@@ -193,15 +193,15 @@ func (qb *galleryFilterHandler) urlsCriterionHandler(url *models.StringCriterion
primaryFK: galleryIDColumn,
joinTable: galleriesURLsTable,
stringColumn: galleriesURLColumn,
- addJoinTable: func(f *filterBuilder) {
- galleriesURLsTableMgr.join(f, "", "galleries.id")
+ addJoinTable: func(f *filterBuilder, joinType joinType) {
+ galleriesURLsTableMgr.join(f, joinType, "", "galleries.id")
},
}
return h.handler(url)
}
-func (qb *galleryFilterHandler) getMultiCriterionHandlerBuilder(foreignTable, joinTable, foreignFK string, addJoinsFunc func(f *filterBuilder)) multiCriterionHandlerBuilder {
+func (qb *galleryFilterHandler) getMultiCriterionHandlerBuilder(foreignTable, joinTable, foreignFK string, addJoinsFunc func(f *filterBuilder, joinType joinType)) multiCriterionHandlerBuilder {
return multiCriterionHandlerBuilder{
primaryTable: galleryTable,
foreignTable: foreignTable,
@@ -353,7 +353,7 @@ func (qb *galleryFilterHandler) missingCriterionHandler(isMissing *string) crite
if isMissing != nil && *isMissing != "" {
switch *isMissing {
case "url":
- galleriesURLsTableMgr.join(f, "", "galleries.id")
+ galleriesURLsTableMgr.leftJoin(f, "", "galleries.id")
f.addWhere("gallery_urls.url IS NULL")
case "scenes":
f.addLeftJoin("scenes_galleries", "scenes_join", "scenes_join.gallery_id = galleries.id")
@@ -361,12 +361,12 @@ func (qb *galleryFilterHandler) missingCriterionHandler(isMissing *string) crite
case "studio":
f.addWhere("galleries.studio_id IS NULL")
case "performers":
- galleryRepository.performers.join(f, "performers_join", "galleries.id")
+ galleryRepository.performers.leftJoin(f, "performers_join", "galleries.id")
f.addWhere("performers_join.gallery_id IS NULL")
case "date":
f.addWhere("galleries.date IS NULL OR galleries.date IS \"\"")
case "tags":
- galleryRepository.tags.join(f, "tags_join", "galleries.id")
+ galleryRepository.tags.leftJoin(f, "tags_join", "galleries.id")
f.addWhere("tags_join.gallery_id IS NULL")
case "cover":
f.addLeftJoin("galleries_images", "cover_join", "cover_join.gallery_id = galleries.id AND cover_join.cover = 1")
@@ -410,9 +410,9 @@ func (qb *galleryFilterHandler) tagCountCriterionHandler(tagCount *models.IntCri
}
func (qb *galleryFilterHandler) scenesCriterionHandler(scenes *models.MultiCriterionInput) criterionHandlerFunc {
- addJoinsFunc := func(f *filterBuilder) {
- galleryRepository.scenes.join(f, "", "galleries.id")
- f.addLeftJoin("scenes", "", "scenes_galleries.scene_id = scenes.id")
+ addJoinsFunc := func(f *filterBuilder, joinType joinType) {
+ galleryRepository.scenes.join(f, joinType, "", "galleries.id")
+ f.addJoin(joinType, "scenes", "", "scenes_galleries.scene_id = scenes.id")
}
h := qb.getMultiCriterionHandlerBuilder(sceneTable, galleriesScenesTable, "scene_id", addJoinsFunc)
return h.handler(scenes)
@@ -426,8 +426,8 @@ func (qb *galleryFilterHandler) performersCriterionHandler(performers *models.Mu
primaryFK: galleryIDColumn,
foreignFK: performerIDColumn,
- addJoinTable: func(f *filterBuilder) {
- galleryRepository.performers.join(f, "performers_join", "galleries.id")
+ addJoinTable: func(f *filterBuilder, joinType joinType) {
+ galleryRepository.performers.join(f, joinType, "performers_join", "galleries.id")
},
}
@@ -515,7 +515,7 @@ func (qb *galleryFilterHandler) performerAgeCriterionHandler(performerAge *model
func (qb *galleryFilterHandler) averageResolutionCriterionHandler(resolution *models.ResolutionCriterionInput) criterionHandlerFunc {
return func(ctx context.Context, f *filterBuilder) {
if resolution != nil && resolution.Value.IsValid() {
- galleryRepository.images.join(f, "images_join", "galleries.id")
+ galleryRepository.images.leftJoin(f, "images_join", "galleries.id")
f.addLeftJoin("images", "", "images_join.image_id = images.id")
f.addLeftJoin("images_files", "", "images.id = images_files.image_id")
f.addLeftJoin("image_files", "", "images_files.file_id = image_files.file_id")
diff --git a/pkg/sqlite/group_filter.go b/pkg/sqlite/group_filter.go
index 14f3841f4..63d056679 100644
--- a/pkg/sqlite/group_filter.go
+++ b/pkg/sqlite/group_filter.go
@@ -120,7 +120,7 @@ func (qb *groupFilterHandler) missingCriterionHandler(isMissing *string) criteri
f.addLeftJoin("groups_scenes", "", "groups_scenes.group_id = groups.id")
f.addWhere("groups_scenes.scene_id IS NULL")
case "url":
- groupsURLsTableMgr.join(f, "", "groups.id")
+ groupsURLsTableMgr.leftJoin(f, "", "groups.id")
f.addWhere("group_urls.url IS NULL")
case "studio":
f.addWhere("groups.studio_id IS NULL")
@@ -129,7 +129,7 @@ func (qb *groupFilterHandler) missingCriterionHandler(isMissing *string) criteri
f.addLeftJoin("performers_scenes", "ps_perf", "gs_perf.scene_id = ps_perf.scene_id")
f.addWhere("ps_perf.performer_id IS NULL")
case "tags":
- groupRepository.tags.join(f, "tags_join", "groups.id")
+ groupRepository.tags.leftJoin(f, "tags_join", "groups.id")
f.addWhere("tags_join.group_id IS NULL")
default:
if err := validateIsMissing(*isMissing, []string{
@@ -150,8 +150,8 @@ func (qb *groupFilterHandler) urlsCriterionHandler(url *models.StringCriterionIn
primaryFK: groupIDColumn,
joinTable: groupURLsTable,
stringColumn: groupURLColumn,
- addJoinTable: func(f *filterBuilder) {
- groupsURLsTableMgr.join(f, "", "groups.id")
+ addJoinTable: func(f *filterBuilder, joinType joinType) {
+ groupsURLsTableMgr.join(f, joinType, "", "groups.id")
},
}
diff --git a/pkg/sqlite/image.go b/pkg/sqlite/image.go
index e0ac576d8..4d9ebad1b 100644
--- a/pkg/sqlite/image.go
+++ b/pkg/sqlite/image.go
@@ -123,23 +123,23 @@ type imageRepositoryType struct {
files filesRepository
}
-func (r *imageRepositoryType) addImagesFilesTable(f *filterBuilder) {
- f.addLeftJoin(imagesFilesTable, "", "images_files.image_id = images.id")
+func (r *imageRepositoryType) addImagesFilesTable(f *filterBuilder, joinType joinType) {
+ f.addJoin(joinType, imagesFilesTable, "", "images_files.image_id = images.id")
}
-func (r *imageRepositoryType) addFilesTable(f *filterBuilder) {
- r.addImagesFilesTable(f)
- f.addLeftJoin(fileTable, "", "images_files.file_id = files.id")
+func (r *imageRepositoryType) addFilesTable(f *filterBuilder, joinType joinType) {
+ r.addImagesFilesTable(f, joinType)
+ f.addJoin(joinType, fileTable, "", "images_files.file_id = files.id")
}
-func (r *imageRepositoryType) addFoldersTable(f *filterBuilder) {
- r.addFilesTable(f)
- f.addLeftJoin(folderTable, "", "files.parent_folder_id = folders.id")
+func (r *imageRepositoryType) addFoldersTable(f *filterBuilder, joinType joinType) {
+ r.addFilesTable(f, joinType)
+ f.addJoin(joinType, folderTable, "", "files.parent_folder_id = folders.id")
}
-func (r *imageRepositoryType) addImageFilesTable(f *filterBuilder) {
- r.addImagesFilesTable(f)
- f.addLeftJoin(imageFileTable, "", "image_files.file_id = images_files.file_id")
+func (r *imageRepositoryType) addImageFilesTable(f *filterBuilder, joinType joinType) {
+ r.addImagesFilesTable(f, joinType)
+ f.addJoin(joinType, imageFileTable, "", "image_files.file_id = images_files.file_id")
}
var (
diff --git a/pkg/sqlite/image_filter.go b/pkg/sqlite/image_filter.go
index 4d1d2c4b3..a7351e52e 100644
--- a/pkg/sqlite/image_filter.go
+++ b/pkg/sqlite/image_filter.go
@@ -56,8 +56,12 @@ func (qb *imageFilterHandler) criterionHandler() criterionHandler {
intCriterionHandler(imageFilter.ID, "images.id", nil),
criterionHandlerFunc(func(ctx context.Context, f *filterBuilder) {
if imageFilter.Checksum != nil {
- imageRepository.addImagesFilesTable(f)
- f.addInnerJoin(fingerprintTable, "fingerprints_md5", "images_files.file_id = fingerprints_md5.file_id AND fingerprints_md5.type = 'md5'")
+ joinType := joinTypeInner
+ if imageFilter.Checksum.Modifier == models.CriterionModifierIsNull || imageFilter.Checksum.Modifier == models.CriterionModifierNotMatchesRegex {
+ joinType = joinTypeLeft
+ }
+ imageRepository.addImagesFilesTable(f, joinType)
+ f.addJoin(joinType, fingerprintTable, "fingerprints_md5", "images_files.file_id = fingerprints_md5.file_id AND fingerprints_md5.type = 'md5'")
}
stringCriterionHandler(imageFilter.Checksum, "fingerprints_md5.fingerprint")(ctx, f)
@@ -65,8 +69,8 @@ func (qb *imageFilterHandler) criterionHandler() criterionHandler {
&phashDistanceCriterionHandler{
joinFn: func(f *filterBuilder) {
- imageRepository.addImagesFilesTable(f)
- f.addLeftJoin(fingerprintTable, "fingerprints_phash", "images_files.file_id = fingerprints_phash.file_id AND fingerprints_phash.type = 'phash'")
+ imageRepository.addImagesFilesTable(f, joinTypeInner)
+ f.addInnerJoin(fingerprintTable, "fingerprints_phash", "images_files.file_id = fingerprints_phash.file_id AND fingerprints_phash.type = 'phash'")
},
criterion: imageFilter.PhashDistance,
},
@@ -148,8 +152,8 @@ func (qb *imageFilterHandler) criterionHandler() criterionHandler {
isRelated: true,
},
joinFn: func(f *filterBuilder) {
- imageRepository.addFilesTable(f)
- imageRepository.addFoldersTable(f)
+ imageRepository.addFilesTable(f, joinTypeInner)
+ imageRepository.addFoldersTable(f, joinTypeInner)
},
// don't use a subquery; join directly
directJoin: true,
@@ -172,18 +176,18 @@ func (qb *imageFilterHandler) missingCriterionHandler(isMissing *string) criteri
if isMissing != nil && *isMissing != "" {
switch *isMissing {
case "url":
- imagesURLsTableMgr.join(f, "", "images.id")
+ imagesURLsTableMgr.leftJoin(f, "", "images.id")
f.addWhere("image_urls.url IS NULL")
case "studio":
f.addWhere("images.studio_id IS NULL")
case "performers":
- imageRepository.performers.join(f, "performers_join", "images.id")
+ imageRepository.performers.leftJoin(f, "performers_join", "images.id")
f.addWhere("performers_join.image_id IS NULL")
case "galleries":
- imageRepository.galleries.join(f, "galleries_join", "images.id")
+ imageRepository.galleries.leftJoin(f, "galleries_join", "images.id")
f.addWhere("galleries_join.image_id IS NULL")
case "tags":
- imageRepository.tags.join(f, "tags_join", "images.id")
+ imageRepository.tags.leftJoin(f, "tags_join", "images.id")
f.addWhere("tags_join.image_id IS NULL")
default:
if err := validateIsMissing(*isMissing, []string{
@@ -204,15 +208,15 @@ func (qb *imageFilterHandler) urlsCriterionHandler(url *models.StringCriterionIn
primaryFK: imageIDColumn,
joinTable: imagesURLsTable,
stringColumn: imageURLColumn,
- addJoinTable: func(f *filterBuilder) {
- imagesURLsTableMgr.join(f, "", "images.id")
+ addJoinTable: func(f *filterBuilder, joinType joinType) {
+ imagesURLsTableMgr.join(f, joinType, "", "images.id")
},
}
return h.handler(url)
}
-func (qb *imageFilterHandler) getMultiCriterionHandlerBuilder(foreignTable, joinTable, foreignFK string, addJoinsFunc func(f *filterBuilder)) multiCriterionHandlerBuilder {
+func (qb *imageFilterHandler) getMultiCriterionHandlerBuilder(foreignTable, joinTable, foreignFK string, addJoinsFunc func(f *filterBuilder, joinType joinType)) multiCriterionHandlerBuilder {
return multiCriterionHandlerBuilder{
primaryTable: imageTable,
foreignTable: foreignTable,
@@ -249,7 +253,7 @@ func (qb *imageFilterHandler) tagCountCriterionHandler(tagCount *models.IntCrite
}
func (qb *imageFilterHandler) galleriesCriterionHandler(galleries *models.MultiCriterionInput) criterionHandlerFunc {
- addJoinsFunc := func(f *filterBuilder) {
+ addJoinsFunc := func(f *filterBuilder, joinType joinType) {
if galleries.Modifier == models.CriterionModifierIncludes || galleries.Modifier == models.CriterionModifierIncludesAll {
f.addInnerJoin(galleriesImagesTable, "", "galleries_images.image_id = images.id")
f.addInnerJoin(galleryTable, "", "galleries_images.gallery_id = galleries.id")
@@ -268,8 +272,8 @@ func (qb *imageFilterHandler) performersCriterionHandler(performers *models.Mult
primaryFK: imageIDColumn,
foreignFK: performerIDColumn,
- addJoinTable: func(f *filterBuilder) {
- imageRepository.performers.join(f, "performers_join", "images.id")
+ addJoinTable: func(f *filterBuilder, joinType joinType) {
+ imageRepository.performers.join(f, joinType, "performers_join", "images.id")
},
}
diff --git a/pkg/sqlite/performer_filter.go b/pkg/sqlite/performer_filter.go
index 4336e998c..1e54bbf96 100644
--- a/pkg/sqlite/performer_filter.go
+++ b/pkg/sqlite/performer_filter.go
@@ -188,7 +188,7 @@ func (qb *performerFilterHandler) criterionHandler() criterionHandler {
intCriterionHandler(filter.Weight, tableName+".weight", nil),
criterionHandlerFunc(func(ctx context.Context, f *filterBuilder) {
if filter.StashID != nil {
- performerRepository.stashIDs.join(f, "performer_stash_ids", "performers.id")
+ performerRepository.stashIDs.leftJoin(f, "performer_stash_ids", "performers.id")
stringCriterionHandler(filter.StashID, "performer_stash_ids.stash_id")(ctx, f)
}
}),
@@ -333,7 +333,7 @@ func (qb *performerFilterHandler) performerIsMissingCriterionHandler(isMissing *
if isMissing != nil && *isMissing != "" {
switch *isMissing {
case "url":
- performersURLsTableMgr.join(f, "", "performers.id")
+ performersURLsTableMgr.leftJoin(f, "", "performers.id")
f.addWhere("performer_urls.url IS NULL")
case "scenes": // Deprecated: use `scene_count == 0` filter instead
f.addLeftJoin(performersScenesTable, "scenes_join", "scenes_join.performer_id = performers.id")
@@ -341,10 +341,10 @@ func (qb *performerFilterHandler) performerIsMissingCriterionHandler(isMissing *
case "image":
f.addWhere("performers.image_blob IS NULL")
case "stash_id":
- performersStashIDsTableMgr.join(f, "performer_stash_ids", "performers.id")
+ performersStashIDsTableMgr.leftJoin(f, "performer_stash_ids", "performers.id")
f.addWhere("performer_stash_ids.performer_id IS NULL")
case "aliases":
- performersAliasesTableMgr.join(f, "", "performers.id")
+ performersAliasesTableMgr.leftJoin(f, "", "performers.id")
f.addWhere("performer_aliases.alias IS NULL")
case "tags":
f.addLeftJoin(performersTagsTable, "tags_join", "tags_join.performer_id = performers.id")
@@ -383,8 +383,8 @@ func (qb *performerFilterHandler) urlsCriterionHandler(url *models.StringCriteri
primaryFK: performerIDColumn,
joinTable: performerURLsTable,
stringColumn: performerURLColumn,
- addJoinTable: func(f *filterBuilder) {
- performersURLsTableMgr.join(f, "", "performers.id")
+ addJoinTable: func(f *filterBuilder, joinType joinType) {
+ performersURLsTableMgr.join(f, joinType, "", "performers.id")
},
}
@@ -397,8 +397,8 @@ func (qb *performerFilterHandler) aliasCriterionHandler(alias *models.StringCrit
primaryFK: performerIDColumn,
joinTable: performersAliasesTable,
stringColumn: performerAliasColumn,
- addJoinTable: func(f *filterBuilder) {
- performersAliasesTableMgr.join(f, "", "performers.id")
+ addJoinTable: func(f *filterBuilder, joinType joinType) {
+ performersAliasesTableMgr.join(f, joinType, "", "performers.id")
},
}
diff --git a/pkg/sqlite/record.go b/pkg/sqlite/record.go
index 71622dc60..509c384e5 100644
--- a/pkg/sqlite/record.go
+++ b/pkg/sqlite/record.go
@@ -93,7 +93,7 @@ func (r *updateRecord) setTimestamp(destField string, v models.OptionalTime) {
}
}
-//nolint:golint,unused
+//nolint:unused
func (r *updateRecord) setNullTimestamp(destField string, v models.OptionalTime) {
if v.Set {
r.set(destField, NullTimestampFromTimePtr(v.Ptr()))
diff --git a/pkg/sqlite/repository.go b/pkg/sqlite/repository.go
index 18d501e3a..1b0c03113 100644
--- a/pkg/sqlite/repository.go
+++ b/pkg/sqlite/repository.go
@@ -204,7 +204,15 @@ func (r *repository) newQuery() queryBuilder {
}
}
-func (r *repository) join(j joiner, as string, parentIDCol string) {
+func (r *repository) join(j joiner, t joinType, as string, parentIDCol string) {
+ fn := r.innerJoin
+ if t == joinTypeLeft {
+ fn = r.leftJoin
+ }
+ fn(j, as, parentIDCol)
+}
+
+func (r *repository) leftJoin(j joiner, as string, parentIDCol string) {
t := r.tableName
if as != "" {
t = as
diff --git a/pkg/sqlite/scene_filter.go b/pkg/sqlite/scene_filter.go
index 712c3d83d..255a8e0b3 100644
--- a/pkg/sqlite/scene_filter.go
+++ b/pkg/sqlite/scene_filter.go
@@ -63,8 +63,12 @@ func (qb *sceneFilterHandler) criterionHandler() criterionHandler {
stringCriterionHandler(sceneFilter.Director, "scenes.director"),
criterionHandlerFunc(func(ctx context.Context, f *filterBuilder) {
if sceneFilter.Oshash != nil {
- qb.addSceneFilesTable(f)
- f.addLeftJoin(fingerprintTable, "fingerprints_oshash", "scenes_files.file_id = fingerprints_oshash.file_id AND fingerprints_oshash.type = 'oshash'")
+ joinType := joinTypeInner
+ if sceneFilter.Oshash.Modifier == models.CriterionModifierIsNull {
+ joinType = joinTypeLeft
+ }
+ qb.addSceneFilesTable(f, joinType)
+ f.addJoin(joinType, fingerprintTable, "fingerprints_oshash", "scenes_files.file_id = fingerprints_oshash.file_id AND fingerprints_oshash.type = 'oshash'")
}
stringCriterionHandler(sceneFilter.Oshash, "fingerprints_oshash.fingerprint")(ctx, f)
@@ -72,8 +76,12 @@ func (qb *sceneFilterHandler) criterionHandler() criterionHandler {
criterionHandlerFunc(func(ctx context.Context, f *filterBuilder) {
if sceneFilter.Checksum != nil {
- qb.addSceneFilesTable(f)
- f.addLeftJoin(fingerprintTable, "fingerprints_md5", "scenes_files.file_id = fingerprints_md5.file_id AND fingerprints_md5.type = 'md5'")
+ joinType := joinTypeInner
+ if sceneFilter.Checksum.Modifier == models.CriterionModifierIsNull {
+ joinType = joinTypeLeft
+ }
+ qb.addSceneFilesTable(f, joinType)
+ f.addJoin(joinType, fingerprintTable, "fingerprints_md5", "scenes_files.file_id = fingerprints_md5.file_id AND fingerprints_md5.type = 'md5'")
}
stringCriterionHandler(sceneFilter.Checksum, "fingerprints_md5.fingerprint")(ctx, f)
@@ -84,8 +92,12 @@ func (qb *sceneFilterHandler) criterionHandler() criterionHandler {
// backwards compatibility
h := phashDistanceCriterionHandler{
joinFn: func(f *filterBuilder) {
- qb.addSceneFilesTable(f)
- f.addLeftJoin(fingerprintTable, "fingerprints_phash", "scenes_files.file_id = fingerprints_phash.file_id AND fingerprints_phash.type = 'phash'")
+ joinType := joinTypeInner
+ if sceneFilter.Phash.Modifier == models.CriterionModifierIsNull {
+ joinType = joinTypeLeft
+ }
+ qb.addSceneFilesTable(f, joinType)
+ f.addJoin(joinType, fingerprintTable, "fingerprints_phash", "scenes_files.file_id = fingerprints_phash.file_id AND fingerprints_phash.type = 'phash'")
},
criterion: &models.PhashDistanceCriterionInput{
Value: sceneFilter.Phash.Value,
@@ -98,8 +110,9 @@ func (qb *sceneFilterHandler) criterionHandler() criterionHandler {
&phashDistanceCriterionHandler{
joinFn: func(f *filterBuilder) {
- qb.addSceneFilesTable(f)
- f.addLeftJoin(fingerprintTable, "fingerprints_phash", "scenes_files.file_id = fingerprints_phash.file_id AND fingerprints_phash.type = 'phash'")
+ const joinType = joinTypeInner
+ qb.addSceneFilesTable(f, joinType)
+ f.addJoin(joinType, fingerprintTable, "fingerprints_phash", "scenes_files.file_id = fingerprints_phash.file_id AND fingerprints_phash.type = 'phash'")
},
criterion: sceneFilter.PhashDistance,
},
@@ -122,7 +135,7 @@ func (qb *sceneFilterHandler) criterionHandler() criterionHandler {
criterionHandlerFunc(func(ctx context.Context, f *filterBuilder) {
if sceneFilter.StashID != nil {
- sceneRepository.stashIDs.join(f, "scene_stash_ids", "scenes.id")
+ sceneRepository.stashIDs.leftJoin(f, "scene_stash_ids", "scenes.id")
stringCriterionHandler(sceneFilter.StashID, "scene_stash_ids.stash_id")(ctx, f)
}
}),
@@ -236,8 +249,8 @@ func (qb *sceneFilterHandler) criterionHandler() criterionHandler {
isRelated: true,
},
joinFn: func(f *filterBuilder) {
- qb.addFilesTable(f)
- qb.addFoldersTable(f)
+ qb.addFilesTable(f, joinTypeInner)
+ qb.addFoldersTable(f, joinTypeInner)
},
// don't use a subquery; join directly
directJoin: true,
@@ -254,23 +267,23 @@ func (qb *sceneFilterHandler) criterionHandler() criterionHandler {
}
}
-func (qb *sceneFilterHandler) addSceneFilesTable(f *filterBuilder) {
- f.addLeftJoin(scenesFilesTable, "", "scenes_files.scene_id = scenes.id")
+func (qb *sceneFilterHandler) addSceneFilesTable(f *filterBuilder, joinType joinType) {
+ f.addJoin(joinType, scenesFilesTable, "", "scenes_files.scene_id = scenes.id")
}
-func (qb *sceneFilterHandler) addFilesTable(f *filterBuilder) {
- qb.addSceneFilesTable(f)
- f.addLeftJoin(fileTable, "", "scenes_files.file_id = files.id")
+func (qb *sceneFilterHandler) addFilesTable(f *filterBuilder, joinType joinType) {
+ qb.addSceneFilesTable(f, joinType)
+ f.addJoin(joinType, fileTable, "", "scenes_files.file_id = files.id")
}
-func (qb *sceneFilterHandler) addFoldersTable(f *filterBuilder) {
- qb.addFilesTable(f)
- f.addLeftJoin(folderTable, "", "files.parent_folder_id = folders.id")
+func (qb *sceneFilterHandler) addFoldersTable(f *filterBuilder, joinType joinType) {
+ qb.addFilesTable(f, joinType)
+ f.addJoin(joinType, folderTable, "", "files.parent_folder_id = folders.id")
}
-func (qb *sceneFilterHandler) addVideoFilesTable(f *filterBuilder) {
- qb.addSceneFilesTable(f)
- f.addLeftJoin(videoFileTable, "", "video_files.file_id = scenes_files.file_id")
+func (qb *sceneFilterHandler) addVideoFilesTable(f *filterBuilder, joinType joinType) {
+ qb.addSceneFilesTable(f, joinType)
+ f.addJoin(joinType, videoFileTable, "", "video_files.file_id = scenes_files.file_id")
}
func (qb *sceneFilterHandler) playCountCriterionHandler(count *models.IntCriterionInput) criterionHandlerFunc {
@@ -318,7 +331,7 @@ func (qb *sceneFilterHandler) duplicatedCriterionHandler(duplicatedFilter *model
// Handle explicit fields
if duplicatedFilter.Phash != nil {
- qb.addSceneFilesTable(f)
+ qb.addSceneFilesTable(f, joinTypeInner)
qb.applyPhashDuplication(f, *duplicatedFilter.Phash)
}
@@ -368,11 +381,15 @@ func (qb *sceneFilterHandler) applyURLDuplication(f *filterBuilder, duplicated b
f.addInnerJoin("(SELECT scene_id FROM scene_urls INNER JOIN (SELECT url FROM scene_urls GROUP BY url HAVING COUNT(DISTINCT scene_id) "+v+" 1) dupes ON scene_urls.url = dupes.url)", "scurl", "scenes.id = scurl.scene_id")
}
-func (qb *sceneFilterHandler) codecCriterionHandler(codec *models.StringCriterionInput, codecColumn string, addJoinFn func(f *filterBuilder)) criterionHandlerFunc {
+func (qb *sceneFilterHandler) codecCriterionHandler(codec *models.StringCriterionInput, codecColumn string, addJoinFn func(f *filterBuilder, joinType joinType)) criterionHandlerFunc {
return func(ctx context.Context, f *filterBuilder) {
if codec != nil {
if addJoinFn != nil {
- addJoinFn(f)
+ joinType := joinTypeInner
+ if codec.Modifier == models.CriterionModifierIsNull {
+ joinType = joinTypeLeft
+ }
+ addJoinFn(f, joinType)
}
stringCriterionHandler(codec, codecColumn)(ctx, f)
@@ -398,29 +415,29 @@ func (qb *sceneFilterHandler) isMissingCriterionHandler(isMissing *string) crite
if isMissing != nil && *isMissing != "" {
switch *isMissing {
case "url":
- scenesURLsTableMgr.join(f, "", "scenes.id")
+ scenesURLsTableMgr.leftJoin(f, "", "scenes.id")
f.addWhere("scene_urls.url IS NULL")
case "galleries":
- sceneRepository.galleries.join(f, "galleries_join", "scenes.id")
+ sceneRepository.galleries.leftJoin(f, "galleries_join", "scenes.id")
f.addWhere("galleries_join.scene_id IS NULL")
case "studio":
f.addWhere("scenes.studio_id IS NULL")
case "movie", "group":
- sceneRepository.groups.join(f, "groups_join", "scenes.id")
+ sceneRepository.groups.leftJoin(f, "groups_join", "scenes.id")
f.addWhere("groups_join.scene_id IS NULL")
case "performers":
- sceneRepository.performers.join(f, "performers_join", "scenes.id")
+ sceneRepository.performers.leftJoin(f, "performers_join", "scenes.id")
f.addWhere("performers_join.scene_id IS NULL")
case "date":
f.addWhere(`scenes.date IS NULL OR scenes.date IS ""`)
case "tags":
- sceneRepository.tags.join(f, "tags_join", "scenes.id")
+ sceneRepository.tags.leftJoin(f, "tags_join", "scenes.id")
f.addWhere("tags_join.scene_id IS NULL")
case "stash_id":
- sceneRepository.stashIDs.join(f, "scene_stash_ids", "scenes.id")
+ sceneRepository.stashIDs.leftJoin(f, "scene_stash_ids", "scenes.id")
f.addWhere("scene_stash_ids.scene_id IS NULL")
case "phash":
- qb.addSceneFilesTable(f)
+ qb.addSceneFilesTable(f, joinTypeLeft)
f.addLeftJoin(fingerprintTable, "fingerprints_phash", "scenes_files.file_id = fingerprints_phash.file_id AND fingerprints_phash.type = 'phash'")
f.addWhere("fingerprints_phash.fingerprint IS NULL")
case "cover":
@@ -444,15 +461,15 @@ func (qb *sceneFilterHandler) urlsCriterionHandler(url *models.StringCriterionIn
primaryFK: sceneIDColumn,
joinTable: scenesURLsTable,
stringColumn: sceneURLColumn,
- addJoinTable: func(f *filterBuilder) {
- scenesURLsTableMgr.join(f, "", "scenes.id")
+ addJoinTable: func(f *filterBuilder, joinType joinType) {
+ scenesURLsTableMgr.join(f, joinType, "", "scenes.id")
},
}
return h.handler(url)
}
-func (qb *sceneFilterHandler) getMultiCriterionHandlerBuilder(foreignTable, joinTable, foreignFK string, addJoinsFunc func(f *filterBuilder)) multiCriterionHandlerBuilder {
+func (qb *sceneFilterHandler) getMultiCriterionHandlerBuilder(foreignTable, joinTable, foreignFK string, addJoinsFunc func(f *filterBuilder, joinType joinType)) multiCriterionHandlerBuilder {
return multiCriterionHandlerBuilder{
primaryTable: sceneTable,
foreignTable: foreignTable,
@@ -469,9 +486,9 @@ func (qb *sceneFilterHandler) captionCriterionHandler(captions *models.StringCri
primaryFK: sceneIDColumn,
joinTable: videoCaptionsTable,
stringColumn: captionCodeColumn,
- addJoinTable: func(f *filterBuilder) {
- qb.addSceneFilesTable(f)
- f.addLeftJoin(videoCaptionsTable, "", "video_captions.file_id = scenes_files.file_id")
+ addJoinTable: func(f *filterBuilder, joinType joinType) {
+ qb.addSceneFilesTable(f, joinTypeLeft)
+ f.addJoin(joinType, videoCaptionsTable, "", "video_captions.file_id = scenes_files.file_id")
},
excludeHandler: func(f *filterBuilder, criterion *models.StringCriterionInput) {
excludeClause := `scenes.id NOT IN (
@@ -531,8 +548,8 @@ func (qb *sceneFilterHandler) performersCriterionHandler(performers *models.Mult
primaryFK: sceneIDColumn,
foreignFK: performerIDColumn,
- addJoinTable: func(f *filterBuilder) {
- sceneRepository.performers.join(f, "performers_join", "scenes.id")
+ addJoinTable: func(f *filterBuilder, joinType joinType) {
+ sceneRepository.performers.join(f, joinType, "performers_join", "scenes.id")
},
}
@@ -587,9 +604,9 @@ func (qb *sceneFilterHandler) performerAgeCriterionHandler(performerAge *models.
// legacy handler
func (qb *sceneFilterHandler) moviesCriterionHandler(movies *models.MultiCriterionInput) criterionHandlerFunc {
- addJoinsFunc := func(f *filterBuilder) {
- sceneRepository.groups.join(f, "", "scenes.id")
- f.addLeftJoin("groups", "", "groups_scenes.group_id = groups.id")
+ addJoinsFunc := func(f *filterBuilder, joinType joinType) {
+ sceneRepository.groups.leftJoin(f, "", "scenes.id")
+ f.addJoin(joinType, "groups", "", "groups_scenes.group_id = groups.id")
}
h := qb.getMultiCriterionHandlerBuilder(groupTable, groupsScenesTable, "group_id", addJoinsFunc)
return h.handler(movies)
@@ -613,9 +630,9 @@ func (qb *sceneFilterHandler) groupsCriterionHandler(groups *models.Hierarchical
}
func (qb *sceneFilterHandler) galleriesCriterionHandler(galleries *models.MultiCriterionInput) criterionHandlerFunc {
- addJoinsFunc := func(f *filterBuilder) {
- sceneRepository.galleries.join(f, "", "scenes.id")
- f.addLeftJoin("galleries", "", "scenes_galleries.gallery_id = galleries.id")
+ addJoinsFunc := func(f *filterBuilder, joinType joinType) {
+ sceneRepository.galleries.leftJoin(f, "", "scenes.id")
+ f.addJoin(joinType, "galleries", "", "scenes_galleries.gallery_id = galleries.id")
}
h := qb.getMultiCriterionHandlerBuilder(galleryTable, scenesGalleriesTable, "gallery_id", addJoinsFunc)
return h.handler(galleries)
diff --git a/pkg/sqlite/scene_marker_filter.go b/pkg/sqlite/scene_marker_filter.go
index 34fa0f39b..26f5e0f8d 100644
--- a/pkg/sqlite/scene_marker_filter.go
+++ b/pkg/sqlite/scene_marker_filter.go
@@ -173,8 +173,8 @@ func (qb *sceneMarkerFilterHandler) performersCriterionHandler(performers *model
primaryFK: sceneIDColumn,
foreignFK: performerIDColumn,
- addJoinTable: func(f *filterBuilder) {
- f.addLeftJoin(performersScenesTable, "performers_join", "performers_join.scene_id = scene_markers.scene_id")
+ addJoinTable: func(f *filterBuilder, joinType joinType) {
+ f.addJoin(joinType, performersScenesTable, "performers_join", "performers_join.scene_id = scene_markers.scene_id")
},
}
@@ -191,8 +191,8 @@ func (qb *sceneMarkerFilterHandler) performersCriterionHandler(performers *model
}
func (qb *sceneMarkerFilterHandler) scenesCriterionHandler(scenes *models.MultiCriterionInput) criterionHandlerFunc {
- addJoinsFunc := func(f *filterBuilder) {
- f.addLeftJoin(sceneTable, "markers_scenes", "markers_scenes.id = scene_markers.scene_id")
+ addJoinsFunc := func(f *filterBuilder, joinType joinType) {
+ f.addJoin(joinType, sceneTable, "markers_scenes", "markers_scenes.id = scene_markers.scene_id")
}
h := multiCriterionHandlerBuilder{
primaryTable: sceneMarkerTable,
diff --git a/pkg/sqlite/studio_filter.go b/pkg/sqlite/studio_filter.go
index 6d5a8fe7c..9ad3494dc 100644
--- a/pkg/sqlite/studio_filter.go
+++ b/pkg/sqlite/studio_filter.go
@@ -63,7 +63,7 @@ func (qb *studioFilterHandler) criterionHandler() criterionHandler {
criterionHandlerFunc(func(ctx context.Context, f *filterBuilder) {
if studioFilter.StashID != nil {
- studioRepository.stashIDs.join(f, "studio_stash_ids", "studios.id")
+ studioRepository.stashIDs.leftJoin(f, "studio_stash_ids", "studios.id")
stringCriterionHandler(studioFilter.StashID, "studio_stash_ids.stash_id")(ctx, f)
}
}),
@@ -143,15 +143,15 @@ func (qb *studioFilterHandler) isMissingCriterionHandler(isMissing *string) crit
if isMissing != nil && *isMissing != "" {
switch *isMissing {
case "url":
- studiosURLsTableMgr.join(f, "", "studios.id")
+ studiosURLsTableMgr.leftJoin(f, "", "studios.id")
f.addWhere("studio_urls.url IS NULL")
case "image":
f.addWhere("studios.image_blob IS NULL")
case "stash_id":
- studioRepository.stashIDs.join(f, "studio_stash_ids", "studios.id")
+ studioRepository.stashIDs.leftJoin(f, "studio_stash_ids", "studios.id")
f.addWhere("studio_stash_ids.studio_id IS NULL")
case "aliases":
- studiosAliasesTableMgr.join(f, "", "studios.id")
+ studiosAliasesTableMgr.leftJoin(f, "", "studios.id")
f.addWhere("studio_aliases.alias IS NULL")
case "tags":
f.addLeftJoin(studiosTagsTable, "tags_join", "tags_join.studio_id = studios.id")
@@ -224,8 +224,8 @@ func (qb *studioFilterHandler) tagCountCriterionHandler(tagCount *models.IntCrit
}
func (qb *studioFilterHandler) parentCriterionHandler(parents *models.MultiCriterionInput) criterionHandlerFunc {
- addJoinsFunc := func(f *filterBuilder) {
- f.addLeftJoin("studios", "parent_studio", "parent_studio.id = studios.parent_id")
+ addJoinsFunc := func(f *filterBuilder, joinType joinType) {
+ f.addJoin(joinType, "studios", "parent_studio", "parent_studio.id = studios.parent_id")
}
h := multiCriterionHandlerBuilder{
primaryTable: studioTable,
@@ -244,8 +244,8 @@ func (qb *studioFilterHandler) aliasCriterionHandler(alias *models.StringCriteri
primaryFK: studioIDColumn,
joinTable: studioAliasesTable,
stringColumn: studioAliasColumn,
- addJoinTable: func(f *filterBuilder) {
- studiosAliasesTableMgr.join(f, "", "studios.id")
+ addJoinTable: func(f *filterBuilder, joinType joinType) {
+ studiosAliasesTableMgr.join(f, joinType, "", "studios.id")
},
}
@@ -258,8 +258,8 @@ func (qb *studioFilterHandler) urlsCriterionHandler(url *models.StringCriterionI
primaryFK: studioIDColumn,
joinTable: studioURLsTable,
stringColumn: studioURLColumn,
- addJoinTable: func(f *filterBuilder) {
- studiosURLsTableMgr.join(f, "", "studios.id")
+ addJoinTable: func(f *filterBuilder, joinType joinType) {
+ studiosURLsTableMgr.join(f, joinType, "", "studios.id")
},
}
diff --git a/pkg/sqlite/table.go b/pkg/sqlite/table.go
index 3f8dfb70f..434fe0e49 100644
--- a/pkg/sqlite/table.go
+++ b/pkg/sqlite/table.go
@@ -129,7 +129,22 @@ func (t *table) destroy(ctx context.Context, ids []int) error {
return nil
}
-func (t *table) join(j joiner, as string, parentIDCol string) {
+func (t *table) join(j joiner, jt joinType, as string, parentIDCol string) {
+ tableName := t.table.GetTable()
+ tt := tableName
+ if as != "" {
+ tt = as
+ }
+
+ fn := j.addInnerJoin
+ if jt == joinTypeLeft {
+ fn = j.addLeftJoin
+ }
+
+ fn(tableName, as, fmt.Sprintf("%s.%s = %s", tt, t.idColumn.GetCol(), parentIDCol))
+}
+
+func (t *table) leftJoin(j joiner, as string, parentIDCol string) {
tableName := t.table.GetTable()
tt := tableName
if as != "" {
diff --git a/pkg/sqlite/tag_filter.go b/pkg/sqlite/tag_filter.go
index 5fd41e80a..6cfe52006 100644
--- a/pkg/sqlite/tag_filter.go
+++ b/pkg/sqlite/tag_filter.go
@@ -184,8 +184,8 @@ func (qb *tagFilterHandler) aliasCriterionHandler(alias *models.StringCriterionI
primaryFK: tagIDColumn,
joinTable: tagAliasesTable,
stringColumn: tagAliasColumn,
- addJoinTable: func(f *filterBuilder) {
- tagRepository.aliases.join(f, "", "tags.id")
+ addJoinTable: func(f *filterBuilder, joinType joinType) {
+ tagRepository.aliases.join(f, joinType, "", "tags.id")
},
}
@@ -199,10 +199,10 @@ func (qb *tagFilterHandler) isMissingCriterionHandler(isMissing *string) criteri
case "image":
f.addWhere("tags.image_blob IS NULL")
case "aliases":
- tagRepository.aliases.join(f, "", "tags.id")
+ tagRepository.aliases.leftJoin(f, "", "tags.id")
f.addWhere("tag_aliases.alias IS NULL")
case "stash_id":
- tagRepository.stashIDs.join(f, "tag_stash_ids", "tags.id")
+ tagRepository.stashIDs.leftJoin(f, "tag_stash_ids", "tags.id")
f.addWhere("tag_stash_ids.tag_id IS NULL")
default:
if err := validateIsMissing(*isMissing, []string{
diff --git a/ui/v2.5/package.json b/ui/v2.5/package.json
index 001e7fb60..be9b9dc10 100644
--- a/ui/v2.5/package.json
+++ b/ui/v2.5/package.json
@@ -1,9 +1,11 @@
{
"name": "stash",
"private": true,
- "homepage": "./",
"type": "module",
- "packageManager": "pnpm@10.30.3+sha512.c961d1e0a2d8e354ecaa5166b822516668b7f44cb5bd95122d590dd81922f606f5473b6d23ec4a5be05e7fcd18e8488d47d978bbe981872f1145d06e9a740017",
+ "packageManager": "pnpm@10.33.0+sha512.10568bb4a6afb58c9eb3630da90cc9516417abebd3fabbe6739f0ae795728da1491e9db5a544c76ad8eb7570f5c4bb3d6c637b2cb41bfdcdb47fa823c8649319",
+ "engines": {
+ "node": ">= 20"
+ },
"scripts": {
"start": "vite",
"build": "vite build",
@@ -23,39 +25,39 @@
},
"dependencies": {
"@ant-design/react-slick": "^1.0.0",
- "@apollo/client": "^3.8.10",
- "@formatjs/intl-getcanonicallocales": "^2.0.5",
- "@formatjs/intl-locale": "^3.0.11",
- "@formatjs/intl-numberformat": "^8.3.3",
- "@formatjs/intl-pluralrules": "^5.1.8",
- "@fortawesome/fontawesome-svg-core": "^7.1.0",
- "@fortawesome/free-brands-svg-icons": "^7.1.0",
- "@fortawesome/free-regular-svg-icons": "^7.1.0",
- "@fortawesome/free-solid-svg-icons": "^7.1.0",
+ "@apollo/client": "3.14",
+ "@blaineam/videojs-vr": "^3.1.1",
+ "@formatjs/intl-getcanonicallocales": "^3.2.2",
+ "@formatjs/intl-locale": "^5.3.1",
+ "@formatjs/intl-numberformat": "^8.15.6",
+ "@formatjs/intl-pluralrules": "^6.3.1",
+ "@fortawesome/fontawesome-svg-core": "^7.2.0",
+ "@fortawesome/free-brands-svg-icons": "^7.2.0",
+ "@fortawesome/free-regular-svg-icons": "^7.2.0",
+ "@fortawesome/free-solid-svg-icons": "^7.2.0",
"@fortawesome/react-fontawesome": "^0.2.6",
"@react-hook/resize-observer": "^1.2.6",
- "@silvermine/videojs-airplay": "^1.2.0",
- "@silvermine/videojs-chromecast": "^1.4.1",
+ "@silvermine/videojs-airplay": "^1.3.0",
+ "@silvermine/videojs-chromecast": "^1.5.0",
"@types/react-router-dom": "^5.3.3",
- "apollo-upload-client": "^18.0.1",
+ "apollo-upload-client": "18",
"base64-blob": "^1.4.1",
"bootstrap": "^4.6.2",
- "classnames": "^2.3.2",
+ "classnames": "^2.5.1",
"crypto-js": "^4.2.0",
"event-target-polyfill": "^0.0.4",
- "flag-icons": "^6.6.6",
+ "flag-icons": "^7.5.0",
"flexbin": "^0.2.0",
- "formik": "^2.4.5",
+ "formik": "^2.4.9",
"graphql": "^16.8.1",
"graphql-tag": "^2.12.6",
"graphql-ws": "^5.14.3",
- "i18n-iso-countries": "^7.5.0",
+ "i18n-iso-countries": "^7.14.0",
"localforage": "^1.10.0",
- "lodash-es": "^4.17.23",
+ "lodash-es": "^4.18.1",
"moment": "^2.30.1",
"mousetrap": "^1.6.5",
"mousetrap-pause": "^1.0.0",
- "normalize-url": "^4.5.1",
"react": "^17.0.2",
"react-bootstrap": "^1.6.6",
"react-datepicker": "^4.10.0",
@@ -71,21 +73,19 @@
"remark-gfm": "^1.0.0",
"resize-observer-polyfill": "^1.5.1",
"slick-carousel": "^1.8.1",
- "string.prototype.replaceall": "^1.0.7",
- "thehandy": "^1.0.3",
- "ua-parser-js": "^1.0.34",
- "universal-cookie": "^4.0.4",
- "video.js": "^7.21.3",
+ "thehandy": "^1.1.0",
+ "ua-parser-js": "^2.0.9",
+ "universal-cookie": "^8.1.0",
+ "video.js": "^7.21.7",
"videojs-abloop": "^1.2.0",
"videojs-contrib-dash": "^5.1.1",
"videojs-mobile-ui": "^0.8.0",
"videojs-seek-buttons": "^3.0.1",
- "videojs-vr": "1.8.0",
- "videojs-vtt.js": "^0.15.4",
- "yup": "^1.3.2"
+ "videojs-vtt.js": "^0.15.5",
+ "yup": "^1.7.1"
},
"devDependencies": {
- "@babel/core": "^7.20.12",
+ "@babel/core": "^7.29.0",
"@graphql-codegen/cli": "^5.0.0",
"@graphql-codegen/time": "^5.0.0",
"@graphql-codegen/typescript": "^4.0.1",
@@ -93,45 +93,44 @@
"@graphql-codegen/typescript-react-apollo": "^4.1.0",
"@types/apollo-upload-client": "^18.0.0",
"@types/crypto-js": "^4.2.2",
- "@types/dom-screen-wake-lock": "^1.0.3",
- "@types/lodash-es": "^4.17.6",
- "@types/mousetrap": "^1.6.11",
- "@types/node": "^18.13.0",
+ "@types/lodash-es": "^4.17.12",
+ "@types/mousetrap": "^1.6.15",
+ "@types/node": "^20.19.37",
"@types/react": "^17.0.53",
"@types/react-datepicker": "^4.10.0",
"@types/react-dom": "^17.0.19",
"@types/react-helmet": "^6.1.6",
"@types/react-router-bootstrap": "^0.24.5",
"@types/react-router-hash-link": "^2.4.5",
- "@types/three": "^0.154.0",
- "@types/ua-parser-js": "^0.7.36",
- "@types/video.js": "^7.3.51",
- "@types/videojs-mobile-ui": "^0.8.0",
- "@types/videojs-seek-buttons": "^2.1.0",
- "@typescript-eslint/eslint-plugin": "^5.52.0",
- "@typescript-eslint/parser": "^5.52.0",
- "@vitejs/plugin-legacy": "^5.4.3",
- "@vitejs/plugin-react": "^5.1.0",
- "eslint": "^8.34.0",
+ "@types/three": "^0.183.1",
+ "@types/ua-parser-js": "^0.7.39",
+ "@types/video.js": "^7.3.58",
+ "@types/videojs-mobile-ui": "^0.8.3",
+ "@types/videojs-seek-buttons": "^2.1.3",
+ "@typescript-eslint/eslint-plugin": "^7.18.0",
+ "@typescript-eslint/parser": "^7.18.0",
+ "@vitejs/plugin-react": "^5.2.0",
+ "eslint": "^8.57.1",
"eslint-config-airbnb": "^19.0.4",
- "eslint-config-airbnb-typescript": "^17.0.0",
- "eslint-config-prettier": "^8.6.0",
- "eslint-plugin-import": "^2.27.5",
- "eslint-plugin-jsx-a11y": "^6.7.1",
- "eslint-plugin-react": "^7.32.2",
- "eslint-plugin-react-hooks": "^4.6.0",
+ "eslint-config-airbnb-typescript": "^18.0.0",
+ "eslint-config-prettier": "^8.10.2",
+ "eslint-plugin-deprecation": "^3.0.0",
+ "eslint-plugin-import": "^2.32.0",
+ "eslint-plugin-jsx-a11y": "^6.10.2",
+ "eslint-plugin-react": "^7.37.5",
+ "eslint-plugin-react-hooks": "^4.6.2",
"extract-react-intl-messages": "^4.1.1",
- "postcss": "^8.4.31",
- "postcss-scss": "^4.0.6",
- "prettier": "^2.8.4",
- "sass": "^1.58.1",
- "stylelint": "^15.10.1",
- "stylelint-order": "^6.0.2",
- "terser": "^5.9.0",
- "ts-node": "^10.9.1",
- "typescript": "~4.8.4",
- "vite": "^5.4.21",
+ "postcss": "^8.5.8",
+ "postcss-scss": "^4.0.9",
+ "prettier": "^2.8.8",
+ "sass": "^1.98.0",
+ "stylelint": "^17.6.0",
+ "stylelint-order": "^8.1.1",
+ "terser": "^5.46.1",
+ "ts-node": "~10.9.2",
+ "typescript": "~5.9.3",
+ "vite": "^7.3.2",
"vite-plugin-compression": "^0.5.1",
- "vite-tsconfig-paths": "^4.0.5"
+ "vite-tsconfig-paths": "^6.1.1"
}
}
diff --git a/ui/v2.5/pnpm-lock.yaml b/ui/v2.5/pnpm-lock.yaml
index 46dcec4d8..887121082 100644
--- a/ui/v2.5/pnpm-lock.yaml
+++ b/ui/v2.5/pnpm-lock.yaml
@@ -4,6 +4,11 @@ settings:
autoInstallPeers: true
excludeLinksFromLockfile: false
+overrides:
+ yaml@1.10.2: ~1.10.3
+ brace-expansion@1.1.12: ~1.1.13
+ '@xmldom/xmldom@0.8.12': ~0.8.13
+
importers:
.:
@@ -12,49 +17,52 @@ importers:
specifier: ^1.0.0
version: 1.1.2(react@17.0.2)
'@apollo/client':
- specifier: ^3.8.10
+ specifier: '3.14'
version: 3.14.0(@types/react@17.0.89)(graphql-ws@5.16.2(graphql@16.11.0))(graphql@16.11.0)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)
+ '@blaineam/videojs-vr':
+ specifier: ^3.1.1
+ version: 3.1.1
'@formatjs/intl-getcanonicallocales':
- specifier: ^2.0.5
- version: 2.5.6
+ specifier: ^3.2.2
+ version: 3.2.2
'@formatjs/intl-locale':
- specifier: ^3.0.11
- version: 3.4.6
+ specifier: ^5.3.1
+ version: 5.3.1
'@formatjs/intl-numberformat':
- specifier: ^8.3.3
+ specifier: ^8.15.6
version: 8.15.6
'@formatjs/intl-pluralrules':
- specifier: ^5.1.8
- version: 5.4.6
+ specifier: ^6.3.1
+ version: 6.3.1
'@fortawesome/fontawesome-svg-core':
- specifier: ^7.1.0
- version: 7.1.0
+ specifier: ^7.2.0
+ version: 7.2.0
'@fortawesome/free-brands-svg-icons':
- specifier: ^7.1.0
- version: 7.1.0
+ specifier: ^7.2.0
+ version: 7.2.0
'@fortawesome/free-regular-svg-icons':
- specifier: ^7.1.0
- version: 7.1.0
+ specifier: ^7.2.0
+ version: 7.2.0
'@fortawesome/free-solid-svg-icons':
- specifier: ^7.1.0
- version: 7.1.0
+ specifier: ^7.2.0
+ version: 7.2.0
'@fortawesome/react-fontawesome':
specifier: ^0.2.6
- version: 0.2.6(@fortawesome/fontawesome-svg-core@7.1.0)(react@17.0.2)
+ version: 0.2.6(@fortawesome/fontawesome-svg-core@7.2.0)(react@17.0.2)
'@react-hook/resize-observer':
specifier: ^1.2.6
version: 1.2.6(react@17.0.2)
'@silvermine/videojs-airplay':
- specifier: ^1.2.0
+ specifier: ^1.3.0
version: 1.3.0(video.js@7.21.7)
'@silvermine/videojs-chromecast':
- specifier: ^1.4.1
+ specifier: ^1.5.0
version: 1.5.0(video.js@7.21.7)
'@types/react-router-dom':
specifier: ^5.3.3
version: 5.3.3
apollo-upload-client:
- specifier: ^18.0.1
+ specifier: '18'
version: 18.0.1(@apollo/client@3.14.0(@types/react@17.0.89)(graphql-ws@5.16.2(graphql@16.11.0))(graphql@16.11.0)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(graphql@16.11.0)
base64-blob:
specifier: ^1.4.1
@@ -63,7 +71,7 @@ importers:
specifier: ^4.6.2
version: 4.6.2(jquery@3.7.1)(popper.js@1.16.1)
classnames:
- specifier: ^2.3.2
+ specifier: ^2.5.1
version: 2.5.1
crypto-js:
specifier: ^4.2.0
@@ -72,14 +80,14 @@ importers:
specifier: ^0.0.4
version: 0.0.4
flag-icons:
- specifier: ^6.6.6
- version: 6.15.0
+ specifier: ^7.5.0
+ version: 7.5.0
flexbin:
specifier: ^0.2.0
version: 0.2.0
formik:
- specifier: ^2.4.5
- version: 2.4.6(@types/react@17.0.89)(react@17.0.2)
+ specifier: ^2.4.9
+ version: 2.4.9(@types/react@17.0.89)(react@17.0.2)
graphql:
specifier: ^16.8.1
version: 16.11.0
@@ -90,14 +98,14 @@ importers:
specifier: ^5.14.3
version: 5.16.2(graphql@16.11.0)
i18n-iso-countries:
- specifier: ^7.5.0
+ specifier: ^7.14.0
version: 7.14.0
localforage:
specifier: ^1.10.0
version: 1.10.0
lodash-es:
- specifier: ^4.17.23
- version: 4.17.23
+ specifier: ^4.18.1
+ version: 4.18.1
moment:
specifier: ^2.30.1
version: 2.30.1
@@ -107,9 +115,6 @@ importers:
mousetrap-pause:
specifier: ^1.0.0
version: 1.0.0
- normalize-url:
- specifier: ^4.5.1
- version: 4.5.1
react:
specifier: ^17.0.2
version: 17.0.2
@@ -127,7 +132,7 @@ importers:
version: 6.1.0(react@17.0.2)
react-intl:
specifier: ^6.2.8
- version: 6.8.9(react@17.0.2)(typescript@4.8.4)
+ version: 6.8.9(react@17.0.2)(typescript@5.9.3)
react-photo-gallery:
specifier: ^8.0.0
version: 8.0.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2)
@@ -155,20 +160,17 @@ importers:
slick-carousel:
specifier: ^1.8.1
version: 1.8.1(jquery@3.7.1)
- string.prototype.replaceall:
- specifier: ^1.0.7
- version: 1.0.11
thehandy:
- specifier: ^1.0.3
+ specifier: ^1.1.0
version: 1.1.0
ua-parser-js:
- specifier: ^1.0.34
- version: 1.0.41
+ specifier: ^2.0.9
+ version: 2.0.9
universal-cookie:
- specifier: ^4.0.4
- version: 4.0.4
+ specifier: ^8.1.0
+ version: 8.1.0
video.js:
- specifier: ^7.21.3
+ specifier: ^7.21.7
version: 7.21.7
videojs-abloop:
specifier: ^1.2.0
@@ -182,22 +184,19 @@ importers:
videojs-seek-buttons:
specifier: ^3.0.1
version: 3.0.1(video.js@7.21.7)
- videojs-vr:
- specifier: 1.8.0
- version: 1.8.0
videojs-vtt.js:
- specifier: ^0.15.4
+ specifier: ^0.15.5
version: 0.15.5
yup:
- specifier: ^1.3.2
+ specifier: ^1.7.1
version: 1.7.1
devDependencies:
'@babel/core':
- specifier: ^7.20.12
- version: 7.28.4
+ specifier: ^7.29.0
+ version: 7.29.0
'@graphql-codegen/cli':
specifier: ^5.0.0
- version: 5.0.7(@parcel/watcher@2.5.1)(@types/node@18.19.130)(graphql@16.11.0)(typescript@4.8.4)
+ version: 5.0.7(@parcel/watcher@2.5.1)(@types/node@20.19.37)(graphql@16.11.0)(typescript@5.9.3)
'@graphql-codegen/time':
specifier: ^5.0.0
version: 5.0.1(graphql@16.11.0)
@@ -216,18 +215,15 @@ importers:
'@types/crypto-js':
specifier: ^4.2.2
version: 4.2.2
- '@types/dom-screen-wake-lock':
- specifier: ^1.0.3
- version: 1.0.3
'@types/lodash-es':
- specifier: ^4.17.6
+ specifier: ^4.17.12
version: 4.17.12
'@types/mousetrap':
- specifier: ^1.6.11
+ specifier: ^1.6.15
version: 1.6.15
'@types/node':
- specifier: ^18.13.0
- version: 18.19.130
+ specifier: ^20.19.37
+ version: 20.19.37
'@types/react':
specifier: ^17.0.53
version: 17.0.89
@@ -247,95 +243,95 @@ importers:
specifier: ^2.4.5
version: 2.4.9
'@types/three':
- specifier: ^0.154.0
- version: 0.154.0
+ specifier: ^0.183.1
+ version: 0.183.1
'@types/ua-parser-js':
- specifier: ^0.7.36
+ specifier: ^0.7.39
version: 0.7.39
'@types/video.js':
- specifier: ^7.3.51
+ specifier: ^7.3.58
version: 7.3.58
'@types/videojs-mobile-ui':
- specifier: ^0.8.0
+ specifier: ^0.8.3
version: 0.8.3
'@types/videojs-seek-buttons':
- specifier: ^2.1.0
+ specifier: ^2.1.3
version: 2.1.3
'@typescript-eslint/eslint-plugin':
- specifier: ^5.52.0
- version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.8.4))(eslint@8.57.1)(typescript@4.8.4)
+ specifier: ^7.18.0
+ version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3)
'@typescript-eslint/parser':
- specifier: ^5.52.0
- version: 5.62.0(eslint@8.57.1)(typescript@4.8.4)
- '@vitejs/plugin-legacy':
- specifier: ^5.4.3
- version: 5.4.3(terser@5.44.0)(vite@5.4.21(@types/node@18.19.130)(sass@1.93.2)(terser@5.44.0))
+ specifier: ^7.18.0
+ version: 7.18.0(eslint@8.57.1)(typescript@5.9.3)
'@vitejs/plugin-react':
- specifier: ^5.1.0
- version: 5.1.0(vite@5.4.21(@types/node@18.19.130)(sass@1.93.2)(terser@5.44.0))
+ specifier: ^5.2.0
+ version: 5.2.0(vite@7.3.2(@types/node@20.19.37)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.98.0)(terser@5.46.1)(yaml@2.8.1))
eslint:
- specifier: ^8.34.0
+ specifier: ^8.57.1
version: 8.57.1
eslint-config-airbnb:
specifier: ^19.0.4
- version: 19.0.4(eslint-plugin-import@2.32.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.8.4))(eslint@8.57.1))(eslint-plugin-jsx-a11y@6.10.2(eslint@8.57.1))(eslint-plugin-react-hooks@4.6.2(eslint@8.57.1))(eslint-plugin-react@7.37.5(eslint@8.57.1))(eslint@8.57.1)
+ version: 19.0.4(eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1))(eslint-plugin-jsx-a11y@6.10.2(eslint@8.57.1))(eslint-plugin-react-hooks@4.6.2(eslint@8.57.1))(eslint-plugin-react@7.37.5(eslint@8.57.1))(eslint@8.57.1)
eslint-config-airbnb-typescript:
- specifier: ^17.0.0
- version: 17.1.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.8.4))(eslint@8.57.1)(typescript@4.8.4))(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.8.4))(eslint-plugin-import@2.32.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.8.4))(eslint@8.57.1))(eslint@8.57.1)
+ specifier: ^18.0.0
+ version: 18.0.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3))(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1))(eslint@8.57.1)
eslint-config-prettier:
- specifier: ^8.6.0
+ specifier: ^8.10.2
version: 8.10.2(eslint@8.57.1)
+ eslint-plugin-deprecation:
+ specifier: ^3.0.0
+ version: 3.0.0(eslint@8.57.1)(typescript@5.9.3)
eslint-plugin-import:
- specifier: ^2.27.5
- version: 2.32.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.8.4))(eslint@8.57.1)
+ specifier: ^2.32.0
+ version: 2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)
eslint-plugin-jsx-a11y:
- specifier: ^6.7.1
+ specifier: ^6.10.2
version: 6.10.2(eslint@8.57.1)
eslint-plugin-react:
- specifier: ^7.32.2
+ specifier: ^7.37.5
version: 7.37.5(eslint@8.57.1)
eslint-plugin-react-hooks:
- specifier: ^4.6.0
+ specifier: ^4.6.2
version: 4.6.2(eslint@8.57.1)
extract-react-intl-messages:
specifier: ^4.1.1
version: 4.1.1
postcss:
- specifier: ^8.4.31
- version: 8.5.6
+ specifier: ^8.5.8
+ version: 8.5.8
postcss-scss:
- specifier: ^4.0.6
- version: 4.0.9(postcss@8.5.6)
+ specifier: ^4.0.9
+ version: 4.0.9(postcss@8.5.8)
prettier:
- specifier: ^2.8.4
+ specifier: ^2.8.8
version: 2.8.8
sass:
- specifier: ^1.58.1
- version: 1.93.2
+ specifier: ^1.98.0
+ version: 1.98.0
stylelint:
- specifier: ^15.10.1
- version: 15.11.0(typescript@4.8.4)
+ specifier: ^17.6.0
+ version: 17.6.0(typescript@5.9.3)
stylelint-order:
- specifier: ^6.0.2
- version: 6.0.4(stylelint@15.11.0(typescript@4.8.4))
+ specifier: ^8.1.1
+ version: 8.1.1(stylelint@17.6.0(typescript@5.9.3))
terser:
- specifier: ^5.9.0
- version: 5.44.0
+ specifier: ^5.46.1
+ version: 5.46.1
ts-node:
- specifier: ^10.9.1
- version: 10.9.2(@types/node@18.19.130)(typescript@4.8.4)
+ specifier: ~10.9.2
+ version: 10.9.2(@types/node@20.19.37)(typescript@5.9.3)
typescript:
- specifier: ~4.8.4
- version: 4.8.4
+ specifier: ~5.9.3
+ version: 5.9.3
vite:
- specifier: ^5.4.21
- version: 5.4.21(@types/node@18.19.130)(sass@1.93.2)(terser@5.44.0)
+ specifier: ^7.3.2
+ version: 7.3.2(@types/node@20.19.37)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.98.0)(terser@5.46.1)(yaml@2.8.1)
vite-plugin-compression:
specifier: ^0.5.1
- version: 0.5.1(vite@5.4.21(@types/node@18.19.130)(sass@1.93.2)(terser@5.44.0))
+ version: 0.5.1(vite@7.3.2(@types/node@20.19.37)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.98.0)(terser@5.46.1)(yaml@2.8.1))
vite-tsconfig-paths:
- specifier: ^4.0.5
- version: 4.3.2(typescript@4.8.4)(vite@5.4.21(@types/node@18.19.130)(sass@1.93.2)(terser@5.44.0))
+ specifier: ^6.1.1
+ version: 6.1.1(typescript@5.9.3)(vite@7.3.2(@types/node@20.19.37)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.98.0)(terser@5.46.1)(yaml@2.8.1))
packages:
@@ -374,28 +370,28 @@ packages:
peerDependencies:
graphql: '*'
- '@babel/code-frame@7.27.1':
- resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==}
+ '@babel/code-frame@7.29.0':
+ resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==}
engines: {node: '>=6.9.0'}
- '@babel/compat-data@7.28.4':
- resolution: {integrity: sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==}
+ '@babel/compat-data@7.29.0':
+ resolution: {integrity: sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==}
engines: {node: '>=6.9.0'}
- '@babel/core@7.28.4':
- resolution: {integrity: sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==}
+ '@babel/core@7.29.0':
+ resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==}
engines: {node: '>=6.9.0'}
- '@babel/generator@7.28.3':
- resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==}
+ '@babel/generator@7.29.1':
+ resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==}
engines: {node: '>=6.9.0'}
'@babel/helper-annotate-as-pure@7.27.3':
resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==}
engines: {node: '>=6.9.0'}
- '@babel/helper-compilation-targets@7.27.2':
- resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==}
+ '@babel/helper-compilation-targets@7.28.6':
+ resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==}
engines: {node: '>=6.9.0'}
'@babel/helper-create-class-features-plugin@7.28.3':
@@ -404,17 +400,6 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0
- '@babel/helper-create-regexp-features-plugin@7.27.1':
- resolution: {integrity: sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
-
- '@babel/helper-define-polyfill-provider@0.6.5':
- resolution: {integrity: sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==}
- peerDependencies:
- '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
-
'@babel/helper-globals@7.28.0':
resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==}
engines: {node: '>=6.9.0'}
@@ -423,12 +408,12 @@ packages:
resolution: {integrity: sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==}
engines: {node: '>=6.9.0'}
- '@babel/helper-module-imports@7.27.1':
- resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==}
+ '@babel/helper-module-imports@7.28.6':
+ resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==}
engines: {node: '>=6.9.0'}
- '@babel/helper-module-transforms@7.28.3':
- resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==}
+ '@babel/helper-module-transforms@7.28.6':
+ resolution: {integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
@@ -437,16 +422,10 @@ packages:
resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==}
engines: {node: '>=6.9.0'}
- '@babel/helper-plugin-utils@7.27.1':
- resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==}
+ '@babel/helper-plugin-utils@7.28.6':
+ resolution: {integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==}
engines: {node: '>=6.9.0'}
- '@babel/helper-remap-async-to-generator@7.27.1':
- resolution: {integrity: sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
-
'@babel/helper-replace-supers@7.27.1':
resolution: {integrity: sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==}
engines: {node: '>=6.9.0'}
@@ -461,57 +440,23 @@ packages:
resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
engines: {node: '>=6.9.0'}
- '@babel/helper-validator-identifier@7.27.1':
- resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==}
+ '@babel/helper-validator-identifier@7.28.5':
+ resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==}
engines: {node: '>=6.9.0'}
'@babel/helper-validator-option@7.27.1':
resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==}
engines: {node: '>=6.9.0'}
- '@babel/helper-wrap-function@7.28.3':
- resolution: {integrity: sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==}
+ '@babel/helpers@7.29.2':
+ resolution: {integrity: sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==}
engines: {node: '>=6.9.0'}
- '@babel/helpers@7.28.4':
- resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==}
- engines: {node: '>=6.9.0'}
-
- '@babel/parser@7.28.4':
- resolution: {integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==}
+ '@babel/parser@7.29.2':
+ resolution: {integrity: sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==}
engines: {node: '>=6.0.0'}
hasBin: true
- '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1':
- resolution: {integrity: sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
-
- '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1':
- resolution: {integrity: sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
-
- '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1':
- resolution: {integrity: sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
-
- '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1':
- resolution: {integrity: sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.13.0
-
- '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3':
- resolution: {integrity: sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
-
'@babel/plugin-proposal-class-properties@7.18.6':
resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==}
engines: {node: '>=6.9.0'}
@@ -526,12 +471,6 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2':
- resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
'@babel/plugin-syntax-class-properties@7.12.13':
resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
peerDependencies:
@@ -549,12 +488,6 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-syntax-import-attributes@7.27.1':
- resolution: {integrity: sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
'@babel/plugin-syntax-jsx@7.27.1':
resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==}
engines: {node: '>=6.9.0'}
@@ -566,30 +499,12 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-syntax-unicode-sets-regex@7.18.6':
- resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
-
'@babel/plugin-transform-arrow-functions@7.27.1':
resolution: {integrity: sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-async-generator-functions@7.28.0':
- resolution: {integrity: sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-transform-async-to-generator@7.27.1':
- resolution: {integrity: sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
'@babel/plugin-transform-block-scoped-functions@7.27.1':
resolution: {integrity: sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==}
engines: {node: '>=6.9.0'}
@@ -602,18 +517,6 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-class-properties@7.27.1':
- resolution: {integrity: sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-transform-class-static-block@7.28.3':
- resolution: {integrity: sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.12.0
-
'@babel/plugin-transform-classes@7.28.4':
resolution: {integrity: sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==}
engines: {node: '>=6.9.0'}
@@ -632,48 +535,6 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-dotall-regex@7.27.1':
- resolution: {integrity: sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-transform-duplicate-keys@7.27.1':
- resolution: {integrity: sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1':
- resolution: {integrity: sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
-
- '@babel/plugin-transform-dynamic-import@7.27.1':
- resolution: {integrity: sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-transform-explicit-resource-management@7.28.0':
- resolution: {integrity: sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-transform-exponentiation-operator@7.27.1':
- resolution: {integrity: sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-transform-export-namespace-from@7.27.1':
- resolution: {integrity: sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
'@babel/plugin-transform-flow-strip-types@7.27.1':
resolution: {integrity: sha512-G5eDKsu50udECw7DL2AcsysXiQyB7Nfg521t2OAJ4tbfTJ27doHLeF/vlI1NZGlLdbb/v+ibvtL1YBQqYOwJGg==}
engines: {node: '>=6.9.0'}
@@ -692,120 +553,36 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-json-strings@7.27.1':
- resolution: {integrity: sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
'@babel/plugin-transform-literals@7.27.1':
resolution: {integrity: sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-logical-assignment-operators@7.27.1':
- resolution: {integrity: sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
'@babel/plugin-transform-member-expression-literals@7.27.1':
resolution: {integrity: sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-modules-amd@7.27.1':
- resolution: {integrity: sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
'@babel/plugin-transform-modules-commonjs@7.27.1':
resolution: {integrity: sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-modules-systemjs@7.27.1':
- resolution: {integrity: sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-transform-modules-umd@7.27.1':
- resolution: {integrity: sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-transform-named-capturing-groups-regex@7.27.1':
- resolution: {integrity: sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
-
- '@babel/plugin-transform-new-target@7.27.1':
- resolution: {integrity: sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-transform-nullish-coalescing-operator@7.27.1':
- resolution: {integrity: sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-transform-numeric-separator@7.27.1':
- resolution: {integrity: sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-transform-object-rest-spread@7.28.4':
- resolution: {integrity: sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
'@babel/plugin-transform-object-super@7.27.1':
resolution: {integrity: sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-optional-catch-binding@7.27.1':
- resolution: {integrity: sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-transform-optional-chaining@7.27.1':
- resolution: {integrity: sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
'@babel/plugin-transform-parameters@7.27.7':
resolution: {integrity: sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-private-methods@7.27.1':
- resolution: {integrity: sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-transform-private-property-in-object@7.27.1':
- resolution: {integrity: sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
'@babel/plugin-transform-property-literals@7.27.1':
resolution: {integrity: sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==}
engines: {node: '>=6.9.0'}
@@ -836,24 +613,6 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-regenerator@7.28.4':
- resolution: {integrity: sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-transform-regexp-modifiers@7.27.1':
- resolution: {integrity: sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
-
- '@babel/plugin-transform-reserved-words@7.27.1':
- resolution: {integrity: sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
'@babel/plugin-transform-shorthand-properties@7.27.1':
resolution: {integrity: sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==}
engines: {node: '>=6.9.0'}
@@ -866,101 +625,87 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-sticky-regex@7.27.1':
- resolution: {integrity: sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
'@babel/plugin-transform-template-literals@7.27.1':
resolution: {integrity: sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-typeof-symbol@7.27.1':
- resolution: {integrity: sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-transform-unicode-escapes@7.27.1':
- resolution: {integrity: sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-transform-unicode-property-regex@7.27.1':
- resolution: {integrity: sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-transform-unicode-regex@7.27.1':
- resolution: {integrity: sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-transform-unicode-sets-regex@7.27.1':
- resolution: {integrity: sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
-
- '@babel/preset-env@7.28.3':
- resolution: {integrity: sha512-ROiDcM+GbYVPYBOeCR6uBXKkQpBExLl8k9HO1ygXEyds39j+vCCsjmj7S8GOniZQlEs81QlkdJZe76IpLSiqpg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/preset-modules@0.1.6-no-external-plugins':
- resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==}
- peerDependencies:
- '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
-
- '@babel/runtime@7.28.4':
- resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==}
+ '@babel/runtime@7.29.2':
+ resolution: {integrity: sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==}
engines: {node: '>=6.9.0'}
- '@babel/template@7.27.2':
- resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==}
+ '@babel/template@7.28.6':
+ resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==}
engines: {node: '>=6.9.0'}
- '@babel/traverse@7.28.4':
- resolution: {integrity: sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==}
+ '@babel/traverse@7.29.0':
+ resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==}
engines: {node: '>=6.9.0'}
- '@babel/types@7.28.4':
- resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==}
+ '@babel/types@7.29.0':
+ resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==}
engines: {node: '>=6.9.0'}
+ '@blaineam/videojs-vr@3.1.1':
+ resolution: {integrity: sha512-3W69DgimXeU9RPa7l4x8+37GExWn/OlOVP+1QrrQ4R7yuqCuDD3slKPTNEFzITyHXN8XpVdEAwdH3oFeElYg+g==}
+
+ '@cacheable/memory@2.0.8':
+ resolution: {integrity: sha512-FvEb29x5wVwu/Kf93IWwsOOEuhHh6dYCJF3vcKLzXc0KXIW181AOzv6ceT4ZpBHDvAfG60eqb+ekmrnLHIy+jw==}
+
+ '@cacheable/utils@2.4.1':
+ resolution: {integrity: sha512-eiFgzCbIneyMlLOmNG4g9xzF7Hv3Mga4LjxjcSC/ues6VYq2+gUbQI8JqNuw/ZM8tJIeIaBGpswAsqV2V7ApgA==}
+
'@cspotcode/source-map-support@0.8.1':
resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
engines: {node: '>=12'}
- '@csstools/css-parser-algorithms@2.7.1':
- resolution: {integrity: sha512-2SJS42gxmACHgikc1WGesXLIT8d/q2l0UFM7TaEeIzdFCE/FPMtTiizcPGGJtlPo2xuQzY09OhrLTzRxqJqwGw==}
- engines: {node: ^14 || ^16 || >=18}
+ '@csstools/css-calc@3.1.1':
+ resolution: {integrity: sha512-HJ26Z/vmsZQqs/o3a6bgKslXGFAungXGbinULZO3eMsOyNJHeBBZfup5FiZInOghgoM4Hwnmw+OgbJCNg1wwUQ==}
+ engines: {node: '>=20.19.0'}
peerDependencies:
- '@csstools/css-tokenizer': ^2.4.1
+ '@csstools/css-parser-algorithms': ^4.0.0
+ '@csstools/css-tokenizer': ^4.0.0
- '@csstools/css-tokenizer@2.4.1':
- resolution: {integrity: sha512-eQ9DIktFJBhGjioABJRtUucoWR2mwllurfnM8LuNGAqX3ViZXaUchqk+1s7jjtkFiT9ySdACsFEA3etErkALUg==}
- engines: {node: ^14 || ^16 || >=18}
-
- '@csstools/media-query-list-parser@2.1.13':
- resolution: {integrity: sha512-XaHr+16KRU9Gf8XLi3q8kDlI18d5vzKSKCY510Vrtc9iNR0NJzbY9hhTmwhzYZj/ZwGL4VmB3TA9hJW0Um2qFA==}
- engines: {node: ^14 || ^16 || >=18}
+ '@csstools/css-parser-algorithms@4.0.0':
+ resolution: {integrity: sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==}
+ engines: {node: '>=20.19.0'}
peerDependencies:
- '@csstools/css-parser-algorithms': ^2.7.1
- '@csstools/css-tokenizer': ^2.4.1
+ '@csstools/css-tokenizer': ^4.0.0
- '@csstools/selector-specificity@3.1.1':
- resolution: {integrity: sha512-a7cxGcJ2wIlMFLlh8z2ONm+715QkPHiyJcxwQlKOz/03GPw1COpfhcmC9wm4xlZfp//jWHNNMwzjtqHXVWU9KA==}
- engines: {node: ^14 || ^16 || >=18}
+ '@csstools/css-syntax-patches-for-csstree@1.1.2':
+ resolution: {integrity: sha512-5GkLzz4prTIpoyeUiIu3iV6CSG3Plo7xRVOFPKI7FVEJ3mZ0A8SwK0XU3Gl7xAkiQ+mDyam+NNp875/C5y+jSA==}
peerDependencies:
- postcss-selector-parser: ^6.0.13
+ css-tree: ^3.2.1
+ peerDependenciesMeta:
+ css-tree:
+ optional: true
+
+ '@csstools/css-tokenizer@4.0.0':
+ resolution: {integrity: sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==}
+ engines: {node: '>=20.19.0'}
+
+ '@csstools/media-query-list-parser@5.0.0':
+ resolution: {integrity: sha512-T9lXmZOfnam3eMERPsszjY5NK0jX8RmThmmm99FZ8b7z8yMaFZWKwLWGZuTwdO3ddRY5fy13GmmEYZXB4I98Eg==}
+ engines: {node: '>=20.19.0'}
+ peerDependencies:
+ '@csstools/css-parser-algorithms': ^4.0.0
+ '@csstools/css-tokenizer': ^4.0.0
+
+ '@csstools/selector-resolve-nested@4.0.0':
+ resolution: {integrity: sha512-9vAPxmp+Dx3wQBIUwc1v7Mdisw1kbbaGqXUM8QLTgWg7SoPGYtXBsMXvsFs/0Bn5yoFhcktzxNZGNaUt0VjgjA==}
+ engines: {node: '>=20.19.0'}
+ peerDependencies:
+ postcss-selector-parser: ^7.1.1
+
+ '@csstools/selector-specificity@6.0.0':
+ resolution: {integrity: sha512-4sSgl78OtOXEX/2d++8A83zHNTgwCJMaR24FvsYL7Uf/VS8HZk9PTwR51elTbGqMuwH3szLvvOXEaVnqn0Z3zA==}
+ engines: {node: '>=20.19.0'}
+ peerDependencies:
+ postcss-selector-parser: ^7.1.1
+
+ '@dimforge/rapier3d-compat@0.12.0':
+ resolution: {integrity: sha512-uekIGetywIgopfD97oDL5PfeezkFpNhwlzlaEYNOA0N6ghdsOvh/HYjSMek5Q2O1PYvRSDFcqFVJl4r4ZBwOow==}
'@emotion/babel-plugin@11.13.5':
resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==}
@@ -1015,152 +760,170 @@ packages:
resolution: {integrity: sha512-CsFmA3u3c2QoLDTfEpGr4t25fjMU31nyvse7IzWTvb0ZycuPjMjb0fjlheh+PbhBYb9YLugnT2uY6Mwcg1o+Zg==}
engines: {node: '>=18.0.0'}
- '@esbuild/aix-ppc64@0.21.5':
- resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
- engines: {node: '>=12'}
+ '@esbuild/aix-ppc64@0.27.7':
+ resolution: {integrity: sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==}
+ engines: {node: '>=18'}
cpu: [ppc64]
os: [aix]
- '@esbuild/android-arm64@0.21.5':
- resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
- engines: {node: '>=12'}
+ '@esbuild/android-arm64@0.27.7':
+ resolution: {integrity: sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==}
+ engines: {node: '>=18'}
cpu: [arm64]
os: [android]
- '@esbuild/android-arm@0.21.5':
- resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
- engines: {node: '>=12'}
+ '@esbuild/android-arm@0.27.7':
+ resolution: {integrity: sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==}
+ engines: {node: '>=18'}
cpu: [arm]
os: [android]
- '@esbuild/android-x64@0.21.5':
- resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
- engines: {node: '>=12'}
+ '@esbuild/android-x64@0.27.7':
+ resolution: {integrity: sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==}
+ engines: {node: '>=18'}
cpu: [x64]
os: [android]
- '@esbuild/darwin-arm64@0.21.5':
- resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
- engines: {node: '>=12'}
+ '@esbuild/darwin-arm64@0.27.7':
+ resolution: {integrity: sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==}
+ engines: {node: '>=18'}
cpu: [arm64]
os: [darwin]
- '@esbuild/darwin-x64@0.21.5':
- resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
- engines: {node: '>=12'}
+ '@esbuild/darwin-x64@0.27.7':
+ resolution: {integrity: sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==}
+ engines: {node: '>=18'}
cpu: [x64]
os: [darwin]
- '@esbuild/freebsd-arm64@0.21.5':
- resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
- engines: {node: '>=12'}
+ '@esbuild/freebsd-arm64@0.27.7':
+ resolution: {integrity: sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==}
+ engines: {node: '>=18'}
cpu: [arm64]
os: [freebsd]
- '@esbuild/freebsd-x64@0.21.5':
- resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
- engines: {node: '>=12'}
+ '@esbuild/freebsd-x64@0.27.7':
+ resolution: {integrity: sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==}
+ engines: {node: '>=18'}
cpu: [x64]
os: [freebsd]
- '@esbuild/linux-arm64@0.21.5':
- resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
- engines: {node: '>=12'}
+ '@esbuild/linux-arm64@0.27.7':
+ resolution: {integrity: sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==}
+ engines: {node: '>=18'}
cpu: [arm64]
os: [linux]
- '@esbuild/linux-arm@0.21.5':
- resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
- engines: {node: '>=12'}
+ '@esbuild/linux-arm@0.27.7':
+ resolution: {integrity: sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==}
+ engines: {node: '>=18'}
cpu: [arm]
os: [linux]
- '@esbuild/linux-ia32@0.21.5':
- resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
- engines: {node: '>=12'}
+ '@esbuild/linux-ia32@0.27.7':
+ resolution: {integrity: sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==}
+ engines: {node: '>=18'}
cpu: [ia32]
os: [linux]
- '@esbuild/linux-loong64@0.21.5':
- resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
- engines: {node: '>=12'}
+ '@esbuild/linux-loong64@0.27.7':
+ resolution: {integrity: sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==}
+ engines: {node: '>=18'}
cpu: [loong64]
os: [linux]
- '@esbuild/linux-mips64el@0.21.5':
- resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
- engines: {node: '>=12'}
+ '@esbuild/linux-mips64el@0.27.7':
+ resolution: {integrity: sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==}
+ engines: {node: '>=18'}
cpu: [mips64el]
os: [linux]
- '@esbuild/linux-ppc64@0.21.5':
- resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
- engines: {node: '>=12'}
+ '@esbuild/linux-ppc64@0.27.7':
+ resolution: {integrity: sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==}
+ engines: {node: '>=18'}
cpu: [ppc64]
os: [linux]
- '@esbuild/linux-riscv64@0.21.5':
- resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
- engines: {node: '>=12'}
+ '@esbuild/linux-riscv64@0.27.7':
+ resolution: {integrity: sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==}
+ engines: {node: '>=18'}
cpu: [riscv64]
os: [linux]
- '@esbuild/linux-s390x@0.21.5':
- resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
- engines: {node: '>=12'}
+ '@esbuild/linux-s390x@0.27.7':
+ resolution: {integrity: sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==}
+ engines: {node: '>=18'}
cpu: [s390x]
os: [linux]
- '@esbuild/linux-x64@0.21.5':
- resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
- engines: {node: '>=12'}
+ '@esbuild/linux-x64@0.27.7':
+ resolution: {integrity: sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==}
+ engines: {node: '>=18'}
cpu: [x64]
os: [linux]
- '@esbuild/netbsd-x64@0.21.5':
- resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
- engines: {node: '>=12'}
+ '@esbuild/netbsd-arm64@0.27.7':
+ resolution: {integrity: sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [netbsd]
+
+ '@esbuild/netbsd-x64@0.27.7':
+ resolution: {integrity: sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==}
+ engines: {node: '>=18'}
cpu: [x64]
os: [netbsd]
- '@esbuild/openbsd-x64@0.21.5':
- resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
- engines: {node: '>=12'}
+ '@esbuild/openbsd-arm64@0.27.7':
+ resolution: {integrity: sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openbsd]
+
+ '@esbuild/openbsd-x64@0.27.7':
+ resolution: {integrity: sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==}
+ engines: {node: '>=18'}
cpu: [x64]
os: [openbsd]
- '@esbuild/sunos-x64@0.21.5':
- resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
- engines: {node: '>=12'}
+ '@esbuild/openharmony-arm64@0.27.7':
+ resolution: {integrity: sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@esbuild/sunos-x64@0.27.7':
+ resolution: {integrity: sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==}
+ engines: {node: '>=18'}
cpu: [x64]
os: [sunos]
- '@esbuild/win32-arm64@0.21.5':
- resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
- engines: {node: '>=12'}
+ '@esbuild/win32-arm64@0.27.7':
+ resolution: {integrity: sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==}
+ engines: {node: '>=18'}
cpu: [arm64]
os: [win32]
- '@esbuild/win32-ia32@0.21.5':
- resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
- engines: {node: '>=12'}
+ '@esbuild/win32-ia32@0.27.7':
+ resolution: {integrity: sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==}
+ engines: {node: '>=18'}
cpu: [ia32]
os: [win32]
- '@esbuild/win32-x64@0.21.5':
- resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
- engines: {node: '>=12'}
+ '@esbuild/win32-x64@0.27.7':
+ resolution: {integrity: sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==}
+ engines: {node: '>=18'}
cpu: [x64]
os: [win32]
- '@eslint-community/eslint-utils@4.9.0':
- resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==}
+ '@eslint-community/eslint-utils@4.9.1':
+ resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
- '@eslint-community/regexpp@4.12.1':
- resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
+ '@eslint-community/regexpp@4.12.2':
+ resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
'@eslint/eslintrc@2.1.4':
@@ -1183,8 +946,8 @@ packages:
'@floating-ui/utils@0.2.10':
resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==}
- '@formatjs/ecma402-abstract@1.18.3':
- resolution: {integrity: sha512-J961RbhyjHWeCIv+iOceNxpoZ/qomJOs5lH+rUJCeKNa59gME4KC0LJVMeWODjHsnv/hTH8Hvd6sevzcAzjuaQ==}
+ '@formatjs/bigdecimal@0.2.0':
+ resolution: {integrity: sha512-GeaxHZbUoYvHL9tC5eltHLs+1zU70aPw0s7LwqgktIzF5oMhNY4o4deEtusJMsq7WFJF3Ye2zQEzdG8beVk73w==}
'@formatjs/ecma402-abstract@1.4.0':
resolution: {integrity: sha512-Mv027hcLFjE45K8UJ8PjRpdDGfR0aManEFj1KzoN8zXNveHGEygpZGfFf/FTTMl+QEVSrPAUlyxaCApvmv47AQ==}
@@ -1198,12 +961,18 @@ packages:
'@formatjs/ecma402-abstract@2.3.6':
resolution: {integrity: sha512-HJnTFeRM2kVFVr5gr5kH1XP6K0JcJtE7Lzvtr3FS/so5f1kpsqqqxy5JF+FRaO6H2qmcMfAUIox7AJteieRtVw==}
+ '@formatjs/ecma402-abstract@3.2.0':
+ resolution: {integrity: sha512-dHnqHgBo6GXYGRsepaE1wmsC2etaivOWd5VaJstZd+HI2zR3DCUjbDVZRtoPGkkXZmyHvBwrdEUuqfvzhF/DtQ==}
+
'@formatjs/fast-memoize@2.2.3':
resolution: {integrity: sha512-3jeJ+HyOfu8osl3GNSL4vVHUuWFXR03Iz9jjgI7RwjG6ysu/Ymdr0JRCPHfF5yGbTE6JCrd63EpvX1/WybYRbA==}
'@formatjs/fast-memoize@2.2.7':
resolution: {integrity: sha512-Yabmi9nSvyOMrlSeGGWDiH7rf3a7sIwplbvo/dlz9WCIjzIQAfy1RMf4S0X3yG724n5Ghu2GmEl5NJIV6O9sZQ==}
+ '@formatjs/fast-memoize@3.1.1':
+ resolution: {integrity: sha512-CbNbf+tlJn1baRnPkNePnBqTLxGliG6DDgNa/UtV66abwIjwsliPMOt0172tzxABYzSuxZBZfcp//qI8AvBWPg==}
+
'@formatjs/icu-messageformat-parser@2.9.4':
resolution: {integrity: sha512-Tbvp5a9IWuxUcpWNIW6GlMQYEc4rwNHR259uUFoKWNN1jM9obf9Ul0e+7r7MvFOBNcN+13K7NuKCKqQiAn1QEg==}
@@ -1213,24 +982,14 @@ packages:
'@formatjs/intl-displaynames@6.8.5':
resolution: {integrity: sha512-85b+GdAKCsleS6cqVxf/Aw/uBd+20EM0wDpgaxzHo3RIR3bxF4xCJqH/Grbzx8CXurTgDDZHPdPdwJC+May41w==}
- '@formatjs/intl-enumerator@1.4.6':
- resolution: {integrity: sha512-O2YMcE3SuBy4jL8r6YNq/8hvFrQ92QGLawdmzFbOi8D1r3VOfEMr8ifnOMp3zt8XemfTLrma+aF6yRCVeEbVLw==}
- deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
-
- '@formatjs/intl-getcanonicallocales@2.3.0':
- resolution: {integrity: sha512-BOXbLwqQ7nKua/l7tKqDLRN84WupDXFDhGJQMFvsMVA2dKuOdRaWTxWpL3cJ7qPkoNw11Jf+Xpj4OSPBBvW0eQ==}
-
- '@formatjs/intl-getcanonicallocales@2.5.6':
- resolution: {integrity: sha512-CnBbc4St61RL06gDXlCZG08Gt41uiySgsdZNBExh8/c0FBONJCrAlQ9FsyalUdq9ze0nCeknJtMmO8JnB9xHgQ==}
+ '@formatjs/intl-getcanonicallocales@3.2.2':
+ resolution: {integrity: sha512-pjF2zC26yXXLv9FlPes6zzOme9MwgqyeWYu8r5bP7qEdoDcaGsuQO3mk6pQb57t9bxdbIwrAhZFy0hH760SeWw==}
'@formatjs/intl-listformat@7.7.5':
resolution: {integrity: sha512-Wzes10SMNeYgnxYiKsda4rnHP3Q3II4XT2tZyOgnH5fWuHDtIkceuWlRQNsvrI3uiwP4hLqp2XdQTCsfkhXulg==}
- '@formatjs/intl-locale@3.4.6':
- resolution: {integrity: sha512-2TI0sBmIBhtM/BI/ePWuQhoqmMWveeKF4bUphs9YLHmFf4XmmlpWKzbPV8jR/fTK/KFidEuZsF+IgbOAL/OVGQ==}
-
- '@formatjs/intl-localematcher@0.5.4':
- resolution: {integrity: sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==}
+ '@formatjs/intl-locale@5.3.1':
+ resolution: {integrity: sha512-txs0HyscmgtmSzrQFzsrM6iYajsAuonoRtuackvAlmW9VX6H4FTL4TzEJoL/Qn6FFAXaQ+wxB5YqlNFR1PtlbQ==}
'@formatjs/intl-localematcher@0.5.8':
resolution: {integrity: sha512-I+WDNWWJFZie+jkfkiK5Mp4hEDyRSEvmyfYadflOno/mmKJKcB17fEpEH0oJu/OWhhCJ8kJBDz2YMd/6cDl7Mg==}
@@ -1238,14 +997,20 @@ packages:
'@formatjs/intl-localematcher@0.6.2':
resolution: {integrity: sha512-XOMO2Hupl0wdd172Y06h6kLpBz6Dv+J4okPLl4LPtzbr8f66WbIoy4ev98EBuZ6ZK4h5ydTN6XneT4QVpD7cdA==}
+ '@formatjs/intl-localematcher@0.8.2':
+ resolution: {integrity: sha512-q05KMYGJLyqFNFtIb8NhWLF5X3aK/k0wYt7dnRFuy6aLQL+vUwQ1cg5cO4qawEiINybeCPXAWlprY2mSBjSXAQ==}
+
'@formatjs/intl-numberformat@5.7.6':
resolution: {integrity: sha512-ZlZfYtvbVHYZY5OG3RXizoCwxKxEKOrzEe2YOw9wbzoxF3PmFn0SAgojCFGLyNXkkR6xVxlylhbuOPf1dkIVNg==}
'@formatjs/intl-numberformat@8.15.6':
resolution: {integrity: sha512-htynTNKm5WOnbR521tNSMkWzX3yO6Z77qjOxvRujh5/A/UBKeoNElyuKCJltizdx3X33QNWQZC4aWjLKcccyeQ==}
- '@formatjs/intl-pluralrules@5.4.6':
- resolution: {integrity: sha512-2HlOq+c7KsSps829SJ3B5987coX5mzKx9NbPcNwQ07eq8FBHgB3HfMoxt5HvLsdk4oQwCjAEnocbtd+wVwZ2Kg==}
+ '@formatjs/intl-pluralrules@6.3.1':
+ resolution: {integrity: sha512-2sn5PxsN1X0NfHlXSPfVZ5Kh5K0sMgdlgij9B5R2BZqSNbwW5eLtQ9V4xHSjwkiBauMFM75xyqt+MsVtptjwtA==}
+
+ '@formatjs/intl-supportedvaluesof@2.3.0':
+ resolution: {integrity: sha512-Fjw2ur3N+GrMLxjT6jLPCuAKFRNcWB1GDHB77pN8Lktx2z7MHJnlCA8q4NEZbJsDdVDsCeaesudHBe6el3khkg==}
'@formatjs/intl@2.10.15':
resolution: {integrity: sha512-i6+xVqT+6KCz7nBfk4ybMXmbKO36tKvbMKtgFz9KV+8idYFyFbfwKooYk8kGjyA5+T5f1kEPQM5IDLXucTAQ9g==}
@@ -1263,24 +1028,24 @@ packages:
ts-jest:
optional: true
- '@fortawesome/fontawesome-common-types@7.1.0':
- resolution: {integrity: sha512-l/BQM7fYntsCI//du+6sEnHOP6a74UixFyOYUyz2DLMXKx+6DEhfR3F2NYGE45XH1JJuIamacb4IZs9S0ZOWLA==}
+ '@fortawesome/fontawesome-common-types@7.2.0':
+ resolution: {integrity: sha512-IpR0bER9FY25p+e7BmFH25MZKEwFHTfRAfhOyJubgiDnoJNsSvJ7nigLraHtp4VOG/cy8D7uiV0dLkHOne5Fhw==}
engines: {node: '>=6'}
- '@fortawesome/fontawesome-svg-core@7.1.0':
- resolution: {integrity: sha512-fNxRUk1KhjSbnbuBxlWSnBLKLBNun52ZBTcs22H/xEEzM6Ap81ZFTQ4bZBxVQGQgVY0xugKGoRcCbaKjLQ3XZA==}
+ '@fortawesome/fontawesome-svg-core@7.2.0':
+ resolution: {integrity: sha512-6639htZMjEkwskf3J+e6/iar+4cTNM9qhoWuRfj9F3eJD6r7iCzV1SWnQr2Mdv0QT0suuqU8BoJCZUyCtP9R4Q==}
engines: {node: '>=6'}
- '@fortawesome/free-brands-svg-icons@7.1.0':
- resolution: {integrity: sha512-9byUd9bgNfthsZAjBl6GxOu1VPHgBuRUP9juI7ZoM98h8xNPTCTagfwUFyYscdZq4Hr7gD1azMfM9s5tIWKZZA==}
+ '@fortawesome/free-brands-svg-icons@7.2.0':
+ resolution: {integrity: sha512-VNG8xqOip1JuJcC3zsVsKRQ60oXG9+oYNDCosjoU/H9pgYmLTEwWw8pE0jhPz/JWdHeUuK6+NQ3qsM4gIbdbYQ==}
engines: {node: '>=6'}
- '@fortawesome/free-regular-svg-icons@7.1.0':
- resolution: {integrity: sha512-0e2fdEyB4AR+e6kU4yxwA/MonnYcw/CsMEP9lH82ORFi9svA6/RhDyhxIv5mlJaldmaHLLYVTb+3iEr+PDSZuQ==}
+ '@fortawesome/free-regular-svg-icons@7.2.0':
+ resolution: {integrity: sha512-iycmlN51EULlQ4D/UU9WZnHiN0CvjJ2TuuCrAh+1MVdzD+4ViKYH2deNAll4XAAYlZa8WAefHR5taSK8hYmSMw==}
engines: {node: '>=6'}
- '@fortawesome/free-solid-svg-icons@7.1.0':
- resolution: {integrity: sha512-Udu3K7SzAo9N013qt7qmm22/wo2hADdheXtBfxFTecp+ogsc0caQNRKEb7pkvvagUGOpG9wJC1ViH6WXs8oXIA==}
+ '@fortawesome/free-solid-svg-icons@7.2.0':
+ resolution: {integrity: sha512-YTVITFGN0/24PxzXrwqCgnyd7njDuzp5ZvaCx5nq/jg55kUYd94Nj8UTchBdBofi/L0nwRfjGOg0E41d2u9T1w==}
engines: {node: '>=6'}
'@fortawesome/react-fontawesome@0.2.6':
@@ -1615,6 +1380,15 @@ packages:
'@juggle/resize-observer@3.4.0':
resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==}
+ '@keyv/bigmap@1.3.1':
+ resolution: {integrity: sha512-WbzE9sdmQtKy8vrNPa9BRnwZh5UF4s1KTmSK0KUVLo3eff5BlQNNWDnFOouNpKfPKDnms9xynJjsMYjMaT/aFQ==}
+ engines: {node: '>= 18'}
+ peerDependencies:
+ keyv: ^5.6.0
+
+ '@keyv/serialize@1.1.1':
+ resolution: {integrity: sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==}
+
'@mapbox/hast-util-table-cell-style@0.2.1':
resolution: {integrity: sha512-LyQz4XJIdCdY/+temIhD/Ed0x/p4GAOUycpFSEK2Ads1CPKZy6b7V/2ROEtQiLLQ8soIs0xe/QAoR6kwpyW/yw==}
engines: {node: '>=12'}
@@ -1750,127 +1524,144 @@ packages:
peerDependencies:
react: '>=16.8.0'
- '@rolldown/pluginutils@1.0.0-beta.43':
- resolution: {integrity: sha512-5Uxg7fQUCmfhax7FJke2+8B6cqgeUJUD9o2uXIKXhD+mG0mL6NObmVoi9wXEU1tY89mZKgAYA6fTbftx3q2ZPQ==}
+ '@rolldown/pluginutils@1.0.0-rc.3':
+ resolution: {integrity: sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q==}
- '@rollup/rollup-android-arm-eabi@4.53.1':
- resolution: {integrity: sha512-bxZtughE4VNVJlL1RdoSE545kc4JxL7op57KKoi59/gwuU5rV6jLWFXXc8jwgFoT6vtj+ZjO+Z2C5nrY0Cl6wA==}
+ '@rollup/rollup-android-arm-eabi@4.60.2':
+ resolution: {integrity: sha512-dnlp69efPPg6Uaw2dVqzWRfAWRnYVb1XJ8CyyhIbZeaq4CA5/mLeZ1IEt9QqQxmbdvagjLIm2ZL8BxXv5lH4Yw==}
cpu: [arm]
os: [android]
- '@rollup/rollup-android-arm64@4.53.1':
- resolution: {integrity: sha512-44a1hreb02cAAfAKmZfXVercPFaDjqXCK+iKeVOlJ9ltvnO6QqsBHgKVPTu+MJHSLLeMEUbeG2qiDYgbFPU48g==}
+ '@rollup/rollup-android-arm64@4.60.2':
+ resolution: {integrity: sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==}
cpu: [arm64]
os: [android]
- '@rollup/rollup-darwin-arm64@4.53.1':
- resolution: {integrity: sha512-usmzIgD0rf1syoOZ2WZvy8YpXK5G1V3btm3QZddoGSa6mOgfXWkkv+642bfUUldomgrbiLQGrPryb7DXLovPWQ==}
+ '@rollup/rollup-darwin-arm64@4.60.2':
+ resolution: {integrity: sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==}
cpu: [arm64]
os: [darwin]
- '@rollup/rollup-darwin-x64@4.53.1':
- resolution: {integrity: sha512-is3r/k4vig2Gt8mKtTlzzyaSQ+hd87kDxiN3uDSDwggJLUV56Umli6OoL+/YZa/KvtdrdyNfMKHzL/P4siOOmg==}
+ '@rollup/rollup-darwin-x64@4.60.2':
+ resolution: {integrity: sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==}
cpu: [x64]
os: [darwin]
- '@rollup/rollup-freebsd-arm64@4.53.1':
- resolution: {integrity: sha512-QJ1ksgp/bDJkZB4daldVmHaEQkG4r8PUXitCOC2WRmRaSaHx5RwPoI3DHVfXKwDkB+Sk6auFI/+JHacTekPRSw==}
+ '@rollup/rollup-freebsd-arm64@4.60.2':
+ resolution: {integrity: sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==}
cpu: [arm64]
os: [freebsd]
- '@rollup/rollup-freebsd-x64@4.53.1':
- resolution: {integrity: sha512-J6ma5xgAzvqsnU6a0+jgGX/gvoGokqpkx6zY4cWizRrm0ffhHDpJKQgC8dtDb3+MqfZDIqs64REbfHDMzxLMqQ==}
+ '@rollup/rollup-freebsd-x64@4.60.2':
+ resolution: {integrity: sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==}
cpu: [x64]
os: [freebsd]
- '@rollup/rollup-linux-arm-gnueabihf@4.53.1':
- resolution: {integrity: sha512-JzWRR41o2U3/KMNKRuZNsDUAcAVUYhsPuMlx5RUldw0E4lvSIXFUwejtYz1HJXohUmqs/M6BBJAUBzKXZVddbg==}
+ '@rollup/rollup-linux-arm-gnueabihf@4.60.2':
+ resolution: {integrity: sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==}
cpu: [arm]
os: [linux]
libc: [glibc]
- '@rollup/rollup-linux-arm-musleabihf@4.53.1':
- resolution: {integrity: sha512-L8kRIrnfMrEoHLHtHn+4uYA52fiLDEDyezgxZtGUTiII/yb04Krq+vk3P2Try+Vya9LeCE9ZHU8CXD6J9EhzHQ==}
+ '@rollup/rollup-linux-arm-musleabihf@4.60.2':
+ resolution: {integrity: sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==}
cpu: [arm]
os: [linux]
libc: [musl]
- '@rollup/rollup-linux-arm64-gnu@4.53.1':
- resolution: {integrity: sha512-ysAc0MFRV+WtQ8li8hi3EoFi7us6d1UzaS/+Dp7FYZfg3NdDljGMoVyiIp6Ucz7uhlYDBZ/zt6XI0YEZbUO11Q==}
+ '@rollup/rollup-linux-arm64-gnu@4.60.2':
+ resolution: {integrity: sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==}
cpu: [arm64]
os: [linux]
libc: [glibc]
- '@rollup/rollup-linux-arm64-musl@4.53.1':
- resolution: {integrity: sha512-UV6l9MJpDbDZZ/fJvqNcvO1PcivGEf1AvKuTcHoLjVZVFeAMygnamCTDikCVMRnA+qJe+B3pSbgX2+lBMqgBhA==}
+ '@rollup/rollup-linux-arm64-musl@4.60.2':
+ resolution: {integrity: sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@rollup/rollup-linux-loong64-gnu@4.53.1':
- resolution: {integrity: sha512-UDUtelEprkA85g95Q+nj3Xf0M4hHa4DiJ+3P3h4BuGliY4NReYYqwlc0Y8ICLjN4+uIgCEvaygYlpf0hUj90Yg==}
+ '@rollup/rollup-linux-loong64-gnu@4.60.2':
+ resolution: {integrity: sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==}
cpu: [loong64]
os: [linux]
libc: [glibc]
- '@rollup/rollup-linux-ppc64-gnu@4.53.1':
- resolution: {integrity: sha512-vrRn+BYhEtNOte/zbc2wAUQReJXxEx2URfTol6OEfY2zFEUK92pkFBSXRylDM7aHi+YqEPJt9/ABYzmcrS4SgQ==}
+ '@rollup/rollup-linux-loong64-musl@4.60.2':
+ resolution: {integrity: sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==}
+ cpu: [loong64]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-linux-ppc64-gnu@4.60.2':
+ resolution: {integrity: sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==}
cpu: [ppc64]
os: [linux]
libc: [glibc]
- '@rollup/rollup-linux-riscv64-gnu@4.53.1':
- resolution: {integrity: sha512-gto/1CxHyi4A7YqZZNznQYrVlPSaodOBPKM+6xcDSCMVZN/Fzb4K+AIkNz/1yAYz9h3Ng+e2fY9H6bgawVq17w==}
+ '@rollup/rollup-linux-ppc64-musl@4.60.2':
+ resolution: {integrity: sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-linux-riscv64-gnu@4.60.2':
+ resolution: {integrity: sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==}
cpu: [riscv64]
os: [linux]
libc: [glibc]
- '@rollup/rollup-linux-riscv64-musl@4.53.1':
- resolution: {integrity: sha512-KZ6Vx7jAw3aLNjFR8eYVcQVdFa/cvBzDNRFM3z7XhNNunWjA03eUrEwJYPk0G8V7Gs08IThFKcAPS4WY/ybIrQ==}
+ '@rollup/rollup-linux-riscv64-musl@4.60.2':
+ resolution: {integrity: sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==}
cpu: [riscv64]
os: [linux]
libc: [musl]
- '@rollup/rollup-linux-s390x-gnu@4.53.1':
- resolution: {integrity: sha512-HvEixy2s/rWNgpwyKpXJcHmE7om1M89hxBTBi9Fs6zVuLU4gOrEMQNbNsN/tBVIMbLyysz/iwNiGtMOpLAOlvA==}
+ '@rollup/rollup-linux-s390x-gnu@4.60.2':
+ resolution: {integrity: sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==}
cpu: [s390x]
os: [linux]
libc: [glibc]
- '@rollup/rollup-linux-x64-gnu@4.53.1':
- resolution: {integrity: sha512-E/n8x2MSjAQgjj9IixO4UeEUeqXLtiA7pyoXCFYLuXpBA/t2hnbIdxHfA7kK9BFsYAoNU4st1rHYdldl8dTqGA==}
+ '@rollup/rollup-linux-x64-gnu@4.60.2':
+ resolution: {integrity: sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==}
cpu: [x64]
os: [linux]
libc: [glibc]
- '@rollup/rollup-linux-x64-musl@4.53.1':
- resolution: {integrity: sha512-IhJ087PbLOQXCN6Ui/3FUkI9pWNZe/Z7rEIVOzMsOs1/HSAECCvSZ7PkIbkNqL/AZn6WbZvnoVZw/qwqYMo4/w==}
+ '@rollup/rollup-linux-x64-musl@4.60.2':
+ resolution: {integrity: sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==}
cpu: [x64]
os: [linux]
libc: [musl]
- '@rollup/rollup-openharmony-arm64@4.53.1':
- resolution: {integrity: sha512-0++oPNgLJHBblreu0SFM7b3mAsBJBTY0Ksrmu9N6ZVrPiTkRgda52mWR7TKhHAsUb9noCjFvAw9l6ZO1yzaVbA==}
+ '@rollup/rollup-openbsd-x64@4.60.2':
+ resolution: {integrity: sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==}
+ cpu: [x64]
+ os: [openbsd]
+
+ '@rollup/rollup-openharmony-arm64@4.60.2':
+ resolution: {integrity: sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==}
cpu: [arm64]
os: [openharmony]
- '@rollup/rollup-win32-arm64-msvc@4.53.1':
- resolution: {integrity: sha512-VJXivz61c5uVdbmitLkDlbcTk9Or43YC2QVLRkqp86QoeFSqI81bNgjhttqhKNMKnQMWnecOCm7lZz4s+WLGpQ==}
+ '@rollup/rollup-win32-arm64-msvc@4.60.2':
+ resolution: {integrity: sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==}
cpu: [arm64]
os: [win32]
- '@rollup/rollup-win32-ia32-msvc@4.53.1':
- resolution: {integrity: sha512-NmZPVTUOitCXUH6erJDzTQ/jotYw4CnkMDjCYRxNHVD9bNyfrGoIse684F9okwzKCV4AIHRbUkeTBc9F2OOH5Q==}
+ '@rollup/rollup-win32-ia32-msvc@4.60.2':
+ resolution: {integrity: sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==}
cpu: [ia32]
os: [win32]
- '@rollup/rollup-win32-x64-gnu@4.53.1':
- resolution: {integrity: sha512-2SNj7COIdAf6yliSpLdLG8BEsp5lgzRehgfkP0Av8zKfQFKku6JcvbobvHASPJu4f3BFxej5g+HuQPvqPhHvpQ==}
+ '@rollup/rollup-win32-x64-gnu@4.60.2':
+ resolution: {integrity: sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==}
cpu: [x64]
os: [win32]
- '@rollup/rollup-win32-x64-msvc@4.53.1':
- resolution: {integrity: sha512-rLarc1Ofcs3DHtgSzFO31pZsCh8g05R2azN1q3fF+H423Co87My0R+tazOEvYVKXSLh8C4LerMK41/K7wlklcg==}
+ '@rollup/rollup-win32-x64-msvc@4.60.2':
+ resolution: {integrity: sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==}
cpu: [x64]
os: [win32]
@@ -1887,6 +1678,10 @@ packages:
peerDependencies:
video.js: '>= 6 < 9'
+ '@sindresorhus/merge-streams@4.0.0':
+ resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==}
+ engines: {node: '>=18'}
+
'@theguild/federation-composition@0.20.1':
resolution: {integrity: sha512-lwYYKCeHmstOtbMtzxC0BQKWsUPYbEVRVdJ3EqR4jSpcF4gvNf3MOJv6yuvq6QsKqgYZURKRBszmg7VEDoi5Aw==}
engines: {node: '>=18'}
@@ -1905,8 +1700,8 @@ packages:
'@tsconfig/node16@1.0.4':
resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==}
- '@tweenjs/tween.js@18.6.4':
- resolution: {integrity: sha512-lB9lMjuqjtuJrx7/kOkqQBtllspPIN+96OvTCeJ2j5FEzinoAXTdAMFnDAQT1KVPRlnYfBrqxtqP66vDM40xxQ==}
+ '@tweenjs/tween.js@23.1.3':
+ resolution: {integrity: sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==}
'@types/apollo-upload-client@18.0.1':
resolution: {integrity: sha512-qumgUkhs9pqJAxlDtzmn3WTrJ9oAHBb6i9A7aR1HQyjLpX9+LRL5V84aErv5ZwcCSR2zEgG8cFsuBVYfZHFSRA==}
@@ -1923,15 +1718,9 @@ packages:
'@types/babel__traverse@7.28.0':
resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==}
- '@types/cookie@0.3.3':
- resolution: {integrity: sha512-LKVP3cgXBT9RYj+t+9FDKwS5tdI+rPBXaNSkma7hvqy35lc7mAokC2zsqWJH0LaqIt3B962nuYI77hsJoT1gow==}
-
'@types/crypto-js@4.2.2':
resolution: {integrity: sha512-sDOLlVbHhXpAUAL0YHDUUwDZf3iN4Bwi4W6a0W0b+QcAezUbRtH4FVb+9J4h+XFPW7l/gQ9F8qC7P+Ec4k8QVQ==}
- '@types/dom-screen-wake-lock@1.0.3':
- resolution: {integrity: sha512-3Iten7X3Zgwvk6kh6/NRdwN7WbZ760YgFCsF5AxDifltUQzW1RaW+WRmcVtgwFzLjaNu64H+0MPJ13yRa8g3Dw==}
-
'@types/estree@1.0.8':
resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
@@ -1976,8 +1765,8 @@ packages:
'@types/mousetrap@1.6.15':
resolution: {integrity: sha512-qL0hyIMNPow317QWW/63RvL1x5MVMV+Ru3NaY9f/CuEpCqrmb7WeuK2071ZY5hczOnm38qExWM2i2WtkXLSqFw==}
- '@types/node@18.19.130':
- resolution: {integrity: sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==}
+ '@types/node@20.19.37':
+ resolution: {integrity: sha512-8kzdPJ3FsNsVIurqBs7oodNnCEVbni9yUEkaHbgptDACOPW04jimGagZ51E6+lXUwJjgnBw+hyko/lkFWCldqw==}
'@types/normalize-package-data@2.4.4':
resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
@@ -2026,14 +1815,11 @@ packages:
resolution: {integrity: sha512-454hrj5gz/FXcUE20ygfEiN4DxZ1sprUo0V1gqIqkNZ/CzoEzAZEll2uxMsuyz6BYjiQan4Aa65xbTemfzW9hQ==}
deprecated: This is a stub types definition. schema-utils provides its own type definitions, so you do not need this installed.
- '@types/semver@7.7.1':
- resolution: {integrity: sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==}
-
'@types/stats.js@0.17.4':
resolution: {integrity: sha512-jIBvWWShCvlBqBNIZt0KAshWpvSjhkwkEu4ZUcASoAvhmrgAUI2t1dXrjSL4xXVLB4FznPrIsX3nKXFl/Dt4vA==}
- '@types/three@0.154.0':
- resolution: {integrity: sha512-IioqpGhch6FdLDh4zazRn3rXHj6Vn2nVOziJdXVbJFi9CaI65LtP9qqUtpzbsHK2Ezlox8NtsLNHSw3AQzucjA==}
+ '@types/three@0.183.1':
+ resolution: {integrity: sha512-f2Pu5Hrepfgavttdye3PsH5RWyY/AvdZQwIVhrc4uNtvF7nOWJacQKcoVJn0S4f0yYbmAE6AR+ve7xDcuYtMGw==}
'@types/ua-parser-js@0.7.39':
resolution: {integrity: sha512-P/oDfpofrdtF5xw433SPALpdSchtJmY7nsJItf8h3KXqOslkbySh8zq4dSWXH2oTjRvJ5PczVEoCZPow6GicLg==}
@@ -2059,63 +1845,63 @@ packages:
'@types/ws@8.18.1':
resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==}
- '@typescript-eslint/eslint-plugin@5.62.0':
- resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@typescript-eslint/eslint-plugin@7.18.0':
+ resolution: {integrity: sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==}
+ engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
- '@typescript-eslint/parser': ^5.0.0
- eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ '@typescript-eslint/parser': ^7.0.0
+ eslint: ^8.56.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
- '@typescript-eslint/parser@5.62.0':
- resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@typescript-eslint/parser@7.18.0':
+ resolution: {integrity: sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==}
+ engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ eslint: ^8.56.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
- '@typescript-eslint/scope-manager@5.62.0':
- resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@typescript-eslint/scope-manager@7.18.0':
+ resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==}
+ engines: {node: ^18.18.0 || >=20.0.0}
- '@typescript-eslint/type-utils@5.62.0':
- resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@typescript-eslint/type-utils@7.18.0':
+ resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==}
+ engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
- eslint: '*'
+ eslint: ^8.56.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
- '@typescript-eslint/types@5.62.0':
- resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@typescript-eslint/types@7.18.0':
+ resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==}
+ engines: {node: ^18.18.0 || >=20.0.0}
- '@typescript-eslint/typescript-estree@5.62.0':
- resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@typescript-eslint/typescript-estree@7.18.0':
+ resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==}
+ engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
- '@typescript-eslint/utils@5.62.0':
- resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@typescript-eslint/utils@7.18.0':
+ resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==}
+ engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ eslint: ^8.56.0
- '@typescript-eslint/visitor-keys@5.62.0':
- resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@typescript-eslint/visitor-keys@7.18.0':
+ resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==}
+ engines: {node: ^18.18.0 || >=20.0.0}
'@ungap/structured-clone@1.3.0':
resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==}
@@ -2133,18 +1919,14 @@ packages:
'@videojs/xhr@2.6.0':
resolution: {integrity: sha512-7J361GiN1tXpm+gd0xz2QWr3xNWBE+rytvo8J3KuggFaLg+U37gZQ2BuPLcnkfGffy2e+ozY70RHC8jt7zjA6Q==}
- '@vitejs/plugin-legacy@5.4.3':
- resolution: {integrity: sha512-wsyXK9mascyplcqvww1gA1xYiy29iRHfyciw+a0t7qRNdzX6PdfSWmOoCi74epr87DujM+5J+rnnSv+4PazqVg==}
- engines: {node: ^18.0.0 || >=20.0.0}
- peerDependencies:
- terser: ^5.4.0
- vite: ^5.0.0
-
- '@vitejs/plugin-react@5.1.0':
- resolution: {integrity: sha512-4LuWrg7EKWgQaMJfnN+wcmbAW+VSsCmqGohftWjuct47bv8uE4n/nPpq4XjJPsxgq00GGG5J8dvBczp8uxScew==}
+ '@vitejs/plugin-react@5.2.0':
+ resolution: {integrity: sha512-YmKkfhOAi3wsB1PhJq5Scj3GXMn3WvtQ/JC0xoopuHoXSdmtdStOpFrYaT1kie2YgFBcIe64ROzMYRjCrYOdYw==}
engines: {node: ^20.19.0 || >=22.12.0}
peerDependencies:
- vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0
+ vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0
+
+ '@webgpu/types@0.1.69':
+ resolution: {integrity: sha512-RPmm6kgRbI8e98zSD3RVACvnuktIja5+yLgDAkTmxLr90BEwdTXRQWNLF3ETTTyH/8mKhznZuN5AveXYFEsMGQ==}
'@whatwg-node/disposablestack@0.0.6':
resolution: {integrity: sha512-LOtTn+JgJvX8WfBVJtF08TGrdjuFzGJc4mkP8EdDI8ADbvO7kiexYep1o8dwnt0okb0jYclCDXF13xU7Ge4zSw==}
@@ -2178,8 +1960,8 @@ packages:
resolution: {integrity: sha512-FNoYzHawTMk/6KMQoEG5O4PuioX19UbwdQKF44yw0nLfOypfQdjtfZzo/UIJWAJ23sNIFbD1Ug9lbaDGMwbqQA==}
engines: {node: '>=8'}
- '@xmldom/xmldom@0.8.11':
- resolution: {integrity: sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw==}
+ '@xmldom/xmldom@0.8.13':
+ resolution: {integrity: sha512-KRYzxepc14G/CEpEGc3Yn+JKaAeT63smlDr+vjB8jRfgTBBI9wRj/nkQEO+ucV8p8I9bfKLWp37uHgFrbntPvw==}
engines: {node: '>=10.0.0'}
acorn-jsx@5.3.2:
@@ -2191,8 +1973,8 @@ packages:
resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==}
engines: {node: '>=0.4.0'}
- acorn@8.15.0:
- resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
+ acorn@8.16.0:
+ resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==}
engines: {node: '>=0.4.0'}
hasBin: true
@@ -2226,6 +2008,10 @@ packages:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
+ ansi-regex@6.2.2:
+ resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==}
+ engines: {node: '>=12'}
+
ansi-styles@4.3.0:
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
engines: {node: '>=8'}
@@ -2331,21 +2117,6 @@ packages:
resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==}
engines: {node: '>=10', npm: '>=6'}
- babel-plugin-polyfill-corejs2@0.4.14:
- resolution: {integrity: sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==}
- peerDependencies:
- '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
-
- babel-plugin-polyfill-corejs3@0.13.0:
- resolution: {integrity: sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==}
- peerDependencies:
- '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
-
- babel-plugin-polyfill-regenerator@0.6.5:
- resolution: {integrity: sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==}
- peerDependencies:
- '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
-
babel-plugin-react-intl@7.9.4:
resolution: {integrity: sha512-cMKrHEXrw43yT4M89Wbgq8A8N8lffSquj1Piwov/HVukR7jwOw8gf9btXNsQhT27ccyqEwy+M286JQYy0jby2g==}
deprecated: this package has been renamed to babel-plugin-formatjs
@@ -2364,21 +2135,15 @@ packages:
balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
- balanced-match@2.0.0:
- resolution: {integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==}
-
- balanced-match@4.0.4:
- resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==}
- engines: {node: 18 || 20 || >=22}
-
base64-blob@1.4.1:
resolution: {integrity: sha512-n5Ov4cPTbLBTX1PiFbaB5AmK7LMigO9HWh5Lzx+Kcx/yx1MppeeLYtAH8aLv1m++WNoHQnr+xbGSqcZinopwlw==}
base64-js@1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
- baseline-browser-mapping@2.8.19:
- resolution: {integrity: sha512-zoKGUdu6vb2jd3YOq0nnhEDQVbPcHhco3UImJrv5dSkvxTc2pl2WjOPsjZXDwPDSl5eghIMuY3R6J9NDKF3KcQ==}
+ baseline-browser-mapping@2.10.12:
+ resolution: {integrity: sha512-qyq26DxfY4awP2gIRXhhLWfwzwI+N5Nxk6iQi8EFizIaWIjqicQTE4sLnZZVdeKPRcVNoJOkkpfzoIYuvCKaIQ==}
+ engines: {node: '>=6.0.0'}
hasBin: true
bcp-47-match@1.0.3:
@@ -2400,26 +2165,18 @@ packages:
jquery: 1.9.1 - 3
popper.js: ^1.16.1
- brace-expansion@1.1.12:
- resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==}
+ brace-expansion@1.1.14:
+ resolution: {integrity: sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==}
- brace-expansion@5.0.3:
- resolution: {integrity: sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==}
- engines: {node: 18 || 20 || >=22}
+ brace-expansion@2.0.3:
+ resolution: {integrity: sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA==}
braces@3.0.3:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
engines: {node: '>=8'}
- browserslist-to-esbuild@2.1.1:
- resolution: {integrity: sha512-KN+mty6C3e9AN8Z5dI1xeN15ExcRNeISoC3g7V0Kax/MMF9MSoYA2G7lkTTcVUFntiEjkpI0HNgqJC1NjdyNUw==}
- engines: {node: '>=18'}
- hasBin: true
- peerDependencies:
- browserslist: '*'
-
- browserslist@4.26.3:
- resolution: {integrity: sha512-lAUU+02RFBuCKQPj/P6NgjlbCnLBMp4UtgTx7vNHd3XSIJF87s9a5rA3aH2yw3GS9DqZAUbOtZdCCiZeVRqt0w==}
+ browserslist@4.28.1:
+ resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
@@ -2432,6 +2189,9 @@ packages:
buffer@5.7.1:
resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
+ cacheable@2.3.4:
+ resolution: {integrity: sha512-djgxybDbw9fL/ZWMI3+CE8ZilNxcwFkVtDc1gJ+IlOSSWkSMPQabhV/XCHTQ6pwwN6aivXPZ43omTooZiX06Ew==}
+
call-bind-apply-helpers@1.0.2:
resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
engines: {node: '>= 0.4'}
@@ -2455,20 +2215,12 @@ packages:
resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==}
engines: {node: '>=8'}
- camelcase-keys@7.0.2:
- resolution: {integrity: sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==}
- engines: {node: '>=12'}
-
camelcase@5.3.1:
resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
engines: {node: '>=6'}
- camelcase@6.3.0:
- resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
- engines: {node: '>=10'}
-
- caniuse-lite@1.0.30001751:
- resolution: {integrity: sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw==}
+ caniuse-lite@1.0.30001782:
+ resolution: {integrity: sha512-dZcaJLJeDMh4rELYFw1tvSn1bhZWYFOt468FcbHHxx/Z/dFidd1I6ciyFdi3iwfQCyOjqo9upF6lGQYtMiJWxw==}
capital-case@1.0.4:
resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==}
@@ -2580,15 +2332,9 @@ packages:
convert-source-map@2.0.0:
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
- cookie@0.4.2:
- resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==}
- engines: {node: '>= 0.6'}
-
- core-js-compat@3.46.0:
- resolution: {integrity: sha512-p9hObIIEENxSV8xIu+V68JjSeARg6UVMG5mR+JEUguG3sI6MsiS1njz2jHmyJDvA+8jX/sytkBHup6kxhM9law==}
-
- core-js@3.46.0:
- resolution: {integrity: sha512-vDMm9B0xnqqZ8uSBpZ8sNtRtOdmfShrvT6h2TuQGLs0Is+cR0DYbj/KWP6ALVNbWPpqA/qPLoOuppJN07humpA==}
+ cookie@1.1.1:
+ resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==}
+ engines: {node: '>=18'}
cosmiconfig@7.1.0:
resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
@@ -2603,6 +2349,15 @@ packages:
typescript:
optional: true
+ cosmiconfig@9.0.1:
+ resolution: {integrity: sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ typescript: '>=4.9.5'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
create-require@1.1.1:
resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
@@ -2620,12 +2375,12 @@ packages:
crypto-js@4.2.0:
resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==}
- css-functions-list@3.2.3:
- resolution: {integrity: sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==}
- engines: {node: '>=12 || >=16'}
+ css-functions-list@3.3.3:
+ resolution: {integrity: sha512-8HFEBPKhOpJPEPu70wJJetjKta86Gw9+CCyCnB3sui2qQfOvRyqBy4IKLKKAwdMpWb2lHXWk9Wb4Z6AmaUT1Pg==}
+ engines: {node: '>=12'}
- css-tree@2.3.1:
- resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
+ css-tree@3.2.1:
+ resolution: {integrity: sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
cssesc@3.0.0:
@@ -2702,10 +2457,6 @@ packages:
resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
engines: {node: '>=0.10.0'}
- decamelize@5.0.1:
- resolution: {integrity: sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==}
- engines: {node: '>=10'}
-
decimal.js@10.6.0:
resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==}
@@ -2735,6 +2486,9 @@ packages:
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
engines: {node: '>=6'}
+ detect-europe-js@0.1.2:
+ resolution: {integrity: sha512-lgdERlL3u0aUdHocoouzT10d9I89VVhk0qNRmll7mXdGfJT1/wqZ2ZLA4oJAjeACPY5fT1wsbq2AT+GkuInsow==}
+
detect-indent@6.1.0:
resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
engines: {node: '>=8'}
@@ -2744,6 +2498,10 @@ packages:
engines: {node: '>=0.10'}
hasBin: true
+ detect-libc@2.1.2:
+ resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
+ engines: {node: '>=8'}
+
diacritics@1.3.0:
resolution: {integrity: sha512-wlwEkqcsaxvPJML+rDh/2iS824jbREk6DUMUKkEaSlxdYHeS43cClJtsWglvw2RfeXGm6ohKDqsXteJ5sP5enA==}
@@ -2784,8 +2542,8 @@ packages:
resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
engines: {node: '>= 0.4'}
- electron-to-chromium@1.5.238:
- resolution: {integrity: sha512-khBdc+w/Gv+cS8e/Pbnaw/FXcBUeKrRVik9IxfXtgREOWyJhR4tj43n3amkVogJ/yeQUqzkrZcFhtIxIdqmmcQ==}
+ electron-to-chromium@1.5.329:
+ resolution: {integrity: sha512-/4t+AS1l4S3ZC0Ja7PHFIWeBIxGA3QGqV8/yKsP36v7NcyUCl+bIcmw6s5zVuMIECWwBrAK/6QLzTmbJChBboQ==}
emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
@@ -2793,6 +2551,10 @@ packages:
emoji-regex@9.2.2:
resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+ env-paths@2.2.1:
+ resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
+ engines: {node: '>=6'}
+
error-ex@1.3.4:
resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==}
@@ -2831,9 +2593,9 @@ packages:
es6-promise@4.2.8:
resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==}
- esbuild@0.21.5:
- resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
- engines: {node: '>=12'}
+ esbuild@0.27.7:
+ resolution: {integrity: sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==}
+ engines: {node: '>=18'}
hasBin: true
escalade@3.2.0:
@@ -2855,13 +2617,12 @@ packages:
eslint: ^7.32.0 || ^8.2.0
eslint-plugin-import: ^2.25.2
- eslint-config-airbnb-typescript@17.1.0:
- resolution: {integrity: sha512-GPxI5URre6dDpJ0CtcthSZVBAfI+Uw7un5OYNVxP2EYi3H81Jw701yFP7AU+/vCE7xBtFmjge7kfhhk4+RAiig==}
+ eslint-config-airbnb-typescript@18.0.0:
+ resolution: {integrity: sha512-oc+Lxzgzsu8FQyFVa4QFaVKiitTYiiW3frB9KYW5OWdPrqFc7FzxgB20hP4cHMlr+MBzGcLl3jnCOVOydL9mIg==}
peerDependencies:
- '@typescript-eslint/eslint-plugin': ^5.13.0 || ^6.0.0
- '@typescript-eslint/parser': ^5.0.0 || ^6.0.0
- eslint: ^7.32.0 || ^8.2.0
- eslint-plugin-import: ^2.25.3
+ '@typescript-eslint/eslint-plugin': ^7.0.0
+ '@typescript-eslint/parser': ^7.0.0
+ eslint: ^8.56.0
eslint-config-airbnb@19.0.4:
resolution: {integrity: sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==}
@@ -2903,6 +2664,12 @@ packages:
eslint-import-resolver-webpack:
optional: true
+ eslint-plugin-deprecation@3.0.0:
+ resolution: {integrity: sha512-JuVLdNg/uf0Adjg2tpTyYoYaMbwQNn/c78P1HcccokvhtRphgnRjZDKmhlxbxYptppex03zO76f97DD/yQHv7A==}
+ peerDependencies:
+ eslint: ^8.0.0
+ typescript: ^4.2.4 || ^5.0.0
+
eslint-plugin-import@2.32.0:
resolution: {integrity: sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==}
engines: {node: '>=4'}
@@ -2931,10 +2698,6 @@ packages:
peerDependencies:
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7
- eslint-scope@5.1.1:
- resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
- engines: {node: '>=8.0.0'}
-
eslint-scope@7.2.2:
resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -2958,18 +2721,14 @@ packages:
engines: {node: '>=4'}
hasBin: true
- esquery@1.6.0:
- resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
+ esquery@1.7.0:
+ resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==}
engines: {node: '>=0.10'}
esrecurse@4.3.0:
resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
engines: {node: '>=4.0'}
- estraverse@4.3.0:
- resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
- engines: {node: '>=4.0'}
-
estraverse@5.3.0:
resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
engines: {node: '>=4.0'}
@@ -3016,8 +2775,8 @@ packages:
resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==}
engines: {node: '>= 4.9.1'}
- fastq@1.19.1:
- resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==}
+ fastq@1.20.1:
+ resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==}
fb-watchman@2.0.2:
resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
@@ -3028,25 +2787,33 @@ packages:
fbjs@3.0.5:
resolution: {integrity: sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==}
+ fdir@6.5.0:
+ resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ picomatch: ^3 || ^4
+ peerDependenciesMeta:
+ picomatch:
+ optional: true
+
fetch-blob@3.2.0:
resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==}
engines: {node: ^12.20 || >= 14.13}
- fflate@0.6.10:
- resolution: {integrity: sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg==}
+ fflate@0.8.2:
+ resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==}
figures@3.2.0:
resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
engines: {node: '>=8'}
+ file-entry-cache@11.1.2:
+ resolution: {integrity: sha512-N2WFfK12gmrK1c1GXOqiAJ1tc5YE+R53zvQ+t5P8S5XhnmKYVB5eZEiLNZKDSmoG8wqqbF9EXYBBW/nef19log==}
+
file-entry-cache@6.0.1:
resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
engines: {node: ^10.12.0 || >=12.0.0}
- file-entry-cache@7.0.2:
- resolution: {integrity: sha512-TfW7/1iI4Cy7Y8L6iqNdZQVvdXn0f8B4QcIXmkIbtTIe/Okm/nSlHb4IwGzRVOd3WfSieCgvf5cMzEfySAIl0g==}
- engines: {node: '>=12.0.0'}
-
fill-range@7.1.1:
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
engines: {node: '>=8'}
@@ -3062,19 +2829,22 @@ packages:
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
engines: {node: '>=10'}
- flag-icons@6.15.0:
- resolution: {integrity: sha512-ARo9Q+aATZEjyjveeec9e+orx+xLWUBdOX9baOKoGqDzMbvZ65ghPhaHbVt5T7ZB+Q4OFsB4Hr+eQnpV8Q+dLA==}
+ flag-icons@7.5.0:
+ resolution: {integrity: sha512-kd+MNXviFIg5hijH766tt+3x76ele1AXlo4zDdCxIvqWZhKt4T83bOtxUOOMlTx/EcFdUMH5yvQgYlFh1EqqFg==}
flat-cache@3.2.0:
resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
engines: {node: ^10.12.0 || >=12.0.0}
+ flat-cache@6.1.22:
+ resolution: {integrity: sha512-N2dnzVJIphnNsjHcrxGW7DePckJ6haPrSFqpsBUhHYgwtKGVq4JrBGielEGD2fCVnsGm1zlBVZ8wGhkyuetgug==}
+
flat@5.0.2:
resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==}
hasBin: true
- flatted@3.3.3:
- resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
+ flatted@3.4.2:
+ resolution: {integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==}
flexbin@0.2.0:
resolution: {integrity: sha512-dgCeT6/oVljr0eao0f7Eg2VXutK/+rp02J6Nkw22uTTFE4HSC7zfYRzjuy2/r0dhr/sUBRMJM2tMyOCi+HeU+A==}
@@ -3087,8 +2857,8 @@ packages:
resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==}
engines: {node: '>=12.20.0'}
- formik@2.4.6:
- resolution: {integrity: sha512-A+2EI7U7aG296q2TLGvNapDNTZp1khVt5Vk0Q/fyfSROss0V/V6+txt2aJnwEos44IxTCW/LYAi/zgWzlevj+g==}
+ formik@2.4.9:
+ resolution: {integrity: sha512-5nI94BMnlFDdQRBY4Sz39WkhxajZJ57Fzs8wVbtsQlm5ScKIR1QLYqv/ultBnobObtlUyxpxoLodpixrsf36Og==}
peerDependencies:
react: '>=16.8.0'
@@ -3130,6 +2900,10 @@ packages:
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
engines: {node: 6.* || 8.* || >= 10.*}
+ get-east-asian-width@1.5.0:
+ resolution: {integrity: sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==}
+ engines: {node: '>=18'}
+
get-intrinsic@1.3.0:
resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
engines: {node: '>= 0.4'}
@@ -3155,7 +2929,7 @@ packages:
glob@7.2.3:
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
- deprecated: Glob versions prior to v9 are no longer supported
+ deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
global-modules@2.0.0:
resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==}
@@ -3180,6 +2954,10 @@ packages:
resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
engines: {node: '>=10'}
+ globby@16.2.0:
+ resolution: {integrity: sha512-QrJia2qDf5BB/V6HYlDTs0I0lBahyjLzpGQg3KT7FnCdTonAyPy2RtY802m2k4ALx6Dp752f82WsOczEVr3l6Q==}
+ engines: {node: '>=20'}
+
globjoin@0.1.4:
resolution: {integrity: sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==}
@@ -3258,6 +3036,10 @@ packages:
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
engines: {node: '>=8'}
+ has-flag@5.0.1:
+ resolution: {integrity: sha512-CsNUt5x9LUdx6hnk/E2SZLsDyvfqANZSUq4+D3D8RzDJ2M+HDTIkF60ibS1vHaK55vzgiZw1bEPFG9yH7l33wA==}
+ engines: {node: '>=12'}
+
has-property-descriptors@1.0.2:
resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
@@ -3273,6 +3055,10 @@ packages:
resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
engines: {node: '>= 0.4'}
+ hashery@1.5.1:
+ resolution: {integrity: sha512-iZyKG96/JwPz1N55vj2Ie2vXbhu440zfUfJvSwEqEbeLluk7NnapfGqa7LH0mOsnDxTF85Mx8/dyR6HfqcbmbQ==}
+ engines: {node: '>=20'}
+
hasown@2.0.2:
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
engines: {node: '>= 0.4'}
@@ -3289,19 +3075,21 @@ packages:
hoist-non-react-statics@3.3.2:
resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
+ hookified@1.15.1:
+ resolution: {integrity: sha512-MvG/clsADq1GPM2KGo2nyfaWVyn9naPiXrqIe4jYjXNZQt238kWyOGrsyc/DmRAQ+Re6yeo6yX/yoNCG5KAEVg==}
+
+ hookified@2.1.1:
+ resolution: {integrity: sha512-AHb76R16GB5EsPBE2J7Ko5kiEyXwviB9P5SMrAKcuAu4vJPZttViAbj9+tZeaQE5zjDme+1vcHP78Yj/WoAveA==}
+
hosted-git-info@2.8.9:
resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
- hosted-git-info@4.1.0:
- resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==}
- engines: {node: '>=10'}
-
html-entities@1.4.0:
resolution: {integrity: sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==}
- html-tags@3.3.1:
- resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==}
- engines: {node: '>=8'}
+ html-tags@5.1.0:
+ resolution: {integrity: sha512-n6l5uca7/y5joxZ3LUePhzmBFUJ+U2YWzhMa8XUTecSeSlQiZdF5XAd/Q3/WUl0VsXgUwWi8I7CNIwdI5WN1SQ==}
+ engines: {node: '>=20.10'}
http-proxy-agent@7.0.2:
resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
@@ -3326,6 +3114,10 @@ packages:
resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
engines: {node: '>= 4'}
+ ignore@7.0.5:
+ resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==}
+ engines: {node: '>= 4'}
+
immediate@3.0.6:
resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==}
@@ -3333,8 +3125,8 @@ packages:
resolution: {integrity: sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw==}
engines: {node: '>=0.8.0'}
- immutable@5.1.4:
- resolution: {integrity: sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==}
+ immutable@5.1.5:
+ resolution: {integrity: sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==}
import-fresh@3.3.1:
resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
@@ -3344,9 +3136,8 @@ packages:
resolution: {integrity: sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==}
engines: {node: '>=12.2'}
- import-lazy@4.0.0:
- resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==}
- engines: {node: '>=8'}
+ import-meta-resolve@4.2.0:
+ resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==}
imsc@1.1.5:
resolution: {integrity: sha512-V8je+CGkcvGhgl2C1GlhqFFiUOIEdwXbXLiu1Fcubvvbo+g9inauqT3l0pNYXGoLPBj3jxtZz9t+wCopMkwadQ==}
@@ -3359,10 +3150,6 @@ packages:
resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
engines: {node: '>=8'}
- indent-string@5.0.0:
- resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==}
- engines: {node: '>=12'}
-
individual@2.0.0:
resolution: {integrity: sha512-pWt8hBCqJsUWI/HtcfWod7+N9SgAqyPEaF7JQjwzjn5vGrpg6aQ5qeAFQ7dx//UH4J1O+7xqew+gCeeFt6xN/g==}
@@ -3506,6 +3293,10 @@ packages:
resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
engines: {node: '>=8'}
+ is-path-inside@4.0.0:
+ resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==}
+ engines: {node: '>=12'}
+
is-plain-obj@1.1.0:
resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==}
engines: {node: '>=0.10.0'}
@@ -3538,6 +3329,9 @@ packages:
resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==}
engines: {node: '>= 0.4'}
+ is-standalone-pwa@0.1.1:
+ resolution: {integrity: sha512-9Cbovsa52vNQCjdXOzeQq5CnCbAcRk05aU62K20WO372NrTv0NxibLFCK6lQ4/iZEFdEA3p3t2VNOn8AJ53F5g==}
+
is-string@1.1.1:
resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==}
engines: {node: '>= 0.4'}
@@ -3619,8 +3413,8 @@ packages:
resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
hasBin: true
- js-yaml@4.1.0:
- resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+ js-yaml@4.1.1:
+ resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==}
hasBin: true
jsesc@3.1.0:
@@ -3672,13 +3466,13 @@ packages:
keyv@4.5.4:
resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+ keyv@5.6.0:
+ resolution: {integrity: sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==}
+
kind-of@6.0.3:
resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
engines: {node: '>=0.10.0'}
- known-css-properties@0.29.0:
- resolution: {integrity: sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==}
-
language-subtag-registry@0.3.23:
resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==}
@@ -3693,8 +3487,79 @@ packages:
lie@3.1.1:
resolution: {integrity: sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==}
- lil-gui@0.17.0:
- resolution: {integrity: sha512-MVBHmgY+uEbmJNApAaPbtvNh1RCAeMnKym82SBjtp5rODTYKWtM+MXHCifLe2H2Ti1HuBGBtK/5SyG4ShQ3pUQ==}
+ lightningcss-android-arm64@1.32.0:
+ resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [android]
+
+ lightningcss-darwin-arm64@1.32.0:
+ resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+
+ lightningcss-darwin-x64@1.32.0:
+ resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [darwin]
+
+ lightningcss-freebsd-x64@1.32.0:
+ resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [freebsd]
+
+ lightningcss-linux-arm-gnueabihf@1.32.0:
+ resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm]
+ os: [linux]
+
+ lightningcss-linux-arm64-gnu@1.32.0:
+ resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ lightningcss-linux-arm64-musl@1.32.0:
+ resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ lightningcss-linux-x64-gnu@1.32.0:
+ resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ lightningcss-linux-x64-musl@1.32.0:
+ resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ lightningcss-win32-arm64-msvc@1.32.0:
+ resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [win32]
+
+ lightningcss-win32-x64-msvc@1.32.0:
+ resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [win32]
+
+ lightningcss@1.32.0:
+ resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==}
+ engines: {node: '>= 12.0.0'}
lines-and-columns@1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
@@ -3723,11 +3588,8 @@ packages:
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
engines: {node: '>=10'}
- lodash-es@4.17.23:
- resolution: {integrity: sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==}
-
- lodash.debounce@4.0.8:
- resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
+ lodash-es@4.18.1:
+ resolution: {integrity: sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==}
lodash.merge@4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
@@ -3772,16 +3634,9 @@ packages:
lru-cache@5.1.1:
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
- lru-cache@6.0.0:
- resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
- engines: {node: '>=10'}
-
m3u8-parser@4.8.0:
resolution: {integrity: sha512-UqA2a/Pw3liR6Df3gwxrqghCP17OpPlQj6RBPLYygf/ZSQ4MoSgvdvhvt35qV+3NaaA0FSZx93Ix+2brT1U7cA==}
- magic-string@0.30.19:
- resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==}
-
make-dir@3.1.0:
resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
engines: {node: '>=8'}
@@ -3808,8 +3663,8 @@ packages:
resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
engines: {node: '>= 0.4'}
- mathml-tag-names@2.1.3:
- resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==}
+ mathml-tag-names@4.0.0:
+ resolution: {integrity: sha512-aa6AU2Pcx0VP/XWnh8IGL0SYSgQHDT6Ucror2j2mXeFAlN3ahaNs8EZtG1YiticMkSLj3Gt6VPFfZogt7G5iFQ==}
mdast-util-definitions@4.0.0:
resolution: {integrity: sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==}
@@ -3844,8 +3699,8 @@ packages:
mdast-util-to-string@2.0.0:
resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==}
- mdn-data@2.0.30:
- resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
+ mdn-data@2.27.1:
+ resolution: {integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==}
mdurl@1.0.1:
resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==}
@@ -3853,13 +3708,9 @@ packages:
memoize-one@6.0.0:
resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==}
- meow@10.1.5:
- resolution: {integrity: sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
- meow@13.2.0:
- resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==}
- engines: {node: '>=18'}
+ meow@14.1.0:
+ resolution: {integrity: sha512-EDYo6VlmtnumlcBCbh1gLJ//9jvM/ndXHfVXIFrZVr6fGcwTUyCTFNTLCKuY3ffbK8L/+3Mzqnd58RojiZqHVw==}
+ engines: {node: '>=20'}
meow@6.1.1:
resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==}
@@ -3878,8 +3729,8 @@ packages:
'@types/node':
optional: true
- meshoptimizer@0.18.1:
- resolution: {integrity: sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==}
+ meshoptimizer@1.0.1:
+ resolution: {integrity: sha512-Vix+QlA1YYT3FwmBBZ+49cE5y/b+pRrcXKqGpS5ouh33d3lSp2PoTpCw19E0cKDFWalembrHnIaZetf27a+W2g==}
micromark-extension-gfm-autolink-literal@0.5.7:
resolution: {integrity: sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw==}
@@ -3910,8 +3761,8 @@ packages:
resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
engines: {node: '>=6'}
- min-document@2.19.0:
- resolution: {integrity: sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==}
+ min-document@2.19.2:
+ resolution: {integrity: sha512-8S5I8db/uZN8r9HSLFVWPdJCvYOejMcEC82VIzNUc6Zkklf/d1gg2psfE79/vyhWOj4+J8MtwmoOz3TmvaGu5A==}
min-indent@1.0.1:
resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
@@ -3920,8 +3771,8 @@ packages:
minimatch@3.1.5:
resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==}
- minimatch@9.0.8:
- resolution: {integrity: sha512-reYkDYtj/b19TeqbNZCV4q9t+Yxylf/rYBsLb42SXJatTv4/ylq5lEiAmhA/IToxO7NI2UzNMghHoHuaqDkAjw==}
+ minimatch@9.0.9:
+ resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==}
engines: {node: '>=16 || 14 >=14.17'}
minimist-options@4.1.0:
@@ -3965,9 +3816,6 @@ packages:
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
- natural-compare-lite@1.4.0:
- resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==}
-
natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
@@ -3998,16 +3846,12 @@ packages:
node-int64@0.4.0:
resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
- node-releases@2.0.26:
- resolution: {integrity: sha512-S2M9YimhSjBSvYnlr5/+umAnPHE++ODwt5e2Ij6FoX45HA/s4vHdkDx1eax2pAPeAOqu4s9b7ppahsyEFdVqQA==}
+ node-releases@2.0.36:
+ resolution: {integrity: sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==}
normalize-package-data@2.5.0:
resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
- normalize-package-data@3.0.3:
- resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==}
- engines: {node: '>=10'}
-
normalize-path@2.1.1:
resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==}
engines: {node: '>=0.10.0'}
@@ -4016,10 +3860,6 @@ packages:
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
engines: {node: '>=0.10.0'}
- normalize-url@4.5.1:
- resolution: {integrity: sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==}
- engines: {node: '>=8'}
-
nosleep.js@0.7.0:
resolution: {integrity: sha512-Z4B1HgvzR+en62ghwZf6BwAR6x4/pjezsiMcbF9KMLh7xoscpoYhaSXfY3lLkqC68AtW+/qLJ1lzvBIj0FGaTA==}
@@ -4164,10 +4004,14 @@ packages:
picocolors@1.1.1:
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
- picomatch@2.3.1:
- resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+ picomatch@2.3.2:
+ resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==}
engines: {node: '>=8.6'}
+ picomatch@4.0.4:
+ resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==}
+ engines: {node: '>=12'}
+
pify@5.0.0:
resolution: {integrity: sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==}
engines: {node: '>=10'}
@@ -4184,14 +4028,11 @@ packages:
resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
engines: {node: '>= 0.4'}
- postcss-resolve-nested-selector@0.1.6:
- resolution: {integrity: sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==}
-
- postcss-safe-parser@6.0.0:
- resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==}
- engines: {node: '>=12.0'}
+ postcss-safe-parser@7.0.1:
+ resolution: {integrity: sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==}
+ engines: {node: '>=18.0'}
peerDependencies:
- postcss: ^8.3.3
+ postcss: ^8.4.31
postcss-scss@4.0.9:
resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==}
@@ -4199,20 +4040,20 @@ packages:
peerDependencies:
postcss: ^8.4.29
- postcss-selector-parser@6.1.2:
- resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
+ postcss-selector-parser@7.1.1:
+ resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==}
engines: {node: '>=4'}
- postcss-sorting@8.0.2:
- resolution: {integrity: sha512-M9dkSrmU00t/jK7rF6BZSZauA5MAaBW4i5EnJXspMwt4iqTh/L9j6fgMnbElEOfyRyfLfVbIHj/R52zHzAPe1Q==}
+ postcss-sorting@10.0.0:
+ resolution: {integrity: sha512-TXbU+h6vVRW+86c/+ewhWq9k7pr7ijASTnepVhCQiC87zAOTkvB1v2dHyWP+ggstSTX/PNvjzS+IOqzejndz9w==}
peerDependencies:
postcss: ^8.4.20
postcss-value-parser@4.2.0:
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
- postcss@8.5.6:
- resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
+ postcss@8.5.8:
+ resolution: {integrity: sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==}
engines: {node: ^10 || ^12 || >=14}
prelude-ls@1.2.1:
@@ -4252,6 +4093,10 @@ packages:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
+ qified@0.9.0:
+ resolution: {integrity: sha512-4q61YgkHbY6gmwkqm0BsxyLDO3UYdrdiJTJ7JiaZb3xpW1duxn135SB7KqUEkCiuu5O4W+TtwEWP2VjmSRanvA==}
+ engines: {node: '>=20'}
+
queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
@@ -4259,10 +4104,6 @@ packages:
resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==}
engines: {node: '>=8'}
- quick-lru@5.1.1:
- resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
- engines: {node: '>=10'}
-
react-bootstrap@1.6.8:
resolution: {integrity: sha512-yD6uN78XlFOkETQp6GRuVe0s5509x3XYx8PfPbirwFTYCj5/RfmSs9YZGCwkUrhZNFzj7tZPdpb+3k50mK1E4g==}
peerDependencies:
@@ -4392,18 +4233,10 @@ packages:
resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
engines: {node: '>=8'}
- read-pkg-up@8.0.0:
- resolution: {integrity: sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==}
- engines: {node: '>=12'}
-
read-pkg@5.2.0:
resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==}
engines: {node: '>=8'}
- read-pkg@6.0.0:
- resolution: {integrity: sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==}
- engines: {node: '>=12'}
-
readable-stream@3.6.2:
resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
engines: {node: '>= 6'}
@@ -4416,39 +4249,14 @@ packages:
resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
engines: {node: '>=8'}
- redent@4.0.0:
- resolution: {integrity: sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==}
- engines: {node: '>=12'}
-
reflect.getprototypeof@1.0.10:
resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==}
engines: {node: '>= 0.4'}
- regenerate-unicode-properties@10.2.2:
- resolution: {integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==}
- engines: {node: '>=4'}
-
- regenerate@1.4.2:
- resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
-
- regenerator-runtime@0.14.1:
- resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
-
regexp.prototype.flags@1.5.4:
resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==}
engines: {node: '>= 0.4'}
- regexpu-core@6.4.0:
- resolution: {integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==}
- engines: {node: '>=4'}
-
- regjsgen@0.8.0:
- resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==}
-
- regjsparser@0.13.0:
- resolution: {integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==}
- hasBin: true
-
rehackt@0.1.0:
resolution: {integrity: sha512-7kRDOuLHB87D/JESKxQoRwv4DzbIdwkAGQ7p6QKGdVlY1IZheUnVhlk/4UZlNUVxdAXpyxikE3URsG067ybVzw==}
peerDependencies:
@@ -4538,8 +4346,8 @@ packages:
deprecated: Rimraf versions prior to v4 are no longer supported
hasBin: true
- rollup@4.53.1:
- resolution: {integrity: sha512-n2I0V0lN3E9cxxMqBCT3opWOiQBzRN7UG60z/WDKqdX2zHUS/39lezBcsckZFsV6fUTSnfqI7kHf60jDAPGKug==}
+ rollup@4.60.2:
+ resolution: {integrity: sha512-J9qZyW++QK/09NyN/zeO0dG/1GdGfyp9lV8ajHnRVLfo/uFsbji5mHnDgn/qYdUHyCkM2N+8VyspgZclfAh0eQ==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
@@ -4577,8 +4385,8 @@ packages:
safer-buffer@2.1.2:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
- sass@1.93.2:
- resolution: {integrity: sha512-t+YPtOQHpGW1QWsh1CHQ5cPIr9lbbGZLZnbihP/D/qZj/yuV68m8qarcV17nvkOX81BCrvzAlq2klCQFZghyTg==}
+ sass@1.98.0:
+ resolution: {integrity: sha512-+4N/u9dZ4PrgzGgPlKnaaRQx64RO0JBKs9sDhQ2pLgN6JQZ25uPQZKQYaBJU48Kd5BxgXoJ4e09Dq7nMcOUW3A==}
engines: {node: '>=14.0.0'}
hasBin: true
@@ -4603,8 +4411,8 @@ packages:
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
hasBin: true
- semver@7.7.3:
- resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==}
+ semver@7.7.4:
+ resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==}
engines: {node: '>=10'}
hasBin: true
@@ -4671,6 +4479,10 @@ packages:
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
engines: {node: '>=8'}
+ slash@5.1.0:
+ resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==}
+ engines: {node: '>=14.16'}
+
slice-ansi@3.0.0:
resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==}
engines: {node: '>=8'}
@@ -4741,6 +4553,10 @@ packages:
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
engines: {node: '>=8'}
+ string-width@8.2.0:
+ resolution: {integrity: sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==}
+ engines: {node: '>=20'}
+
string.prototype.includes@2.0.1:
resolution: {integrity: sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==}
engines: {node: '>= 0.4'}
@@ -4752,10 +4568,6 @@ packages:
string.prototype.repeat@1.0.0:
resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==}
- string.prototype.replaceall@1.0.11:
- resolution: {integrity: sha512-MtmYTo9i6i3Jpc0xuGVYd5GraPTml7vlZh4030YXRiBktXwYKYU7IDGJeMi008Dk8QKlgJUi/Q+oNnGKB++/fQ==}
- engines: {node: '>= 0.4'}
-
string.prototype.trim@1.2.10:
resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==}
engines: {node: '>= 0.4'}
@@ -4775,6 +4587,10 @@ packages:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
+ strip-ansi@7.2.0:
+ resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==}
+ engines: {node: '>=12'}
+
strip-bom@3.0.0:
resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
engines: {node: '>=4'}
@@ -4787,40 +4603,38 @@ packages:
resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
engines: {node: '>=8'}
- strip-indent@4.1.1:
- resolution: {integrity: sha512-SlyRoSkdh1dYP0PzclLE7r0M9sgbFKKMFXpFRUMNuKhQSbC6VQIGzq3E0qsfvGJaUFJPGv6Ws1NZ/haTAjfbMA==}
- engines: {node: '>=12'}
-
strip-json-comments@3.1.1:
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
engines: {node: '>=8'}
- style-search@0.1.0:
- resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==}
-
style-to-object@0.3.0:
resolution: {integrity: sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==}
- stylelint-order@6.0.4:
- resolution: {integrity: sha512-0UuKo4+s1hgQ/uAxlYU4h0o0HS4NiQDud0NAUNI0aa8FJdmYHA5ZZTFHiV5FpmE3071e9pZx5j0QpVJW5zOCUA==}
+ stylelint-order@8.1.1:
+ resolution: {integrity: sha512-LqsEB6VggJuu5v10RtkrQsBObcdwBE7GuAOlwfc/LR3VL/w8UqKX2BOLIjhyGt0Gne/njo7gRNGiJAKhfmPMNw==}
+ engines: {node: '>=20.19.0'}
peerDependencies:
- stylelint: ^14.0.0 || ^15.0.0 || ^16.0.1
+ stylelint: ^16.18.0 || ^17.0.0
- stylelint@15.11.0:
- resolution: {integrity: sha512-78O4c6IswZ9TzpcIiQJIN49K3qNoXTM8zEJzhaTE/xRTCZswaovSEVIa/uwbOltZrk16X4jAxjaOhzz/hTm1Kw==}
- engines: {node: ^14.13.1 || >=16.0.0}
+ stylelint@17.6.0:
+ resolution: {integrity: sha512-tokrsMIVAR9vAQ/q3UVEr7S0dGXCi7zkCezPRnS2kqPUulvUh5Vgfwngrk4EoAoW7wnrThqTdnTFN5Ra7CaxIg==}
+ engines: {node: '>=20.19.0'}
hasBin: true
stylis@4.2.0:
resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==}
+ supports-color@10.2.2:
+ resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==}
+ engines: {node: '>=18'}
+
supports-color@7.2.0:
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
engines: {node: '>=8'}
- supports-hyperlinks@3.2.0:
- resolution: {integrity: sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==}
- engines: {node: '>=14.18'}
+ supports-hyperlinks@4.4.0:
+ resolution: {integrity: sha512-UKbpT93hN5Nr9go5UY7bopIB9YQlMz9nm/ct4IXt/irb5YRkn9WaqrOBJGZ5Pwvsd5FQzSVeYlGdXoCAPQZrPg==}
+ engines: {node: '>=20'}
supports-preserve-symlinks-flag@1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
@@ -4840,15 +4654,12 @@ packages:
resolution: {integrity: sha512-c7AfkZ9udatCuAy9RSfiGPpeOKKUAUK5e1cXadLOGUjasdxqYqAK0jTNkM/FSEyJ3a5Ra27j/tw/PS0qLmaF/A==}
engines: {node: '>=18'}
- systemjs@6.15.1:
- resolution: {integrity: sha512-Nk8c4lXvMB98MtbmjX7JwJRgJOL8fluecYCfCeYBznwmpOs8Bf15hLM6z4z71EDAhQVrQrI+wt1aLWSXZq+hXA==}
-
table@6.9.0:
resolution: {integrity: sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==}
engines: {node: '>=10.0.0'}
- terser@5.44.0:
- resolution: {integrity: sha512-nIVck8DK+GM/0Frwd+nIhZ84pR/BX7rmXMfYwyg+Sri5oGVE99/E3KvXqpC2xHFxyqXyGHTKBSioxxplrO4I4w==}
+ terser@5.46.1:
+ resolution: {integrity: sha512-vzCjQO/rgUuK9sf8VJZvjqiqiHFaZLnOiimmUuOKODxWL8mm/xua7viT7aqX7dgPY60otQjUotzFMmCB4VdmqQ==}
engines: {node: '>=10'}
hasBin: true
@@ -4858,8 +4669,8 @@ packages:
thehandy@1.1.0:
resolution: {integrity: sha512-ZifUw47kq6cKNiKLNgrnVPkBFbG+yR6tScgWy2INDnGT4XePhjRaQNni67rWn52nAOkotq9VyaK20OZoorHqTA==}
- three@0.93.0:
- resolution: {integrity: sha512-Ys9+UBBsd6FxTZZl4BH7B4b2F+B2uR0cOwY7OQ/aCzU/VgO4Wmmr1LbWPH1fsTvSVik9KAuwxwOHlSC4IMGOLA==}
+ three@0.125.2:
+ resolution: {integrity: sha512-7rIRO23jVKWcAPFdW/HREU2NZMGWPBZ4XwEMt0Ak0jwLUKVJhcKM55eCBWyGZq/KiQbeo1IeuAoo/9l2dzhTXA==}
throttle-debounce@5.0.2:
resolution: {integrity: sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A==}
@@ -4881,6 +4692,10 @@ packages:
tiny-warning@1.0.3:
resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==}
+ tinyglobby@0.2.16:
+ resolution: {integrity: sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==}
+ engines: {node: '>=12.0.0'}
+
title-case@3.0.3:
resolution: {integrity: sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==}
@@ -4898,13 +4713,15 @@ packages:
resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==}
engines: {node: '>=8'}
- trim-newlines@4.1.1:
- resolution: {integrity: sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==}
- engines: {node: '>=12'}
-
trough@1.0.5:
resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==}
+ ts-api-utils@1.4.3:
+ resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==}
+ engines: {node: '>=16'}
+ peerDependencies:
+ typescript: '>=4.2.0'
+
ts-invariant@0.10.3:
resolution: {integrity: sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ==}
engines: {node: '>=8'}
@@ -4939,9 +4756,6 @@ packages:
tsconfig-paths@3.15.0:
resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==}
- tslib@1.14.1:
- resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
-
tslib@2.4.1:
resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==}
@@ -4951,12 +4765,6 @@ packages:
tslib@2.8.1:
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
- tsutils@3.21.0:
- resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
- engines: {node: '>= 6'}
- peerDependencies:
- typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
-
type-check@0.4.0:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
engines: {node: '>= 0.8.0'}
@@ -4981,10 +4789,6 @@ packages:
resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==}
engines: {node: '>=8'}
- type-fest@1.4.0:
- resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==}
- engines: {node: '>=10'}
-
type-fest@2.19.0:
resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==}
engines: {node: '>=12.20'}
@@ -5008,15 +4812,27 @@ packages:
typedarray-to-buffer@3.1.5:
resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==}
- typescript@4.8.4:
- resolution: {integrity: sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==}
+ typescript@4.9.5:
+ resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==}
engines: {node: '>=4.2.0'}
hasBin: true
+ typescript@5.9.3:
+ resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
+ ua-is-frozen@0.1.2:
+ resolution: {integrity: sha512-RwKDW2p3iyWn4UbaxpP2+VxwqXh0jpvdxsYpZ5j/MLLiQOfbsV5shpgQiw93+KMYQPcteeMQ289MaAFzs3G9pw==}
+
ua-parser-js@1.0.41:
resolution: {integrity: sha512-LbBDqdIC5s8iROCUjMbW1f5dJQTEFB1+KO9ogbvlb3nm9n4YHa5p4KTvFPWvh2Hs8gZMBuiB1/8+pdfe/tDPug==}
hasBin: true
+ ua-parser-js@2.0.9:
+ resolution: {integrity: sha512-OsqGhxyo/wGdLSXMSJxuMGN6H4gDnKz6Fb3IBm4bxZFMnyy0sdf6MN96Ie8tC6z/btdO+Bsy8guxlvLdwT076w==}
+ hasBin: true
+
unbox-primitive@1.1.0:
resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==}
engines: {node: '>= 0.4'}
@@ -5030,24 +4846,12 @@ packages:
peerDependencies:
react: '>=15.0.0'
- undici-types@5.26.5:
- resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
+ undici-types@6.21.0:
+ resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
- unicode-canonical-property-names-ecmascript@2.0.1:
- resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==}
- engines: {node: '>=4'}
-
- unicode-match-property-ecmascript@2.0.0:
- resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==}
- engines: {node: '>=4'}
-
- unicode-match-property-value-ecmascript@2.2.1:
- resolution: {integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==}
- engines: {node: '>=4'}
-
- unicode-property-aliases-ecmascript@2.2.0:
- resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==}
- engines: {node: '>=4'}
+ unicorn-magic@0.4.0:
+ resolution: {integrity: sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==}
+ engines: {node: '>=20'}
unified@9.2.2:
resolution: {integrity: sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==}
@@ -5082,8 +4886,8 @@ packages:
unist-util-visit@2.0.3:
resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==}
- universal-cookie@4.0.4:
- resolution: {integrity: sha512-lbRVHoOMtItjWbM7TwDLdl8wug7izB0tq3/YVKhT/ahB4VDvWMyvnADfnJI8y6fSvsjh51Ix7lTGC6Tn4rMPhw==}
+ universal-cookie@8.1.0:
+ resolution: {integrity: sha512-65+kikQAWq7gsJbirwB7dk6e8xeug1hx3++x2dQoymdXcV7fYv0yChOgHCg01ZwP3fE3sYeq6EWCSpFv3HLl9g==}
universalify@2.0.1:
resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
@@ -5093,8 +4897,8 @@ packages:
resolution: {integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==}
engines: {node: '>=0.10.0'}
- update-browserslist-db@1.1.3:
- resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==}
+ update-browserslist-db@1.2.3:
+ resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==}
hasBin: true
peerDependencies:
browserslist: '>= 4.21.0'
@@ -5165,9 +4969,6 @@ packages:
peerDependencies:
video.js: ^6 || ^7
- videojs-vr@1.8.0:
- resolution: {integrity: sha512-776gXqt8g6/rLeV56nn/aUcO0sRy+mgFITCw8cIqzTzl93SE1PEK/QE3YNqtppUfU5igayrx7WKsWhDOpsXMpw==}
-
videojs-vtt.js@0.15.5:
resolution: {integrity: sha512-yZbBxvA7QMYn15Lr/ZfhhLPrNpI/RmCSCqgIff57GC2gIrV5YfyzLfLyZMj0NnZSAz8syB4N0nHXpZg9MyrMOQ==}
@@ -5176,30 +4977,32 @@ packages:
peerDependencies:
vite: '>=2.0.0'
- vite-tsconfig-paths@4.3.2:
- resolution: {integrity: sha512-0Vd/a6po6Q+86rPlntHye7F31zA2URZMbH8M3saAZ/xR9QoGN/L21bxEGfXdWmFdNkqPpRdxFT7nmNe12e9/uA==}
+ vite-tsconfig-paths@6.1.1:
+ resolution: {integrity: sha512-2cihq7zliibCCZ8P9cKJrQBkfgdvcFkOOc3Y02o3GWUDLgqjWsZudaoiuOwO/gzTzy17cS5F7ZPo4bsnS4DGkg==}
peerDependencies:
vite: '*'
- peerDependenciesMeta:
- vite:
- optional: true
- vite@5.4.21:
- resolution: {integrity: sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==}
- engines: {node: ^18.0.0 || >=20.0.0}
+ vite@7.3.2:
+ resolution: {integrity: sha512-Bby3NOsna2jsjfLVOHKes8sGwgl4TT0E6vvpYgnAYDIF/tie7MRaFthmKuHx1NSXjiTueXH3do80FMQgvEktRg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
- '@types/node': ^18.0.0 || >=20.0.0
- less: '*'
+ '@types/node': ^20.19.0 || >=22.12.0
+ jiti: '>=1.21.0'
+ less: ^4.0.0
lightningcss: ^1.21.0
- sass: '*'
- sass-embedded: '*'
- stylus: '*'
- sugarss: '*'
- terser: ^5.4.0
+ sass: ^1.70.0
+ sass-embedded: ^1.70.0
+ stylus: '>=0.54.8'
+ sugarss: ^5.0.0
+ terser: ^5.16.0
+ tsx: ^4.8.1
+ yaml: ^2.4.2
peerDependenciesMeta:
'@types/node':
optional: true
+ jiti:
+ optional: true
less:
optional: true
lightningcss:
@@ -5214,6 +5017,10 @@ packages:
optional: true
terser:
optional: true
+ tsx:
+ optional: true
+ yaml:
+ optional: true
warning@4.0.3:
resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==}
@@ -5294,9 +5101,9 @@ packages:
write-file-atomic@3.0.3:
resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==}
- write-file-atomic@5.0.1:
- resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ write-file-atomic@7.0.1:
+ resolution: {integrity: sha512-OTIk8iR8/aCRWBqvxrzxR0hgxWpnYBblY1S5hDWBQfk/VFmJwzmJgQFN3WsoUKHISv2eAwe+PpbUzyL1CKTLXg==}
+ engines: {node: ^20.17.0 || >=22.9.0}
write-json-file@4.3.0:
resolution: {integrity: sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ==}
@@ -5328,14 +5135,11 @@ packages:
yallist@3.1.1:
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
- yallist@4.0.0:
- resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
-
yaml-ast-parser@0.0.43:
resolution: {integrity: sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==}
- yaml@1.10.2:
- resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
+ yaml@1.10.3:
+ resolution: {integrity: sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==}
engines: {node: '>= 6'}
yaml@2.8.1:
@@ -5347,10 +5151,6 @@ packages:
resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
engines: {node: '>=6'}
- yargs-parser@20.2.9:
- resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
- engines: {node: '>=10'}
-
yargs-parser@21.1.1:
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
engines: {node: '>=12'}
@@ -5387,7 +5187,7 @@ snapshots:
'@ant-design/react-slick@1.1.2(react@17.0.2)':
dependencies:
- '@babel/runtime': 7.28.4
+ '@babel/runtime': 7.29.2
classnames: 2.5.1
json2mq: 0.2.0
react: 17.0.2
@@ -5419,13 +5219,13 @@ snapshots:
'@ardatan/relay-compiler@12.0.0(graphql@16.11.0)':
dependencies:
- '@babel/core': 7.28.4
- '@babel/generator': 7.28.3
- '@babel/parser': 7.28.4
- '@babel/runtime': 7.28.4
- '@babel/traverse': 7.28.4
- '@babel/types': 7.28.4
- babel-preset-fbjs: 3.4.0(@babel/core@7.28.4)
+ '@babel/core': 7.29.0
+ '@babel/generator': 7.29.1
+ '@babel/parser': 7.29.2
+ '@babel/runtime': 7.29.2
+ '@babel/traverse': 7.29.0
+ '@babel/types': 7.29.0
+ babel-preset-fbjs: 3.4.0(@babel/core@7.29.0)
chalk: 4.1.2
fb-watchman: 2.0.2
fbjs: 3.0.5
@@ -5443,9 +5243,9 @@ snapshots:
'@ardatan/relay-compiler@12.0.3(graphql@16.11.0)':
dependencies:
- '@babel/generator': 7.28.3
- '@babel/parser': 7.28.4
- '@babel/runtime': 7.28.4
+ '@babel/generator': 7.29.1
+ '@babel/parser': 7.29.2
+ '@babel/runtime': 7.29.2
chalk: 4.1.2
fb-watchman: 2.0.2
graphql: 16.11.0
@@ -5457,25 +5257,25 @@ snapshots:
transitivePeerDependencies:
- encoding
- '@babel/code-frame@7.27.1':
+ '@babel/code-frame@7.29.0':
dependencies:
- '@babel/helper-validator-identifier': 7.27.1
+ '@babel/helper-validator-identifier': 7.28.5
js-tokens: 4.0.0
picocolors: 1.1.1
- '@babel/compat-data@7.28.4': {}
+ '@babel/compat-data@7.29.0': {}
- '@babel/core@7.28.4':
+ '@babel/core@7.29.0':
dependencies:
- '@babel/code-frame': 7.27.1
- '@babel/generator': 7.28.3
- '@babel/helper-compilation-targets': 7.27.2
- '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4)
- '@babel/helpers': 7.28.4
- '@babel/parser': 7.28.4
- '@babel/template': 7.27.2
- '@babel/traverse': 7.28.4
- '@babel/types': 7.28.4
+ '@babel/code-frame': 7.29.0
+ '@babel/generator': 7.29.1
+ '@babel/helper-compilation-targets': 7.28.6
+ '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0)
+ '@babel/helpers': 7.29.2
+ '@babel/parser': 7.29.2
+ '@babel/template': 7.28.6
+ '@babel/traverse': 7.29.0
+ '@babel/types': 7.29.0
'@jridgewell/remapping': 2.3.5
convert-source-map: 2.0.0
debug: 4.4.3
@@ -5485,724 +5285,370 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/generator@7.28.3':
+ '@babel/generator@7.29.1':
dependencies:
- '@babel/parser': 7.28.4
- '@babel/types': 7.28.4
+ '@babel/parser': 7.29.2
+ '@babel/types': 7.29.0
'@jridgewell/gen-mapping': 0.3.13
'@jridgewell/trace-mapping': 0.3.31
jsesc: 3.1.0
'@babel/helper-annotate-as-pure@7.27.3':
dependencies:
- '@babel/types': 7.28.4
+ '@babel/types': 7.29.0
- '@babel/helper-compilation-targets@7.27.2':
+ '@babel/helper-compilation-targets@7.28.6':
dependencies:
- '@babel/compat-data': 7.28.4
+ '@babel/compat-data': 7.29.0
'@babel/helper-validator-option': 7.27.1
- browserslist: 4.26.3
+ browserslist: 4.28.1
lru-cache: 5.1.1
semver: 6.3.1
- '@babel/helper-create-class-features-plugin@7.28.3(@babel/core@7.28.4)':
+ '@babel/helper-create-class-features-plugin@7.28.3(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.28.4
+ '@babel/core': 7.29.0
'@babel/helper-annotate-as-pure': 7.27.3
'@babel/helper-member-expression-to-functions': 7.27.1
'@babel/helper-optimise-call-expression': 7.27.1
- '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.4)
+ '@babel/helper-replace-supers': 7.27.1(@babel/core@7.29.0)
'@babel/helper-skip-transparent-expression-wrappers': 7.27.1
- '@babel/traverse': 7.28.4
+ '@babel/traverse': 7.29.0
semver: 6.3.1
transitivePeerDependencies:
- supports-color
- '@babel/helper-create-regexp-features-plugin@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-annotate-as-pure': 7.27.3
- regexpu-core: 6.4.0
- semver: 6.3.1
-
- '@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-compilation-targets': 7.27.2
- '@babel/helper-plugin-utils': 7.27.1
- debug: 4.4.3
- lodash.debounce: 4.0.8
- resolve: 1.22.11
- transitivePeerDependencies:
- - supports-color
-
'@babel/helper-globals@7.28.0': {}
'@babel/helper-member-expression-to-functions@7.27.1':
dependencies:
- '@babel/traverse': 7.28.4
- '@babel/types': 7.28.4
+ '@babel/traverse': 7.29.0
+ '@babel/types': 7.29.0
transitivePeerDependencies:
- supports-color
- '@babel/helper-module-imports@7.27.1':
+ '@babel/helper-module-imports@7.28.6':
dependencies:
- '@babel/traverse': 7.28.4
- '@babel/types': 7.28.4
+ '@babel/traverse': 7.29.0
+ '@babel/types': 7.29.0
transitivePeerDependencies:
- supports-color
- '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.4)':
+ '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-module-imports': 7.27.1
- '@babel/helper-validator-identifier': 7.27.1
- '@babel/traverse': 7.28.4
+ '@babel/core': 7.29.0
+ '@babel/helper-module-imports': 7.28.6
+ '@babel/helper-validator-identifier': 7.28.5
+ '@babel/traverse': 7.29.0
transitivePeerDependencies:
- supports-color
'@babel/helper-optimise-call-expression@7.27.1':
dependencies:
- '@babel/types': 7.28.4
+ '@babel/types': 7.29.0
- '@babel/helper-plugin-utils@7.27.1': {}
+ '@babel/helper-plugin-utils@7.28.6': {}
- '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.28.4)':
+ '@babel/helper-replace-supers@7.27.1(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-annotate-as-pure': 7.27.3
- '@babel/helper-wrap-function': 7.28.3
- '@babel/traverse': 7.28.4
- transitivePeerDependencies:
- - supports-color
-
- '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
+ '@babel/core': 7.29.0
'@babel/helper-member-expression-to-functions': 7.27.1
'@babel/helper-optimise-call-expression': 7.27.1
- '@babel/traverse': 7.28.4
+ '@babel/traverse': 7.29.0
transitivePeerDependencies:
- supports-color
'@babel/helper-skip-transparent-expression-wrappers@7.27.1':
dependencies:
- '@babel/traverse': 7.28.4
- '@babel/types': 7.28.4
+ '@babel/traverse': 7.29.0
+ '@babel/types': 7.29.0
transitivePeerDependencies:
- supports-color
'@babel/helper-string-parser@7.27.1': {}
- '@babel/helper-validator-identifier@7.27.1': {}
+ '@babel/helper-validator-identifier@7.28.5': {}
'@babel/helper-validator-option@7.27.1': {}
- '@babel/helper-wrap-function@7.28.3':
+ '@babel/helpers@7.29.2':
dependencies:
- '@babel/template': 7.27.2
- '@babel/traverse': 7.28.4
- '@babel/types': 7.28.4
+ '@babel/template': 7.28.6
+ '@babel/types': 7.29.0
+
+ '@babel/parser@7.29.2':
+ dependencies:
+ '@babel/types': 7.29.0
+
+ '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.29.0)
+ '@babel/helper-plugin-utils': 7.28.6
transitivePeerDependencies:
- supports-color
- '@babel/helpers@7.28.4':
+ '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.29.0)':
dependencies:
- '@babel/template': 7.27.2
- '@babel/types': 7.28.4
+ '@babel/compat-data': 7.29.0
+ '@babel/core': 7.29.0
+ '@babel/helper-compilation-targets': 7.28.6
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.29.0)
+ '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.29.0)
- '@babel/parser@7.28.4':
+ '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.29.0)':
dependencies:
- '@babel/types': 7.28.4
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1(@babel/core@7.28.4)':
+ '@babel/plugin-syntax-flow@7.27.1(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/traverse': 7.28.4
- transitivePeerDependencies:
- - supports-color
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.28.4)':
+ '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.28.4)':
+ '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.28.4)':
+ '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
- '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.4)
- transitivePeerDependencies:
- - supports-color
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3(@babel/core@7.28.4)':
+ '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/traverse': 7.28.4
- transitivePeerDependencies:
- - supports-color
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.28.4)':
+ '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4)
- '@babel/helper-plugin-utils': 7.27.1
- transitivePeerDependencies:
- - supports-color
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.28.4)':
+ '@babel/plugin-transform-block-scoping@7.28.4(@babel/core@7.29.0)':
dependencies:
- '@babel/compat-data': 7.28.4
- '@babel/core': 7.28.4
- '@babel/helper-compilation-targets': 7.27.2
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.4)
- '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.4)
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.4)':
+ '@babel/plugin-transform-classes@7.28.4(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.28.4
-
- '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-syntax-flow@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4)
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-transform-async-generator-functions@7.28.0(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.4)
- '@babel/traverse': 7.28.4
- transitivePeerDependencies:
- - supports-color
-
- '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-module-imports': 7.27.1
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.4)
- transitivePeerDependencies:
- - supports-color
-
- '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-transform-block-scoping@7.28.4(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4)
- '@babel/helper-plugin-utils': 7.27.1
- transitivePeerDependencies:
- - supports-color
-
- '@babel/plugin-transform-class-static-block@7.28.3(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4)
- '@babel/helper-plugin-utils': 7.27.1
- transitivePeerDependencies:
- - supports-color
-
- '@babel/plugin-transform-classes@7.28.4(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
+ '@babel/core': 7.29.0
'@babel/helper-annotate-as-pure': 7.27.3
- '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-compilation-targets': 7.28.6
'@babel/helper-globals': 7.28.0
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.4)
- '@babel/traverse': 7.28.4
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-replace-supers': 7.27.1(@babel/core@7.29.0)
+ '@babel/traverse': 7.29.0
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.28.4)':
+ '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/template': 7.27.2
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/template': 7.28.6
- '@babel/plugin-transform-destructuring@7.28.0(@babel/core@7.28.4)':
+ '@babel/plugin-transform-destructuring@7.28.0(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/traverse': 7.28.4
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/traverse': 7.29.0
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.28.4)':
+ '@babel/plugin-transform-flow-strip-types@7.27.1(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4)
- '@babel/helper-plugin-utils': 7.27.1
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.29.0)
- '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.28.4)':
+ '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4)
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-transform-explicit-resource-management@7.28.0(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.4)
- transitivePeerDependencies:
- - supports-color
-
- '@babel/plugin-transform-exponentiation-operator@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-transform-flow-strip-types@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.28.4)
-
- '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
'@babel/helper-skip-transparent-expression-wrappers': 7.27.1
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.28.4)':
+ '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-compilation-targets': 7.27.2
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/traverse': 7.28.4
+ '@babel/core': 7.29.0
+ '@babel/helper-compilation-targets': 7.28.6
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/traverse': 7.29.0
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.28.4)':
+ '@babel/plugin-transform-literals@7.27.1(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-literals@7.27.1(@babel/core@7.28.4)':
+ '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-logical-assignment-operators@7.27.1(@babel/core@7.28.4)':
+ '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4)
- '@babel/helper-plugin-utils': 7.27.1
+ '@babel/core': 7.29.0
+ '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0)
+ '@babel/helper-plugin-utils': 7.28.6
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.4)':
+ '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4)
- '@babel/helper-plugin-utils': 7.27.1
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-replace-supers': 7.27.1(@babel/core@7.29.0)
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-modules-systemjs@7.27.1(@babel/core@7.28.4)':
+ '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4)
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/helper-validator-identifier': 7.27.1
- '@babel/traverse': 7.28.4
- transitivePeerDependencies:
- - supports-color
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.28.4)':
+ '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4)
- '@babel/helper-plugin-utils': 7.27.1
- transitivePeerDependencies:
- - supports-color
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.28.4)':
+ '@babel/plugin-transform-react-display-name@7.28.0(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4)
- '@babel/helper-plugin-utils': 7.27.1
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.28.4)':
+ '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.28.4)':
+ '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.28.4)':
+ '@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-transform-object-rest-spread@7.28.4(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-compilation-targets': 7.27.2
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.4)
- '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.4)
- '@babel/traverse': 7.28.4
- transitivePeerDependencies:
- - supports-color
-
- '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.4)
- transitivePeerDependencies:
- - supports-color
-
- '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-transform-optional-chaining@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
- transitivePeerDependencies:
- - supports-color
-
- '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4)
- '@babel/helper-plugin-utils': 7.27.1
- transitivePeerDependencies:
- - supports-color
-
- '@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
+ '@babel/core': 7.29.0
'@babel/helper-annotate-as-pure': 7.27.3
- '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4)
- '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-module-imports': 7.28.6
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.29.0)
+ '@babel/types': 7.29.0
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.28.4)':
+ '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-react-display-name@7.28.0(@babel/core@7.28.4)':
+ '@babel/plugin-transform-spread@7.27.1(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-annotate-as-pure': 7.27.3
- '@babel/helper-module-imports': 7.27.1
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.4)
- '@babel/types': 7.28.4
- transitivePeerDependencies:
- - supports-color
-
- '@babel/plugin-transform-regenerator@7.28.4(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4)
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-transform-spread@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
'@babel/helper-skip-transparent-expression-wrappers': 7.27.1
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.4)':
+ '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.4)':
+ '@babel/runtime@7.29.2': {}
+
+ '@babel/template@7.28.6':
dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
+ '@babel/code-frame': 7.29.0
+ '@babel/parser': 7.29.2
+ '@babel/types': 7.29.0
- '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.4)':
+ '@babel/traverse@7.29.0':
dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4)
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4)
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4)
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/preset-env@7.28.3(@babel/core@7.28.4)':
- dependencies:
- '@babel/compat-data': 7.28.4
- '@babel/core': 7.28.4
- '@babel/helper-compilation-targets': 7.27.2
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/helper-validator-option': 7.27.1
- '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.3(@babel/core@7.28.4)
- '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.4)
- '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.28.4)
- '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.4)
- '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-block-scoping': 7.28.4(@babel/core@7.28.4)
- '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-class-static-block': 7.28.3(@babel/core@7.28.4)
- '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.4)
- '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.4)
- '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-explicit-resource-management': 7.28.0(@babel/core@7.28.4)
- '@babel/plugin-transform-exponentiation-operator': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-json-strings': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-logical-assignment-operators': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-modules-systemjs': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-object-rest-spread': 7.28.4(@babel/core@7.28.4)
- '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.4)
- '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-regenerator': 7.28.4(@babel/core@7.28.4)
- '@babel/plugin-transform-regexp-modifiers': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-unicode-property-regex': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-unicode-sets-regex': 7.27.1(@babel/core@7.28.4)
- '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.28.4)
- babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.4)
- babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.4)
- babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.4)
- core-js-compat: 3.46.0
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
-
- '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/types': 7.28.4
- esutils: 2.0.3
-
- '@babel/runtime@7.28.4': {}
-
- '@babel/template@7.27.2':
- dependencies:
- '@babel/code-frame': 7.27.1
- '@babel/parser': 7.28.4
- '@babel/types': 7.28.4
-
- '@babel/traverse@7.28.4':
- dependencies:
- '@babel/code-frame': 7.27.1
- '@babel/generator': 7.28.3
+ '@babel/code-frame': 7.29.0
+ '@babel/generator': 7.29.1
'@babel/helper-globals': 7.28.0
- '@babel/parser': 7.28.4
- '@babel/template': 7.27.2
- '@babel/types': 7.28.4
+ '@babel/parser': 7.29.2
+ '@babel/template': 7.28.6
+ '@babel/types': 7.29.0
debug: 4.4.3
transitivePeerDependencies:
- supports-color
- '@babel/types@7.28.4':
+ '@babel/types@7.29.0':
dependencies:
'@babel/helper-string-parser': 7.27.1
- '@babel/helper-validator-identifier': 7.27.1
+ '@babel/helper-validator-identifier': 7.28.5
+
+ '@blaineam/videojs-vr@3.1.1':
+ dependencies:
+ '@babel/runtime': 7.29.2
+ global: 4.4.0
+ three: 0.125.2
+ video.js: 7.21.7
+ webvr-polyfill: 0.10.12
+
+ '@cacheable/memory@2.0.8':
+ dependencies:
+ '@cacheable/utils': 2.4.1
+ '@keyv/bigmap': 1.3.1(keyv@5.6.0)
+ hookified: 1.15.1
+ keyv: 5.6.0
+
+ '@cacheable/utils@2.4.1':
+ dependencies:
+ hashery: 1.5.1
+ keyv: 5.6.0
'@cspotcode/source-map-support@0.8.1':
dependencies:
'@jridgewell/trace-mapping': 0.3.9
- '@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1)':
+ '@csstools/css-calc@3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)':
dependencies:
- '@csstools/css-tokenizer': 2.4.1
+ '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-tokenizer': 4.0.0
- '@csstools/css-tokenizer@2.4.1': {}
-
- '@csstools/media-query-list-parser@2.1.13(@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1))(@csstools/css-tokenizer@2.4.1)':
+ '@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0)':
dependencies:
- '@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1)
- '@csstools/css-tokenizer': 2.4.1
+ '@csstools/css-tokenizer': 4.0.0
- '@csstools/selector-specificity@3.1.1(postcss-selector-parser@6.1.2)':
+ '@csstools/css-syntax-patches-for-csstree@1.1.2(css-tree@3.2.1)':
+ optionalDependencies:
+ css-tree: 3.2.1
+
+ '@csstools/css-tokenizer@4.0.0': {}
+
+ '@csstools/media-query-list-parser@5.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)':
dependencies:
- postcss-selector-parser: 6.1.2
+ '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-tokenizer': 4.0.0
+
+ '@csstools/selector-resolve-nested@4.0.0(postcss-selector-parser@7.1.1)':
+ dependencies:
+ postcss-selector-parser: 7.1.1
+
+ '@csstools/selector-specificity@6.0.0(postcss-selector-parser@7.1.1)':
+ dependencies:
+ postcss-selector-parser: 7.1.1
+
+ '@dimforge/rapier3d-compat@0.12.0': {}
'@emotion/babel-plugin@11.13.5':
dependencies:
- '@babel/helper-module-imports': 7.27.1
- '@babel/runtime': 7.28.4
+ '@babel/helper-module-imports': 7.28.6
+ '@babel/runtime': 7.29.2
'@emotion/hash': 0.9.2
'@emotion/memoize': 0.9.0
'@emotion/serialize': 1.3.3
@@ -6229,7 +5675,7 @@ snapshots:
'@emotion/react@11.14.0(@types/react@17.0.89)(react@17.0.2)':
dependencies:
- '@babel/runtime': 7.28.4
+ '@babel/runtime': 7.29.2
'@emotion/babel-plugin': 11.13.5
'@emotion/cache': 11.14.0
'@emotion/serialize': 1.3.3
@@ -6280,81 +5726,90 @@ snapshots:
'@whatwg-node/promise-helpers': 1.3.2
tslib: 2.8.1
- '@esbuild/aix-ppc64@0.21.5':
+ '@esbuild/aix-ppc64@0.27.7':
optional: true
- '@esbuild/android-arm64@0.21.5':
+ '@esbuild/android-arm64@0.27.7':
optional: true
- '@esbuild/android-arm@0.21.5':
+ '@esbuild/android-arm@0.27.7':
optional: true
- '@esbuild/android-x64@0.21.5':
+ '@esbuild/android-x64@0.27.7':
optional: true
- '@esbuild/darwin-arm64@0.21.5':
+ '@esbuild/darwin-arm64@0.27.7':
optional: true
- '@esbuild/darwin-x64@0.21.5':
+ '@esbuild/darwin-x64@0.27.7':
optional: true
- '@esbuild/freebsd-arm64@0.21.5':
+ '@esbuild/freebsd-arm64@0.27.7':
optional: true
- '@esbuild/freebsd-x64@0.21.5':
+ '@esbuild/freebsd-x64@0.27.7':
optional: true
- '@esbuild/linux-arm64@0.21.5':
+ '@esbuild/linux-arm64@0.27.7':
optional: true
- '@esbuild/linux-arm@0.21.5':
+ '@esbuild/linux-arm@0.27.7':
optional: true
- '@esbuild/linux-ia32@0.21.5':
+ '@esbuild/linux-ia32@0.27.7':
optional: true
- '@esbuild/linux-loong64@0.21.5':
+ '@esbuild/linux-loong64@0.27.7':
optional: true
- '@esbuild/linux-mips64el@0.21.5':
+ '@esbuild/linux-mips64el@0.27.7':
optional: true
- '@esbuild/linux-ppc64@0.21.5':
+ '@esbuild/linux-ppc64@0.27.7':
optional: true
- '@esbuild/linux-riscv64@0.21.5':
+ '@esbuild/linux-riscv64@0.27.7':
optional: true
- '@esbuild/linux-s390x@0.21.5':
+ '@esbuild/linux-s390x@0.27.7':
optional: true
- '@esbuild/linux-x64@0.21.5':
+ '@esbuild/linux-x64@0.27.7':
optional: true
- '@esbuild/netbsd-x64@0.21.5':
+ '@esbuild/netbsd-arm64@0.27.7':
optional: true
- '@esbuild/openbsd-x64@0.21.5':
+ '@esbuild/netbsd-x64@0.27.7':
optional: true
- '@esbuild/sunos-x64@0.21.5':
+ '@esbuild/openbsd-arm64@0.27.7':
optional: true
- '@esbuild/win32-arm64@0.21.5':
+ '@esbuild/openbsd-x64@0.27.7':
optional: true
- '@esbuild/win32-ia32@0.21.5':
+ '@esbuild/openharmony-arm64@0.27.7':
optional: true
- '@esbuild/win32-x64@0.21.5':
+ '@esbuild/sunos-x64@0.27.7':
optional: true
- '@eslint-community/eslint-utils@4.9.0(eslint@8.57.1)':
+ '@esbuild/win32-arm64@0.27.7':
+ optional: true
+
+ '@esbuild/win32-ia32@0.27.7':
+ optional: true
+
+ '@esbuild/win32-x64@0.27.7':
+ optional: true
+
+ '@eslint-community/eslint-utils@4.9.1(eslint@8.57.1)':
dependencies:
eslint: 8.57.1
eslint-visitor-keys: 3.4.3
- '@eslint-community/regexpp@4.12.1': {}
+ '@eslint-community/regexpp@4.12.2': {}
'@eslint/eslintrc@2.1.4':
dependencies:
@@ -6364,7 +5819,7 @@ snapshots:
globals: 13.24.0
ignore: 5.3.2
import-fresh: 3.3.1
- js-yaml: 4.1.0
+ js-yaml: 4.1.1
minimatch: 3.1.5
strip-json-comments: 3.1.1
transitivePeerDependencies:
@@ -6385,10 +5840,7 @@ snapshots:
'@floating-ui/utils@0.2.10': {}
- '@formatjs/ecma402-abstract@1.18.3':
- dependencies:
- '@formatjs/intl-localematcher': 0.5.4
- tslib: 2.8.1
+ '@formatjs/bigdecimal@0.2.0': {}
'@formatjs/ecma402-abstract@1.4.0':
dependencies:
@@ -6411,6 +5863,12 @@ snapshots:
decimal.js: 10.6.0
tslib: 2.8.1
+ '@formatjs/ecma402-abstract@3.2.0':
+ dependencies:
+ '@formatjs/bigdecimal': 0.2.0
+ '@formatjs/fast-memoize': 3.1.1
+ '@formatjs/intl-localematcher': 0.8.2
+
'@formatjs/fast-memoize@2.2.3':
dependencies:
tslib: 2.8.1
@@ -6419,6 +5877,8 @@ snapshots:
dependencies:
tslib: 2.8.1
+ '@formatjs/fast-memoize@3.1.1': {}
+
'@formatjs/icu-messageformat-parser@2.9.4':
dependencies:
'@formatjs/ecma402-abstract': 2.2.4
@@ -6436,17 +5896,7 @@ snapshots:
'@formatjs/intl-localematcher': 0.5.8
tslib: 2.8.1
- '@formatjs/intl-enumerator@1.4.6':
- dependencies:
- tslib: 2.8.1
-
- '@formatjs/intl-getcanonicallocales@2.3.0':
- dependencies:
- tslib: 2.8.1
-
- '@formatjs/intl-getcanonicallocales@2.5.6':
- dependencies:
- tslib: 2.8.1
+ '@formatjs/intl-getcanonicallocales@3.2.2': {}
'@formatjs/intl-listformat@7.7.5':
dependencies:
@@ -6454,16 +5904,11 @@ snapshots:
'@formatjs/intl-localematcher': 0.5.8
tslib: 2.8.1
- '@formatjs/intl-locale@3.4.6':
+ '@formatjs/intl-locale@5.3.1':
dependencies:
- '@formatjs/ecma402-abstract': 1.18.3
- '@formatjs/intl-enumerator': 1.4.6
- '@formatjs/intl-getcanonicallocales': 2.3.0
- tslib: 2.8.1
-
- '@formatjs/intl-localematcher@0.5.4':
- dependencies:
- tslib: 2.8.1
+ '@formatjs/ecma402-abstract': 3.2.0
+ '@formatjs/intl-getcanonicallocales': 3.2.2
+ '@formatjs/intl-supportedvaluesof': 2.3.0
'@formatjs/intl-localematcher@0.5.8':
dependencies:
@@ -6473,6 +5918,10 @@ snapshots:
dependencies:
tslib: 2.8.1
+ '@formatjs/intl-localematcher@0.8.2':
+ dependencies:
+ '@formatjs/fast-memoize': 3.1.1
+
'@formatjs/intl-numberformat@5.7.6':
dependencies:
'@formatjs/ecma402-abstract': 1.4.0
@@ -6485,14 +5934,18 @@ snapshots:
decimal.js: 10.6.0
tslib: 2.8.1
- '@formatjs/intl-pluralrules@5.4.6':
+ '@formatjs/intl-pluralrules@6.3.1':
dependencies:
- '@formatjs/ecma402-abstract': 2.3.6
- '@formatjs/intl-localematcher': 0.6.2
- decimal.js: 10.6.0
- tslib: 2.8.1
+ '@formatjs/bigdecimal': 0.2.0
+ '@formatjs/ecma402-abstract': 3.2.0
+ '@formatjs/intl-localematcher': 0.8.2
- '@formatjs/intl@2.10.15(typescript@4.8.4)':
+ '@formatjs/intl-supportedvaluesof@2.3.0':
+ dependencies:
+ '@formatjs/ecma402-abstract': 3.2.0
+ '@formatjs/fast-memoize': 3.1.1
+
+ '@formatjs/intl@2.10.15(typescript@5.9.3)':
dependencies:
'@formatjs/ecma402-abstract': 2.2.4
'@formatjs/fast-memoize': 2.2.3
@@ -6502,35 +5955,35 @@ snapshots:
intl-messageformat: 10.7.7
tslib: 2.8.1
optionalDependencies:
- typescript: 4.8.4
+ typescript: 5.9.3
'@formatjs/ts-transformer@2.13.0':
dependencies:
intl-messageformat-parser: 6.1.2
tslib: 2.8.1
- typescript: 4.8.4
+ typescript: 4.9.5
- '@fortawesome/fontawesome-common-types@7.1.0': {}
+ '@fortawesome/fontawesome-common-types@7.2.0': {}
- '@fortawesome/fontawesome-svg-core@7.1.0':
+ '@fortawesome/fontawesome-svg-core@7.2.0':
dependencies:
- '@fortawesome/fontawesome-common-types': 7.1.0
+ '@fortawesome/fontawesome-common-types': 7.2.0
- '@fortawesome/free-brands-svg-icons@7.1.0':
+ '@fortawesome/free-brands-svg-icons@7.2.0':
dependencies:
- '@fortawesome/fontawesome-common-types': 7.1.0
+ '@fortawesome/fontawesome-common-types': 7.2.0
- '@fortawesome/free-regular-svg-icons@7.1.0':
+ '@fortawesome/free-regular-svg-icons@7.2.0':
dependencies:
- '@fortawesome/fontawesome-common-types': 7.1.0
+ '@fortawesome/fontawesome-common-types': 7.2.0
- '@fortawesome/free-solid-svg-icons@7.1.0':
+ '@fortawesome/free-solid-svg-icons@7.2.0':
dependencies:
- '@fortawesome/fontawesome-common-types': 7.1.0
+ '@fortawesome/fontawesome-common-types': 7.2.0
- '@fortawesome/react-fontawesome@0.2.6(@fortawesome/fontawesome-svg-core@7.1.0)(react@17.0.2)':
+ '@fortawesome/react-fontawesome@0.2.6(@fortawesome/fontawesome-svg-core@7.2.0)(react@17.0.2)':
dependencies:
- '@fortawesome/fontawesome-svg-core': 7.1.0
+ '@fortawesome/fontawesome-svg-core': 7.2.0
prop-types: 15.8.1
react: 17.0.2
@@ -6540,32 +5993,32 @@ snapshots:
graphql: 16.11.0
tslib: 2.6.3
- '@graphql-codegen/cli@5.0.7(@parcel/watcher@2.5.1)(@types/node@18.19.130)(graphql@16.11.0)(typescript@4.8.4)':
+ '@graphql-codegen/cli@5.0.7(@parcel/watcher@2.5.1)(@types/node@20.19.37)(graphql@16.11.0)(typescript@5.9.3)':
dependencies:
- '@babel/generator': 7.28.3
- '@babel/template': 7.27.2
- '@babel/types': 7.28.4
+ '@babel/generator': 7.29.1
+ '@babel/template': 7.28.6
+ '@babel/types': 7.29.0
'@graphql-codegen/client-preset': 4.8.3(graphql@16.11.0)
'@graphql-codegen/core': 4.0.2(graphql@16.11.0)
'@graphql-codegen/plugin-helpers': 5.1.1(graphql@16.11.0)
'@graphql-tools/apollo-engine-loader': 8.0.22(graphql@16.11.0)
'@graphql-tools/code-file-loader': 8.1.22(graphql@16.11.0)
'@graphql-tools/git-loader': 8.0.26(graphql@16.11.0)
- '@graphql-tools/github-loader': 8.0.22(@types/node@18.19.130)(graphql@16.11.0)
+ '@graphql-tools/github-loader': 8.0.22(@types/node@20.19.37)(graphql@16.11.0)
'@graphql-tools/graphql-file-loader': 8.1.2(graphql@16.11.0)
'@graphql-tools/json-file-loader': 8.0.20(graphql@16.11.0)
'@graphql-tools/load': 8.1.2(graphql@16.11.0)
- '@graphql-tools/prisma-loader': 8.0.17(@types/node@18.19.130)(graphql@16.11.0)
- '@graphql-tools/url-loader': 8.0.33(@types/node@18.19.130)(graphql@16.11.0)
+ '@graphql-tools/prisma-loader': 8.0.17(@types/node@20.19.37)(graphql@16.11.0)
+ '@graphql-tools/url-loader': 8.0.33(@types/node@20.19.37)(graphql@16.11.0)
'@graphql-tools/utils': 10.9.1(graphql@16.11.0)
'@whatwg-node/fetch': 0.10.11
chalk: 4.1.2
- cosmiconfig: 8.3.6(typescript@4.8.4)
+ cosmiconfig: 8.3.6(typescript@5.9.3)
debounce: 1.2.1
detect-indent: 6.1.0
graphql: 16.11.0
- graphql-config: 5.1.5(@types/node@18.19.130)(graphql@16.11.0)(typescript@4.8.4)
- inquirer: 8.2.7(@types/node@18.19.130)
+ graphql-config: 5.1.5(@types/node@20.19.37)(graphql@16.11.0)(typescript@5.9.3)
+ inquirer: 8.2.7(@types/node@20.19.37)
is-glob: 4.0.3
jiti: 1.21.7
json-to-pretty-yaml: 1.2.2
@@ -6596,8 +6049,8 @@ snapshots:
'@graphql-codegen/client-preset@4.8.3(graphql@16.11.0)':
dependencies:
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/template': 7.27.2
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/template': 7.28.6
'@graphql-codegen/add': 5.0.3(graphql@16.11.0)
'@graphql-codegen/gql-tag-operations': 4.0.17(graphql@16.11.0)
'@graphql-codegen/plugin-helpers': 5.1.1(graphql@16.11.0)
@@ -6820,7 +6273,7 @@ snapshots:
- uWebSockets.js
- utf-8-validate
- '@graphql-tools/executor-http@1.3.3(@types/node@18.19.130)(graphql@16.11.0)':
+ '@graphql-tools/executor-http@1.3.3(@types/node@20.19.37)(graphql@16.11.0)':
dependencies:
'@graphql-hive/signal': 1.0.0
'@graphql-tools/executor-common': 0.0.4(graphql@16.11.0)
@@ -6830,7 +6283,7 @@ snapshots:
'@whatwg-node/fetch': 0.10.11
'@whatwg-node/promise-helpers': 1.3.2
graphql: 16.11.0
- meros: 1.3.2(@types/node@18.19.130)
+ meros: 1.3.2(@types/node@20.19.37)
tslib: 2.8.1
transitivePeerDependencies:
- '@types/node'
@@ -6869,9 +6322,9 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@graphql-tools/github-loader@8.0.22(@types/node@18.19.130)(graphql@16.11.0)':
+ '@graphql-tools/github-loader@8.0.22(@types/node@20.19.37)(graphql@16.11.0)':
dependencies:
- '@graphql-tools/executor-http': 1.3.3(@types/node@18.19.130)(graphql@16.11.0)
+ '@graphql-tools/executor-http': 1.3.3(@types/node@20.19.37)(graphql@16.11.0)
'@graphql-tools/graphql-tag-pluck': 8.3.21(graphql@16.11.0)
'@graphql-tools/utils': 10.9.1(graphql@16.11.0)
'@whatwg-node/fetch': 0.10.11
@@ -6896,11 +6349,11 @@ snapshots:
'@graphql-tools/graphql-tag-pluck@8.3.21(graphql@16.11.0)':
dependencies:
- '@babel/core': 7.28.4
- '@babel/parser': 7.28.4
- '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.28.4)
- '@babel/traverse': 7.28.4
- '@babel/types': 7.28.4
+ '@babel/core': 7.29.0
+ '@babel/parser': 7.29.2
+ '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.29.0)
+ '@babel/traverse': 7.29.0
+ '@babel/types': 7.29.0
'@graphql-tools/utils': 10.9.1(graphql@16.11.0)
graphql: 16.11.0
tslib: 2.8.1
@@ -6947,11 +6400,11 @@ snapshots:
'@graphql-tools/optimize@2.0.0(graphql@16.11.0)':
dependencies:
graphql: 16.11.0
- tslib: 2.6.3
+ tslib: 2.8.1
- '@graphql-tools/prisma-loader@8.0.17(@types/node@18.19.130)(graphql@16.11.0)':
+ '@graphql-tools/prisma-loader@8.0.17(@types/node@20.19.37)(graphql@16.11.0)':
dependencies:
- '@graphql-tools/url-loader': 8.0.33(@types/node@18.19.130)(graphql@16.11.0)
+ '@graphql-tools/url-loader': 8.0.33(@types/node@20.19.37)(graphql@16.11.0)
'@graphql-tools/utils': 10.9.1(graphql@16.11.0)
'@types/js-yaml': 4.0.9
'@whatwg-node/fetch': 0.10.11
@@ -6963,7 +6416,7 @@ snapshots:
http-proxy-agent: 7.0.2
https-proxy-agent: 7.0.6
jose: 5.10.0
- js-yaml: 4.1.0
+ js-yaml: 4.1.1
lodash: 4.17.21
scuid: 1.1.0
tslib: 2.8.1
@@ -6993,7 +6446,7 @@ snapshots:
'@ardatan/relay-compiler': 12.0.3(graphql@16.11.0)
'@graphql-tools/utils': 10.9.1(graphql@16.11.0)
graphql: 16.11.0
- tslib: 2.6.3
+ tslib: 2.8.1
transitivePeerDependencies:
- encoding
@@ -7004,10 +6457,10 @@ snapshots:
graphql: 16.11.0
tslib: 2.8.1
- '@graphql-tools/url-loader@8.0.33(@types/node@18.19.130)(graphql@16.11.0)':
+ '@graphql-tools/url-loader@8.0.33(@types/node@20.19.37)(graphql@16.11.0)':
dependencies:
'@graphql-tools/executor-graphql-ws': 2.0.7(graphql@16.11.0)
- '@graphql-tools/executor-http': 1.3.3(@types/node@18.19.130)(graphql@16.11.0)
+ '@graphql-tools/executor-http': 1.3.3(@types/node@20.19.37)(graphql@16.11.0)
'@graphql-tools/executor-legacy-ws': 1.1.19(graphql@16.11.0)
'@graphql-tools/utils': 10.9.1(graphql@16.11.0)
'@graphql-tools/wrap': 10.1.4(graphql@16.11.0)
@@ -7067,12 +6520,12 @@ snapshots:
'@humanwhocodes/object-schema@2.0.3': {}
- '@inquirer/external-editor@1.0.2(@types/node@18.19.130)':
+ '@inquirer/external-editor@1.0.2(@types/node@20.19.37)':
dependencies:
chardet: 2.1.0
iconv-lite: 0.7.0
optionalDependencies:
- '@types/node': 18.19.130
+ '@types/node': 20.19.37
'@jridgewell/gen-mapping@0.3.13':
dependencies:
@@ -7105,6 +6558,14 @@ snapshots:
'@juggle/resize-observer@3.4.0': {}
+ '@keyv/bigmap@1.3.1(keyv@5.6.0)':
+ dependencies:
+ hashery: 1.5.1
+ hookified: 1.15.1
+ keyv: 5.6.0
+
+ '@keyv/serialize@1.1.1': {}
+
'@mapbox/hast-util-table-cell-style@0.2.1':
dependencies:
unist-util-visit: 1.4.1
@@ -7119,7 +6580,7 @@ snapshots:
'@nodelib/fs.walk@1.2.8':
dependencies:
'@nodelib/fs.scandir': 2.1.5
- fastq: 1.19.1
+ fastq: 1.20.1
'@parcel/watcher-android-arm64@2.5.1':
optional: true
@@ -7210,72 +6671,81 @@ snapshots:
dequal: 2.0.3
react: 17.0.2
- '@rolldown/pluginutils@1.0.0-beta.43': {}
+ '@rolldown/pluginutils@1.0.0-rc.3': {}
- '@rollup/rollup-android-arm-eabi@4.53.1':
+ '@rollup/rollup-android-arm-eabi@4.60.2':
optional: true
- '@rollup/rollup-android-arm64@4.53.1':
+ '@rollup/rollup-android-arm64@4.60.2':
optional: true
- '@rollup/rollup-darwin-arm64@4.53.1':
+ '@rollup/rollup-darwin-arm64@4.60.2':
optional: true
- '@rollup/rollup-darwin-x64@4.53.1':
+ '@rollup/rollup-darwin-x64@4.60.2':
optional: true
- '@rollup/rollup-freebsd-arm64@4.53.1':
+ '@rollup/rollup-freebsd-arm64@4.60.2':
optional: true
- '@rollup/rollup-freebsd-x64@4.53.1':
+ '@rollup/rollup-freebsd-x64@4.60.2':
optional: true
- '@rollup/rollup-linux-arm-gnueabihf@4.53.1':
+ '@rollup/rollup-linux-arm-gnueabihf@4.60.2':
optional: true
- '@rollup/rollup-linux-arm-musleabihf@4.53.1':
+ '@rollup/rollup-linux-arm-musleabihf@4.60.2':
optional: true
- '@rollup/rollup-linux-arm64-gnu@4.53.1':
+ '@rollup/rollup-linux-arm64-gnu@4.60.2':
optional: true
- '@rollup/rollup-linux-arm64-musl@4.53.1':
+ '@rollup/rollup-linux-arm64-musl@4.60.2':
optional: true
- '@rollup/rollup-linux-loong64-gnu@4.53.1':
+ '@rollup/rollup-linux-loong64-gnu@4.60.2':
optional: true
- '@rollup/rollup-linux-ppc64-gnu@4.53.1':
+ '@rollup/rollup-linux-loong64-musl@4.60.2':
optional: true
- '@rollup/rollup-linux-riscv64-gnu@4.53.1':
+ '@rollup/rollup-linux-ppc64-gnu@4.60.2':
optional: true
- '@rollup/rollup-linux-riscv64-musl@4.53.1':
+ '@rollup/rollup-linux-ppc64-musl@4.60.2':
optional: true
- '@rollup/rollup-linux-s390x-gnu@4.53.1':
+ '@rollup/rollup-linux-riscv64-gnu@4.60.2':
optional: true
- '@rollup/rollup-linux-x64-gnu@4.53.1':
+ '@rollup/rollup-linux-riscv64-musl@4.60.2':
optional: true
- '@rollup/rollup-linux-x64-musl@4.53.1':
+ '@rollup/rollup-linux-s390x-gnu@4.60.2':
optional: true
- '@rollup/rollup-openharmony-arm64@4.53.1':
+ '@rollup/rollup-linux-x64-gnu@4.60.2':
optional: true
- '@rollup/rollup-win32-arm64-msvc@4.53.1':
+ '@rollup/rollup-linux-x64-musl@4.60.2':
optional: true
- '@rollup/rollup-win32-ia32-msvc@4.53.1':
+ '@rollup/rollup-openbsd-x64@4.60.2':
optional: true
- '@rollup/rollup-win32-x64-gnu@4.53.1':
+ '@rollup/rollup-openharmony-arm64@4.60.2':
optional: true
- '@rollup/rollup-win32-x64-msvc@4.53.1':
+ '@rollup/rollup-win32-arm64-msvc@4.60.2':
+ optional: true
+
+ '@rollup/rollup-win32-ia32-msvc@4.60.2':
+ optional: true
+
+ '@rollup/rollup-win32-x64-gnu@4.60.2':
+ optional: true
+
+ '@rollup/rollup-win32-x64-msvc@4.60.2':
optional: true
'@rtsao/scc@1.1.0': {}
@@ -7289,6 +6759,8 @@ snapshots:
video.js: 7.21.7
webcomponents.js: https://codeload.github.com/webcomponents/webcomponentsjs/tar.gz/8a2e40557b177e2cca0def2553f84c8269c8f93e
+ '@sindresorhus/merge-streams@4.0.0': {}
+
'@theguild/federation-composition@0.20.1(graphql@16.11.0)':
dependencies:
constant-case: 3.0.4
@@ -7307,7 +6779,7 @@ snapshots:
'@tsconfig/node16@1.0.4': {}
- '@tweenjs/tween.js@18.6.4': {}
+ '@tweenjs/tween.js@23.1.3': {}
'@types/apollo-upload-client@18.0.1(@types/react@17.0.89)(graphql-ws@5.16.2(graphql@16.11.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)':
dependencies:
@@ -7323,38 +6795,34 @@ snapshots:
'@types/babel__core@7.20.5':
dependencies:
- '@babel/parser': 7.28.4
- '@babel/types': 7.28.4
+ '@babel/parser': 7.29.2
+ '@babel/types': 7.29.0
'@types/babel__generator': 7.27.0
'@types/babel__template': 7.4.4
'@types/babel__traverse': 7.28.0
'@types/babel__generator@7.27.0':
dependencies:
- '@babel/types': 7.28.4
+ '@babel/types': 7.29.0
'@types/babel__template@7.4.4':
dependencies:
- '@babel/parser': 7.28.4
- '@babel/types': 7.28.4
+ '@babel/parser': 7.29.2
+ '@babel/types': 7.29.0
'@types/babel__traverse@7.28.0':
dependencies:
- '@babel/types': 7.28.4
-
- '@types/cookie@0.3.3': {}
+ '@babel/types': 7.29.0
'@types/crypto-js@4.2.2': {}
- '@types/dom-screen-wake-lock@1.0.3': {}
-
'@types/estree@1.0.8': {}
'@types/extract-files@13.0.2': {}
'@types/fs-extra@9.0.13':
dependencies:
- '@types/node': 18.19.130
+ '@types/node': 20.19.37
'@types/history@4.7.11': {}
@@ -7385,9 +6853,9 @@ snapshots:
'@types/mousetrap@1.6.15': {}
- '@types/node@18.19.130':
+ '@types/node@20.19.37':
dependencies:
- undici-types: 5.26.5
+ undici-types: 6.21.0
'@types/normalize-package-data@2.4.4': {}
@@ -7451,18 +6919,17 @@ snapshots:
dependencies:
schema-utils: 2.7.1
- '@types/semver@7.7.1': {}
-
'@types/stats.js@0.17.4': {}
- '@types/three@0.154.0':
+ '@types/three@0.183.1':
dependencies:
- '@tweenjs/tween.js': 18.6.4
+ '@dimforge/rapier3d-compat': 0.12.0
+ '@tweenjs/tween.js': 23.1.3
'@types/stats.js': 0.17.4
'@types/webxr': 0.5.24
- fflate: 0.6.10
- lil-gui: 0.17.0
- meshoptimizer: 0.18.1
+ '@webgpu/types': 0.1.69
+ fflate: 0.8.2
+ meshoptimizer: 1.0.1
'@types/ua-parser-js@0.7.39': {}
@@ -7484,97 +6951,94 @@ snapshots:
'@types/ws@8.18.1':
dependencies:
- '@types/node': 18.19.130
+ '@types/node': 20.19.37
- '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.8.4))(eslint@8.57.1)(typescript@4.8.4)':
+ '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3)':
dependencies:
- '@eslint-community/regexpp': 4.12.1
- '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@4.8.4)
- '@typescript-eslint/scope-manager': 5.62.0
- '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.1)(typescript@4.8.4)
- '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@4.8.4)
- debug: 4.4.3
+ '@eslint-community/regexpp': 4.12.2
+ '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.9.3)
+ '@typescript-eslint/scope-manager': 7.18.0
+ '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.1)(typescript@5.9.3)
+ '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.9.3)
+ '@typescript-eslint/visitor-keys': 7.18.0
eslint: 8.57.1
graphemer: 1.4.0
ignore: 5.3.2
- natural-compare-lite: 1.4.0
- semver: 7.7.3
- tsutils: 3.21.0(typescript@4.8.4)
+ natural-compare: 1.4.0
+ ts-api-utils: 1.4.3(typescript@5.9.3)
optionalDependencies:
- typescript: 4.8.4
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.8.4)':
+ '@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/scope-manager': 5.62.0
- '@typescript-eslint/types': 5.62.0
- '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.8.4)
+ '@typescript-eslint/scope-manager': 7.18.0
+ '@typescript-eslint/types': 7.18.0
+ '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.9.3)
+ '@typescript-eslint/visitor-keys': 7.18.0
debug: 4.4.3
eslint: 8.57.1
optionalDependencies:
- typescript: 4.8.4
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/scope-manager@5.62.0':
+ '@typescript-eslint/scope-manager@7.18.0':
dependencies:
- '@typescript-eslint/types': 5.62.0
- '@typescript-eslint/visitor-keys': 5.62.0
+ '@typescript-eslint/types': 7.18.0
+ '@typescript-eslint/visitor-keys': 7.18.0
- '@typescript-eslint/type-utils@5.62.0(eslint@8.57.1)(typescript@4.8.4)':
+ '@typescript-eslint/type-utils@7.18.0(eslint@8.57.1)(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.8.4)
- '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@4.8.4)
+ '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.9.3)
+ '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.9.3)
debug: 4.4.3
eslint: 8.57.1
- tsutils: 3.21.0(typescript@4.8.4)
+ ts-api-utils: 1.4.3(typescript@5.9.3)
optionalDependencies:
- typescript: 4.8.4
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/types@5.62.0': {}
+ '@typescript-eslint/types@7.18.0': {}
- '@typescript-eslint/typescript-estree@5.62.0(typescript@4.8.4)':
+ '@typescript-eslint/typescript-estree@7.18.0(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/types': 5.62.0
- '@typescript-eslint/visitor-keys': 5.62.0
+ '@typescript-eslint/types': 7.18.0
+ '@typescript-eslint/visitor-keys': 7.18.0
debug: 4.4.3
globby: 11.1.0
is-glob: 4.0.3
- semver: 7.7.3
- tsutils: 3.21.0(typescript@4.8.4)
+ minimatch: 9.0.9
+ semver: 7.7.4
+ ts-api-utils: 1.4.3(typescript@5.9.3)
optionalDependencies:
- typescript: 4.8.4
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@5.62.0(eslint@8.57.1)(typescript@4.8.4)':
+ '@typescript-eslint/utils@7.18.0(eslint@8.57.1)(typescript@5.9.3)':
dependencies:
- '@eslint-community/eslint-utils': 4.9.0(eslint@8.57.1)
- '@types/json-schema': 7.0.15
- '@types/semver': 7.7.1
- '@typescript-eslint/scope-manager': 5.62.0
- '@typescript-eslint/types': 5.62.0
- '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.8.4)
+ '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1)
+ '@typescript-eslint/scope-manager': 7.18.0
+ '@typescript-eslint/types': 7.18.0
+ '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.9.3)
eslint: 8.57.1
- eslint-scope: 5.1.1
- semver: 7.7.3
transitivePeerDependencies:
- supports-color
- typescript
- '@typescript-eslint/visitor-keys@5.62.0':
+ '@typescript-eslint/visitor-keys@7.18.0':
dependencies:
- '@typescript-eslint/types': 5.62.0
+ '@typescript-eslint/types': 7.18.0
eslint-visitor-keys: 3.4.3
'@ungap/structured-clone@1.3.0': {}
'@videojs/http-streaming@2.16.3(video.js@7.21.7)':
dependencies:
- '@babel/runtime': 7.28.4
+ '@babel/runtime': 7.29.2
'@videojs/vhs-utils': 3.0.5
aes-decrypter: 3.1.3
global: 4.4.0
@@ -7585,42 +7049,29 @@ snapshots:
'@videojs/vhs-utils@3.0.5':
dependencies:
- '@babel/runtime': 7.28.4
+ '@babel/runtime': 7.29.2
global: 4.4.0
url-toolkit: 2.2.5
'@videojs/xhr@2.6.0':
dependencies:
- '@babel/runtime': 7.28.4
+ '@babel/runtime': 7.29.2
global: 4.4.0
is-function: 1.0.2
- '@vitejs/plugin-legacy@5.4.3(terser@5.44.0)(vite@5.4.21(@types/node@18.19.130)(sass@1.93.2)(terser@5.44.0))':
+ '@vitejs/plugin-react@5.2.0(vite@7.3.2(@types/node@20.19.37)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.98.0)(terser@5.46.1)(yaml@2.8.1))':
dependencies:
- '@babel/core': 7.28.4
- '@babel/preset-env': 7.28.3(@babel/core@7.28.4)
- browserslist: 4.26.3
- browserslist-to-esbuild: 2.1.1(browserslist@4.26.3)
- core-js: 3.46.0
- magic-string: 0.30.19
- regenerator-runtime: 0.14.1
- systemjs: 6.15.1
- terser: 5.44.0
- vite: 5.4.21(@types/node@18.19.130)(sass@1.93.2)(terser@5.44.0)
+ '@babel/core': 7.29.0
+ '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.29.0)
+ '@rolldown/pluginutils': 1.0.0-rc.3
+ '@types/babel__core': 7.20.5
+ react-refresh: 0.18.0
+ vite: 7.3.2(@types/node@20.19.37)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.98.0)(terser@5.46.1)(yaml@2.8.1)
transitivePeerDependencies:
- supports-color
- '@vitejs/plugin-react@5.1.0(vite@5.4.21(@types/node@18.19.130)(sass@1.93.2)(terser@5.44.0))':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.4)
- '@rolldown/pluginutils': 1.0.0-beta.43
- '@types/babel__core': 7.20.5
- react-refresh: 0.18.0
- vite: 5.4.21(@types/node@18.19.130)(sass@1.93.2)(terser@5.44.0)
- transitivePeerDependencies:
- - supports-color
+ '@webgpu/types@0.1.69': {}
'@whatwg-node/disposablestack@0.0.6':
dependencies:
@@ -7659,21 +7110,21 @@ snapshots:
dependencies:
tslib: 2.8.1
- '@xmldom/xmldom@0.8.11': {}
+ '@xmldom/xmldom@0.8.13': {}
- acorn-jsx@5.3.2(acorn@8.15.0):
+ acorn-jsx@5.3.2(acorn@8.16.0):
dependencies:
- acorn: 8.15.0
+ acorn: 8.16.0
acorn-walk@8.3.4:
dependencies:
- acorn: 8.15.0
+ acorn: 8.16.0
- acorn@8.15.0: {}
+ acorn@8.16.0: {}
aes-decrypter@3.1.3:
dependencies:
- '@babel/runtime': 7.28.4
+ '@babel/runtime': 7.29.2
'@videojs/vhs-utils': 3.0.5
global: 4.4.0
pkcs7: 1.0.4
@@ -7709,6 +7160,8 @@ snapshots:
ansi-regex@5.0.1: {}
+ ansi-regex@6.2.2: {}
+
ansi-styles@4.3.0:
dependencies:
color-convert: 2.0.1
@@ -7824,39 +7277,15 @@ snapshots:
babel-plugin-macros@3.1.0:
dependencies:
- '@babel/runtime': 7.28.4
+ '@babel/runtime': 7.29.2
cosmiconfig: 7.1.0
resolve: 1.22.11
- babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.28.4):
- dependencies:
- '@babel/compat-data': 7.28.4
- '@babel/core': 7.28.4
- '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.4)
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
-
- babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.28.4):
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.4)
- core-js-compat: 3.46.0
- transitivePeerDependencies:
- - supports-color
-
- babel-plugin-polyfill-regenerator@0.6.5(@babel/core@7.28.4):
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.4)
- transitivePeerDependencies:
- - supports-color
-
babel-plugin-react-intl@7.9.4:
dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/types': 7.28.4
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+ '@babel/types': 7.29.0
'@formatjs/ts-transformer': 2.13.0
'@types/babel__core': 7.20.5
'@types/fs-extra': 9.0.13
@@ -7870,35 +7299,35 @@ snapshots:
babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0: {}
- babel-preset-fbjs@3.4.0(@babel/core@7.28.4):
+ babel-preset-fbjs@3.4.0(@babel/core@7.29.0):
dependencies:
- '@babel/core': 7.28.4
- '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.28.4)
- '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.28.4)
- '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.28.4)
- '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.4)
- '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-block-scoping': 7.28.4(@babel/core@7.28.4)
- '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.4)
- '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.4)
- '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.4)
- '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.28.4)
- '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.4)
+ '@babel/core': 7.29.0
+ '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.29.0)
+ '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.29.0)
+ '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.29.0)
+ '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.29.0)
+ '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-block-scoping': 7.28.4(@babel/core@7.29.0)
+ '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.29.0)
+ '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.29.0)
+ '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.29.0)
+ '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.29.0)
+ '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.29.0)
babel-plugin-syntax-trailing-function-commas: 7.0.0-beta.0
transitivePeerDependencies:
- supports-color
@@ -7907,17 +7336,13 @@ snapshots:
balanced-match@1.0.2: {}
- balanced-match@2.0.0: {}
-
- balanced-match@4.0.4: {}
-
base64-blob@1.4.1:
dependencies:
b64-to-blob: 1.2.19
base64-js@1.5.1: {}
- baseline-browser-mapping@2.8.19: {}
+ baseline-browser-mapping@2.10.12: {}
bcp-47-match@1.0.3: {}
@@ -7943,31 +7368,26 @@ snapshots:
jquery: 3.7.1
popper.js: 1.16.1
- brace-expansion@1.1.12:
+ brace-expansion@1.1.14:
dependencies:
balanced-match: 1.0.2
concat-map: 0.0.1
- brace-expansion@5.0.3:
+ brace-expansion@2.0.3:
dependencies:
- balanced-match: 4.0.4
+ balanced-match: 1.0.2
braces@3.0.3:
dependencies:
fill-range: 7.1.1
- browserslist-to-esbuild@2.1.1(browserslist@4.26.3):
+ browserslist@4.28.1:
dependencies:
- browserslist: 4.26.3
- meow: 13.2.0
-
- browserslist@4.26.3:
- dependencies:
- baseline-browser-mapping: 2.8.19
- caniuse-lite: 1.0.30001751
- electron-to-chromium: 1.5.238
- node-releases: 2.0.26
- update-browserslist-db: 1.1.3(browserslist@4.26.3)
+ baseline-browser-mapping: 2.10.12
+ caniuse-lite: 1.0.30001782
+ electron-to-chromium: 1.5.329
+ node-releases: 2.0.36
+ update-browserslist-db: 1.2.3(browserslist@4.28.1)
bser@2.1.1:
dependencies:
@@ -7980,6 +7400,14 @@ snapshots:
base64-js: 1.5.1
ieee754: 1.2.1
+ cacheable@2.3.4:
+ dependencies:
+ '@cacheable/memory': 2.0.8
+ '@cacheable/utils': 2.4.1
+ hookified: 1.15.1
+ keyv: 5.6.0
+ qified: 0.9.0
+
call-bind-apply-helpers@1.0.2:
dependencies:
es-errors: 1.3.0
@@ -8010,18 +7438,9 @@ snapshots:
map-obj: 4.3.0
quick-lru: 4.0.1
- camelcase-keys@7.0.2:
- dependencies:
- camelcase: 6.3.0
- map-obj: 4.3.0
- quick-lru: 5.1.1
- type-fest: 1.4.0
-
camelcase@5.3.1: {}
- camelcase@6.3.0: {}
-
- caniuse-lite@1.0.30001751: {}
+ caniuse-lite@1.0.30001782: {}
capital-case@1.0.4:
dependencies:
@@ -8145,13 +7564,7 @@ snapshots:
convert-source-map@2.0.0: {}
- cookie@0.4.2: {}
-
- core-js-compat@3.46.0:
- dependencies:
- browserslist: 4.26.3
-
- core-js@3.46.0: {}
+ cookie@1.1.1: {}
cosmiconfig@7.1.0:
dependencies:
@@ -8159,16 +7572,25 @@ snapshots:
import-fresh: 3.3.1
parse-json: 5.2.0
path-type: 4.0.0
- yaml: 1.10.2
+ yaml: 1.10.3
- cosmiconfig@8.3.6(typescript@4.8.4):
+ cosmiconfig@8.3.6(typescript@5.9.3):
dependencies:
import-fresh: 3.3.1
- js-yaml: 4.1.0
+ js-yaml: 4.1.1
parse-json: 5.2.0
path-type: 4.0.0
optionalDependencies:
- typescript: 4.8.4
+ typescript: 5.9.3
+
+ cosmiconfig@9.0.1(typescript@5.9.3):
+ dependencies:
+ env-paths: 2.2.1
+ import-fresh: 3.3.1
+ js-yaml: 4.1.1
+ parse-json: 5.2.0
+ optionalDependencies:
+ typescript: 5.9.3
create-require@1.1.1: {}
@@ -8190,11 +7612,11 @@ snapshots:
crypto-js@4.2.0: {}
- css-functions-list@3.2.3: {}
+ css-functions-list@3.3.3: {}
- css-tree@2.3.1:
+ css-tree@3.2.1:
dependencies:
- mdn-data: 2.0.30
+ mdn-data: 2.27.1
source-map-js: 1.2.1
cssesc@3.0.0: {}
@@ -8240,7 +7662,7 @@ snapshots:
date-fns@2.30.0:
dependencies:
- '@babel/runtime': 7.28.4
+ '@babel/runtime': 7.29.2
debounce@1.2.1: {}
@@ -8263,8 +7685,6 @@ snapshots:
decamelize@1.2.0: {}
- decamelize@5.0.1: {}
-
decimal.js@10.6.0: {}
deep-is@0.1.4: {}
@@ -8291,11 +7711,16 @@ snapshots:
dequal@2.0.3: {}
+ detect-europe-js@0.1.2: {}
+
detect-indent@6.1.0: {}
detect-libc@1.0.3:
optional: true
+ detect-libc@2.1.2:
+ optional: true
+
diacritics@1.3.0: {}
diff@4.0.2: {}
@@ -8314,7 +7739,7 @@ snapshots:
dom-helpers@5.2.1:
dependencies:
- '@babel/runtime': 7.28.4
+ '@babel/runtime': 7.29.2
csstype: 3.1.3
dom-walk@0.1.2: {}
@@ -8334,12 +7759,14 @@ snapshots:
es-errors: 1.3.0
gopd: 1.2.0
- electron-to-chromium@1.5.238: {}
+ electron-to-chromium@1.5.329: {}
emoji-regex@8.0.0: {}
emoji-regex@9.2.2: {}
+ env-paths@2.2.1: {}
+
error-ex@1.3.4:
dependencies:
is-arrayish: 0.2.1
@@ -8447,31 +7874,34 @@ snapshots:
es6-promise@4.2.8: {}
- esbuild@0.21.5:
+ esbuild@0.27.7:
optionalDependencies:
- '@esbuild/aix-ppc64': 0.21.5
- '@esbuild/android-arm': 0.21.5
- '@esbuild/android-arm64': 0.21.5
- '@esbuild/android-x64': 0.21.5
- '@esbuild/darwin-arm64': 0.21.5
- '@esbuild/darwin-x64': 0.21.5
- '@esbuild/freebsd-arm64': 0.21.5
- '@esbuild/freebsd-x64': 0.21.5
- '@esbuild/linux-arm': 0.21.5
- '@esbuild/linux-arm64': 0.21.5
- '@esbuild/linux-ia32': 0.21.5
- '@esbuild/linux-loong64': 0.21.5
- '@esbuild/linux-mips64el': 0.21.5
- '@esbuild/linux-ppc64': 0.21.5
- '@esbuild/linux-riscv64': 0.21.5
- '@esbuild/linux-s390x': 0.21.5
- '@esbuild/linux-x64': 0.21.5
- '@esbuild/netbsd-x64': 0.21.5
- '@esbuild/openbsd-x64': 0.21.5
- '@esbuild/sunos-x64': 0.21.5
- '@esbuild/win32-arm64': 0.21.5
- '@esbuild/win32-ia32': 0.21.5
- '@esbuild/win32-x64': 0.21.5
+ '@esbuild/aix-ppc64': 0.27.7
+ '@esbuild/android-arm': 0.27.7
+ '@esbuild/android-arm64': 0.27.7
+ '@esbuild/android-x64': 0.27.7
+ '@esbuild/darwin-arm64': 0.27.7
+ '@esbuild/darwin-x64': 0.27.7
+ '@esbuild/freebsd-arm64': 0.27.7
+ '@esbuild/freebsd-x64': 0.27.7
+ '@esbuild/linux-arm': 0.27.7
+ '@esbuild/linux-arm64': 0.27.7
+ '@esbuild/linux-ia32': 0.27.7
+ '@esbuild/linux-loong64': 0.27.7
+ '@esbuild/linux-mips64el': 0.27.7
+ '@esbuild/linux-ppc64': 0.27.7
+ '@esbuild/linux-riscv64': 0.27.7
+ '@esbuild/linux-s390x': 0.27.7
+ '@esbuild/linux-x64': 0.27.7
+ '@esbuild/netbsd-arm64': 0.27.7
+ '@esbuild/netbsd-x64': 0.27.7
+ '@esbuild/openbsd-arm64': 0.27.7
+ '@esbuild/openbsd-x64': 0.27.7
+ '@esbuild/openharmony-arm64': 0.27.7
+ '@esbuild/sunos-x64': 0.27.7
+ '@esbuild/win32-arm64': 0.27.7
+ '@esbuild/win32-ia32': 0.27.7
+ '@esbuild/win32-x64': 0.27.7
escalade@3.2.0: {}
@@ -8479,28 +7909,29 @@ snapshots:
escape-string-regexp@4.0.0: {}
- eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.32.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.8.4))(eslint@8.57.1))(eslint@8.57.1):
+ eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1))(eslint@8.57.1):
dependencies:
confusing-browser-globals: 1.0.11
eslint: 8.57.1
- eslint-plugin-import: 2.32.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.8.4))(eslint@8.57.1)
+ eslint-plugin-import: 2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)
object.assign: 4.1.7
object.entries: 1.1.9
semver: 6.3.1
- eslint-config-airbnb-typescript@17.1.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.8.4))(eslint@8.57.1)(typescript@4.8.4))(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.8.4))(eslint-plugin-import@2.32.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.8.4))(eslint@8.57.1))(eslint@8.57.1):
+ eslint-config-airbnb-typescript@18.0.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3))(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1))(eslint@8.57.1):
dependencies:
- '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.8.4))(eslint@8.57.1)(typescript@4.8.4)
- '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@4.8.4)
+ '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3)
+ '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.9.3)
eslint: 8.57.1
- eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.32.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.8.4))(eslint@8.57.1))(eslint@8.57.1)
- eslint-plugin-import: 2.32.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.8.4))(eslint@8.57.1)
+ eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1))(eslint@8.57.1)
+ transitivePeerDependencies:
+ - eslint-plugin-import
- eslint-config-airbnb@19.0.4(eslint-plugin-import@2.32.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.8.4))(eslint@8.57.1))(eslint-plugin-jsx-a11y@6.10.2(eslint@8.57.1))(eslint-plugin-react-hooks@4.6.2(eslint@8.57.1))(eslint-plugin-react@7.37.5(eslint@8.57.1))(eslint@8.57.1):
+ eslint-config-airbnb@19.0.4(eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1))(eslint-plugin-jsx-a11y@6.10.2(eslint@8.57.1))(eslint-plugin-react-hooks@4.6.2(eslint@8.57.1))(eslint-plugin-react@7.37.5(eslint@8.57.1))(eslint@8.57.1):
dependencies:
eslint: 8.57.1
- eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.32.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.8.4))(eslint@8.57.1))(eslint@8.57.1)
- eslint-plugin-import: 2.32.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.8.4))(eslint@8.57.1)
+ eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1))(eslint@8.57.1)
+ eslint-plugin-import: 2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)
eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1)
eslint-plugin-react: 7.37.5(eslint@8.57.1)
eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1)
@@ -8519,17 +7950,27 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-module-utils@2.12.1(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.8.4))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1):
+ eslint-module-utils@2.12.1(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1):
dependencies:
debug: 3.2.7
optionalDependencies:
- '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@4.8.4)
+ '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.9.3)
eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
transitivePeerDependencies:
- supports-color
- eslint-plugin-import@2.32.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.8.4))(eslint@8.57.1):
+ eslint-plugin-deprecation@3.0.0(eslint@8.57.1)(typescript@5.9.3):
+ dependencies:
+ '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.9.3)
+ eslint: 8.57.1
+ ts-api-utils: 1.4.3(typescript@5.9.3)
+ tslib: 2.8.1
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
+
+ eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.9
@@ -8540,7 +7981,7 @@ snapshots:
doctrine: 2.1.0
eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.12.1(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.8.4))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1)
+ eslint-module-utils: 2.12.1(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1)
hasown: 2.0.2
is-core-module: 2.16.1
is-glob: 4.0.3
@@ -8552,7 +7993,7 @@ snapshots:
string.prototype.trimend: 1.0.9
tsconfig-paths: 3.15.0
optionalDependencies:
- '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@4.8.4)
+ '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.9.3)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
@@ -8603,11 +8044,6 @@ snapshots:
string.prototype.matchall: 4.0.12
string.prototype.repeat: 1.0.0
- eslint-scope@5.1.1:
- dependencies:
- esrecurse: 4.3.0
- estraverse: 4.3.0
-
eslint-scope@7.2.2:
dependencies:
esrecurse: 4.3.0
@@ -8617,8 +8053,8 @@ snapshots:
eslint@8.57.1:
dependencies:
- '@eslint-community/eslint-utils': 4.9.0(eslint@8.57.1)
- '@eslint-community/regexpp': 4.12.1
+ '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1)
+ '@eslint-community/regexpp': 4.12.2
'@eslint/eslintrc': 2.1.4
'@eslint/js': 8.57.1
'@humanwhocodes/config-array': 0.13.0
@@ -8634,7 +8070,7 @@ snapshots:
eslint-scope: 7.2.2
eslint-visitor-keys: 3.4.3
espree: 9.6.1
- esquery: 1.6.0
+ esquery: 1.7.0
esutils: 2.0.3
fast-deep-equal: 3.1.3
file-entry-cache: 6.0.1
@@ -8646,7 +8082,7 @@ snapshots:
imurmurhash: 0.1.4
is-glob: 4.0.3
is-path-inside: 3.0.3
- js-yaml: 4.1.0
+ js-yaml: 4.1.1
json-stable-stringify-without-jsonify: 1.0.1
levn: 0.4.1
lodash.merge: 4.6.2
@@ -8660,13 +8096,13 @@ snapshots:
espree@9.6.1:
dependencies:
- acorn: 8.15.0
- acorn-jsx: 5.3.2(acorn@8.15.0)
+ acorn: 8.16.0
+ acorn-jsx: 5.3.2(acorn@8.16.0)
eslint-visitor-keys: 3.4.3
esprima@4.0.1: {}
- esquery@1.6.0:
+ esquery@1.7.0:
dependencies:
estraverse: 5.3.0
@@ -8674,8 +8110,6 @@ snapshots:
dependencies:
estraverse: 5.3.0
- estraverse@4.3.0: {}
-
estraverse@5.3.0: {}
esutils@2.0.3: {}
@@ -8690,7 +8124,7 @@ snapshots:
extract-react-intl-messages@4.1.1:
dependencies:
- '@babel/core': 7.28.4
+ '@babel/core': 7.29.0
babel-plugin-react-intl: 7.9.4
flat: 5.0.2
glob: 7.2.3
@@ -8729,7 +8163,7 @@ snapshots:
fastest-levenshtein@1.0.16: {}
- fastq@1.19.1:
+ fastq@1.20.1:
dependencies:
reusify: 1.1.0
@@ -8751,22 +8185,26 @@ snapshots:
transitivePeerDependencies:
- encoding
+ fdir@6.5.0(picomatch@4.0.4):
+ optionalDependencies:
+ picomatch: 4.0.4
+
fetch-blob@3.2.0:
dependencies:
node-domexception: 1.0.0
web-streams-polyfill: 3.3.3
- fflate@0.6.10: {}
+ fflate@0.8.2: {}
figures@3.2.0:
dependencies:
escape-string-regexp: 1.0.5
- file-entry-cache@6.0.1:
+ file-entry-cache@11.1.2:
dependencies:
- flat-cache: 3.2.0
+ flat-cache: 6.1.22
- file-entry-cache@7.0.2:
+ file-entry-cache@6.0.1:
dependencies:
flat-cache: 3.2.0
@@ -8786,17 +8224,23 @@ snapshots:
locate-path: 6.0.0
path-exists: 4.0.0
- flag-icons@6.15.0: {}
+ flag-icons@7.5.0: {}
flat-cache@3.2.0:
dependencies:
- flatted: 3.3.3
+ flatted: 3.4.2
keyv: 4.5.4
rimraf: 3.0.2
+ flat-cache@6.1.22:
+ dependencies:
+ cacheable: 2.3.4
+ flatted: 3.4.2
+ hookified: 1.15.1
+
flat@5.0.2: {}
- flatted@3.3.3: {}
+ flatted@3.4.2: {}
flexbin@0.2.0: {}
@@ -8808,13 +8252,13 @@ snapshots:
dependencies:
fetch-blob: 3.2.0
- formik@2.4.6(@types/react@17.0.89)(react@17.0.2):
+ formik@2.4.9(@types/react@17.0.89)(react@17.0.2):
dependencies:
'@types/hoist-non-react-statics': 3.3.7(@types/react@17.0.89)
deepmerge: 2.2.1
hoist-non-react-statics: 3.3.2
lodash: 4.17.21
- lodash-es: 4.17.23
+ lodash-es: 4.18.1
react: 17.0.2
react-fast-compare: 2.0.4
tiny-warning: 1.0.3
@@ -8859,6 +8303,8 @@ snapshots:
get-caller-file@2.0.5: {}
+ get-east-asian-width@1.5.0: {}
+
get-intrinsic@1.3.0:
dependencies:
call-bind-apply-helpers: 1.0.2
@@ -8914,7 +8360,7 @@ snapshots:
global@4.4.0:
dependencies:
- min-document: 2.19.0
+ min-document: 2.19.2
process: 0.11.10
globals@13.24.0:
@@ -8935,6 +8381,15 @@ snapshots:
merge2: 1.4.1
slash: 3.0.0
+ globby@16.2.0:
+ dependencies:
+ '@sindresorhus/merge-streams': 4.0.0
+ fast-glob: 3.3.3
+ ignore: 7.0.5
+ is-path-inside: 4.0.0
+ slash: 5.1.0
+ unicorn-magic: 0.4.0
+
globjoin@0.1.4: {}
globrex@0.1.2: {}
@@ -8945,18 +8400,18 @@ snapshots:
graphemer@1.4.0: {}
- graphql-config@5.1.5(@types/node@18.19.130)(graphql@16.11.0)(typescript@4.8.4):
+ graphql-config@5.1.5(@types/node@20.19.37)(graphql@16.11.0)(typescript@5.9.3):
dependencies:
'@graphql-tools/graphql-file-loader': 8.1.2(graphql@16.11.0)
'@graphql-tools/json-file-loader': 8.0.20(graphql@16.11.0)
'@graphql-tools/load': 8.1.2(graphql@16.11.0)
'@graphql-tools/merge': 9.1.1(graphql@16.11.0)
- '@graphql-tools/url-loader': 8.0.33(@types/node@18.19.130)(graphql@16.11.0)
+ '@graphql-tools/url-loader': 8.0.33(@types/node@20.19.37)(graphql@16.11.0)
'@graphql-tools/utils': 10.9.1(graphql@16.11.0)
- cosmiconfig: 8.3.6(typescript@4.8.4)
+ cosmiconfig: 8.3.6(typescript@5.9.3)
graphql: 16.11.0
jiti: 2.6.1
- minimatch: 9.0.8
+ minimatch: 9.0.9
string-env-interpolation: 1.0.1
tslib: 2.8.1
transitivePeerDependencies:
@@ -9000,6 +8455,8 @@ snapshots:
has-flag@4.0.0: {}
+ has-flag@5.0.1: {}
+
has-property-descriptors@1.0.2:
dependencies:
es-define-property: 1.0.1
@@ -9014,6 +8471,10 @@ snapshots:
dependencies:
has-symbols: 1.1.0
+ hashery@1.5.1:
+ dependencies:
+ hookified: 1.15.1
+
hasown@2.0.2:
dependencies:
function-bind: 1.1.2
@@ -9035,7 +8496,7 @@ snapshots:
history@4.10.1:
dependencies:
- '@babel/runtime': 7.28.4
+ '@babel/runtime': 7.29.2
loose-envify: 1.4.0
resolve-pathname: 3.0.0
tiny-invariant: 1.3.3
@@ -9046,15 +8507,15 @@ snapshots:
dependencies:
react-is: 16.13.1
- hosted-git-info@2.8.9: {}
+ hookified@1.15.1: {}
- hosted-git-info@4.1.0:
- dependencies:
- lru-cache: 6.0.0
+ hookified@2.1.1: {}
+
+ hosted-git-info@2.8.9: {}
html-entities@1.4.0: {}
- html-tags@3.3.1: {}
+ html-tags@5.1.0: {}
http-proxy-agent@7.0.2:
dependencies:
@@ -9082,11 +8543,13 @@ snapshots:
ignore@5.3.2: {}
+ ignore@7.0.5: {}
+
immediate@3.0.6: {}
immutable@3.7.6: {}
- immutable@5.1.4: {}
+ immutable@5.1.5: {}
import-fresh@3.3.1:
dependencies:
@@ -9095,7 +8558,7 @@ snapshots:
import-from@4.0.0: {}
- import-lazy@4.0.0: {}
+ import-meta-resolve@4.2.0: {}
imsc@1.1.5:
dependencies:
@@ -9105,8 +8568,6 @@ snapshots:
indent-string@4.0.0: {}
- indent-string@5.0.0: {}
-
individual@2.0.0: {}
inflight@1.0.6:
@@ -9120,9 +8581,9 @@ snapshots:
inline-style-parser@0.1.1: {}
- inquirer@8.2.7(@types/node@18.19.130):
+ inquirer@8.2.7(@types/node@20.19.37):
dependencies:
- '@inquirer/external-editor': 1.0.2(@types/node@18.19.130)
+ '@inquirer/external-editor': 1.0.2(@types/node@20.19.37)
ansi-escapes: 4.3.2
chalk: 4.1.2
cli-cursor: 3.1.0
@@ -9267,6 +8728,8 @@ snapshots:
is-path-inside@3.0.3: {}
+ is-path-inside@4.0.0: {}
+
is-plain-obj@1.1.0: {}
is-plain-obj@2.1.0: {}
@@ -9292,6 +8755,8 @@ snapshots:
dependencies:
call-bound: 1.0.4
+ is-standalone-pwa@0.1.1: {}
+
is-string@1.1.1:
dependencies:
call-bound: 1.0.4
@@ -9366,7 +8831,7 @@ snapshots:
argparse: 1.0.10
esprima: 4.0.1
- js-yaml@4.1.0:
+ js-yaml@4.1.1:
dependencies:
argparse: 2.0.1
@@ -9416,9 +8881,11 @@ snapshots:
dependencies:
json-buffer: 3.0.1
- kind-of@6.0.3: {}
+ keyv@5.6.0:
+ dependencies:
+ '@keyv/serialize': 1.1.1
- known-css-properties@0.29.0: {}
+ kind-of@6.0.3: {}
language-subtag-registry@0.3.23: {}
@@ -9435,7 +8902,55 @@ snapshots:
dependencies:
immediate: 3.0.6
- lil-gui@0.17.0: {}
+ lightningcss-android-arm64@1.32.0:
+ optional: true
+
+ lightningcss-darwin-arm64@1.32.0:
+ optional: true
+
+ lightningcss-darwin-x64@1.32.0:
+ optional: true
+
+ lightningcss-freebsd-x64@1.32.0:
+ optional: true
+
+ lightningcss-linux-arm-gnueabihf@1.32.0:
+ optional: true
+
+ lightningcss-linux-arm64-gnu@1.32.0:
+ optional: true
+
+ lightningcss-linux-arm64-musl@1.32.0:
+ optional: true
+
+ lightningcss-linux-x64-gnu@1.32.0:
+ optional: true
+
+ lightningcss-linux-x64-musl@1.32.0:
+ optional: true
+
+ lightningcss-win32-arm64-msvc@1.32.0:
+ optional: true
+
+ lightningcss-win32-x64-msvc@1.32.0:
+ optional: true
+
+ lightningcss@1.32.0:
+ dependencies:
+ detect-libc: 2.1.2
+ optionalDependencies:
+ lightningcss-android-arm64: 1.32.0
+ lightningcss-darwin-arm64: 1.32.0
+ lightningcss-darwin-x64: 1.32.0
+ lightningcss-freebsd-x64: 1.32.0
+ lightningcss-linux-arm-gnueabihf: 1.32.0
+ lightningcss-linux-arm64-gnu: 1.32.0
+ lightningcss-linux-arm64-musl: 1.32.0
+ lightningcss-linux-x64-gnu: 1.32.0
+ lightningcss-linux-x64-musl: 1.32.0
+ lightningcss-win32-arm64-msvc: 1.32.0
+ lightningcss-win32-x64-msvc: 1.32.0
+ optional: true
lines-and-columns@1.2.4: {}
@@ -9469,9 +8984,7 @@ snapshots:
dependencies:
p-locate: 5.0.0
- lodash-es@4.17.23: {}
-
- lodash.debounce@4.0.8: {}
+ lodash-es@4.18.1: {}
lodash.merge@4.6.2: {}
@@ -9515,20 +9028,12 @@ snapshots:
dependencies:
yallist: 3.1.1
- lru-cache@6.0.0:
- dependencies:
- yallist: 4.0.0
-
m3u8-parser@4.8.0:
dependencies:
- '@babel/runtime': 7.28.4
+ '@babel/runtime': 7.29.2
'@videojs/vhs-utils': 3.0.5
global: 4.4.0
- magic-string@0.30.19:
- dependencies:
- '@jridgewell/sourcemap-codec': 1.5.5
-
make-dir@3.1.0:
dependencies:
semver: 6.3.1
@@ -9547,7 +9052,7 @@ snapshots:
math-intrinsics@1.1.0: {}
- mathml-tag-names@2.1.3: {}
+ mathml-tag-names@4.0.0: {}
mdast-util-definitions@4.0.0:
dependencies:
@@ -9622,28 +9127,13 @@ snapshots:
mdast-util-to-string@2.0.0: {}
- mdn-data@2.0.30: {}
+ mdn-data@2.27.1: {}
mdurl@1.0.1: {}
memoize-one@6.0.0: {}
- meow@10.1.5:
- dependencies:
- '@types/minimist': 1.2.5
- camelcase-keys: 7.0.2
- decamelize: 5.0.1
- decamelize-keys: 1.1.1
- hard-rejection: 2.1.0
- minimist-options: 4.1.0
- normalize-package-data: 3.0.3
- read-pkg-up: 8.0.0
- redent: 4.0.0
- trim-newlines: 4.1.1
- type-fest: 1.4.0
- yargs-parser: 20.2.9
-
- meow@13.2.0: {}
+ meow@14.1.0: {}
meow@6.1.1:
dependencies:
@@ -9661,11 +9151,11 @@ snapshots:
merge2@1.4.1: {}
- meros@1.3.2(@types/node@18.19.130):
+ meros@1.3.2(@types/node@20.19.37):
optionalDependencies:
- '@types/node': 18.19.130
+ '@types/node': 20.19.37
- meshoptimizer@0.18.1: {}
+ meshoptimizer@1.0.1: {}
micromark-extension-gfm-autolink-literal@0.5.7:
dependencies:
@@ -9714,11 +9204,11 @@ snapshots:
micromatch@4.0.8:
dependencies:
braces: 3.0.3
- picomatch: 2.3.1
+ picomatch: 2.3.2
mimic-fn@2.1.0: {}
- min-document@2.19.0:
+ min-document@2.19.2:
dependencies:
dom-walk: 0.1.2
@@ -9726,11 +9216,11 @@ snapshots:
minimatch@3.1.5:
dependencies:
- brace-expansion: 1.1.12
+ brace-expansion: 1.1.14
- minimatch@9.0.8:
+ minimatch@9.0.9:
dependencies:
- brace-expansion: 5.0.3
+ brace-expansion: 2.0.3
minimist-options@4.1.0:
dependencies:
@@ -9750,9 +9240,9 @@ snapshots:
mpd-parser@0.22.1:
dependencies:
- '@babel/runtime': 7.28.4
+ '@babel/runtime': 7.29.2
'@videojs/vhs-utils': 3.0.5
- '@xmldom/xmldom': 0.8.11
+ '@xmldom/xmldom': 0.8.13
global: 4.4.0
ms@2.1.3: {}
@@ -9761,13 +9251,11 @@ snapshots:
mux.js@6.0.1:
dependencies:
- '@babel/runtime': 7.28.4
+ '@babel/runtime': 7.29.2
global: 4.4.0
nanoid@3.3.11: {}
- natural-compare-lite@1.4.0: {}
-
natural-compare@1.4.0: {}
no-case@3.0.4:
@@ -9792,7 +9280,7 @@ snapshots:
node-int64@0.4.0: {}
- node-releases@2.0.26: {}
+ node-releases@2.0.36: {}
normalize-package-data@2.5.0:
dependencies:
@@ -9801,21 +9289,12 @@ snapshots:
semver: 5.7.2
validate-npm-package-license: 3.0.4
- normalize-package-data@3.0.3:
- dependencies:
- hosted-git-info: 4.1.0
- is-core-module: 2.16.1
- semver: 7.7.3
- validate-npm-package-license: 3.0.4
-
normalize-path@2.1.1:
dependencies:
remove-trailing-separator: 1.1.0
normalize-path@3.0.0: {}
- normalize-url@4.5.1: {}
-
nosleep.js@0.7.0: {}
nullthrows@1.1.1: {}
@@ -9952,7 +9431,7 @@ snapshots:
parse-json@5.2.0:
dependencies:
- '@babel/code-frame': 7.27.1
+ '@babel/code-frame': 7.29.0
error-ex: 1.3.4
json-parse-even-better-errors: 2.3.1
lines-and-columns: 1.2.4
@@ -9991,40 +9470,40 @@ snapshots:
picocolors@1.1.1: {}
- picomatch@2.3.1: {}
+ picomatch@2.3.2: {}
+
+ picomatch@4.0.4: {}
pify@5.0.0: {}
pkcs7@1.0.4:
dependencies:
- '@babel/runtime': 7.28.4
+ '@babel/runtime': 7.29.2
popper.js@1.16.1: {}
possible-typed-array-names@1.1.0: {}
- postcss-resolve-nested-selector@0.1.6: {}
-
- postcss-safe-parser@6.0.0(postcss@8.5.6):
+ postcss-safe-parser@7.0.1(postcss@8.5.8):
dependencies:
- postcss: 8.5.6
+ postcss: 8.5.8
- postcss-scss@4.0.9(postcss@8.5.6):
+ postcss-scss@4.0.9(postcss@8.5.8):
dependencies:
- postcss: 8.5.6
+ postcss: 8.5.8
- postcss-selector-parser@6.1.2:
+ postcss-selector-parser@7.1.1:
dependencies:
cssesc: 3.0.0
util-deprecate: 1.0.2
- postcss-sorting@8.0.2(postcss@8.5.6):
+ postcss-sorting@10.0.0(postcss@8.5.8):
dependencies:
- postcss: 8.5.6
+ postcss: 8.5.8
postcss-value-parser@4.2.0: {}
- postcss@8.5.6:
+ postcss@8.5.8:
dependencies:
nanoid: 3.3.11
picocolors: 1.1.1
@@ -10066,15 +9545,17 @@ snapshots:
punycode@2.3.1: {}
+ qified@0.9.0:
+ dependencies:
+ hookified: 2.1.1
+
queue-microtask@1.2.3: {}
quick-lru@4.0.1: {}
- quick-lru@5.1.1: {}
-
react-bootstrap@1.6.8(react-dom@17.0.2(react@17.0.2))(react@17.0.2):
dependencies:
- '@babel/runtime': 7.28.4
+ '@babel/runtime': 7.29.2
'@restart/context': 2.1.4(react@17.0.2)
'@restart/hooks': 0.4.16(react@17.0.2)
'@types/invariant': 2.2.37
@@ -10124,11 +9605,11 @@ snapshots:
react-fast-compare: 3.2.2
react-side-effect: 2.1.2(react@17.0.2)
- react-intl@6.8.9(react@17.0.2)(typescript@4.8.4):
+ react-intl@6.8.9(react@17.0.2)(typescript@5.9.3):
dependencies:
'@formatjs/ecma402-abstract': 2.2.4
'@formatjs/icu-messageformat-parser': 2.9.4
- '@formatjs/intl': 2.10.15(typescript@4.8.4)
+ '@formatjs/intl': 2.10.15(typescript@5.9.3)
'@formatjs/intl-displaynames': 6.8.5
'@formatjs/intl-listformat': 7.7.5
'@types/hoist-non-react-statics': 3.3.7(@types/react@17.0.89)
@@ -10138,7 +9619,7 @@ snapshots:
react: 17.0.2
tslib: 2.8.1
optionalDependencies:
- typescript: 4.8.4
+ typescript: 5.9.3
react-is@16.13.1: {}
@@ -10151,7 +9632,7 @@ snapshots:
react-overlays@5.2.1(react-dom@17.0.2(react@17.0.2))(react@17.0.2):
dependencies:
- '@babel/runtime': 7.28.4
+ '@babel/runtime': 7.29.2
'@popperjs/core': 2.11.8
'@restart/hooks': 0.4.16(react@17.0.2)
'@types/warning': 3.0.3
@@ -10197,7 +9678,7 @@ snapshots:
react-router-dom@5.3.4(react@17.0.2):
dependencies:
- '@babel/runtime': 7.28.4
+ '@babel/runtime': 7.29.2
history: 4.10.1
loose-envify: 1.4.0
prop-types: 15.8.1
@@ -10214,7 +9695,7 @@ snapshots:
react-router@5.3.4(react@17.0.2):
dependencies:
- '@babel/runtime': 7.28.4
+ '@babel/runtime': 7.29.2
history: 4.10.1
hoist-non-react-statics: 3.3.2
loose-envify: 1.4.0
@@ -10227,7 +9708,7 @@ snapshots:
react-select@5.10.2(@types/react@17.0.89)(react-dom@17.0.2(react@17.0.2))(react@17.0.2):
dependencies:
- '@babel/runtime': 7.28.4
+ '@babel/runtime': 7.29.2
'@emotion/cache': 11.14.0
'@emotion/react': 11.14.0(@types/react@17.0.89)(react@17.0.2)
'@floating-ui/dom': 1.7.4
@@ -10248,7 +9729,7 @@ snapshots:
react-transition-group@4.4.5(react-dom@17.0.2(react@17.0.2))(react@17.0.2):
dependencies:
- '@babel/runtime': 7.28.4
+ '@babel/runtime': 7.29.2
dom-helpers: 5.2.1
loose-envify: 1.4.0
prop-types: 15.8.1
@@ -10271,12 +9752,6 @@ snapshots:
read-pkg: 5.2.0
type-fest: 0.8.1
- read-pkg-up@8.0.0:
- dependencies:
- find-up: 5.0.0
- read-pkg: 6.0.0
- type-fest: 1.4.0
-
read-pkg@5.2.0:
dependencies:
'@types/normalize-package-data': 2.4.4
@@ -10284,13 +9759,6 @@ snapshots:
parse-json: 5.2.0
type-fest: 0.6.0
- read-pkg@6.0.0:
- dependencies:
- '@types/normalize-package-data': 2.4.4
- normalize-package-data: 3.0.3
- parse-json: 5.2.0
- type-fest: 1.4.0
-
readable-stream@3.6.2:
dependencies:
inherits: 2.0.4
@@ -10304,11 +9772,6 @@ snapshots:
indent-string: 4.0.0
strip-indent: 3.0.0
- redent@4.0.0:
- dependencies:
- indent-string: 5.0.0
- strip-indent: 4.1.1
-
reflect.getprototypeof@1.0.10:
dependencies:
call-bind: 1.0.8
@@ -10320,14 +9783,6 @@ snapshots:
get-proto: 1.0.1
which-builtin-type: 1.2.1
- regenerate-unicode-properties@10.2.2:
- dependencies:
- regenerate: 1.4.2
-
- regenerate@1.4.2: {}
-
- regenerator-runtime@0.14.1: {}
-
regexp.prototype.flags@1.5.4:
dependencies:
call-bind: 1.0.8
@@ -10337,21 +9792,6 @@ snapshots:
gopd: 1.2.0
set-function-name: 2.0.2
- regexpu-core@6.4.0:
- dependencies:
- regenerate: 1.4.2
- regenerate-unicode-properties: 10.2.2
- regjsgen: 0.8.0
- regjsparser: 0.13.0
- unicode-match-property-ecmascript: 2.0.0
- unicode-match-property-value-ecmascript: 2.2.1
-
- regjsgen@0.8.0: {}
-
- regjsparser@0.13.0:
- dependencies:
- jsesc: 3.1.0
-
rehackt@0.1.0(@types/react@17.0.89)(react@17.0.2):
optionalDependencies:
'@types/react': 17.0.89
@@ -10364,7 +9804,7 @@ snapshots:
relay-runtime@12.0.0:
dependencies:
- '@babel/runtime': 7.28.4
+ '@babel/runtime': 7.29.2
fbjs: 3.0.5
invariant: 2.2.4
transitivePeerDependencies:
@@ -10434,32 +9874,35 @@ snapshots:
dependencies:
glob: 7.2.3
- rollup@4.53.1:
+ rollup@4.60.2:
dependencies:
'@types/estree': 1.0.8
optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.53.1
- '@rollup/rollup-android-arm64': 4.53.1
- '@rollup/rollup-darwin-arm64': 4.53.1
- '@rollup/rollup-darwin-x64': 4.53.1
- '@rollup/rollup-freebsd-arm64': 4.53.1
- '@rollup/rollup-freebsd-x64': 4.53.1
- '@rollup/rollup-linux-arm-gnueabihf': 4.53.1
- '@rollup/rollup-linux-arm-musleabihf': 4.53.1
- '@rollup/rollup-linux-arm64-gnu': 4.53.1
- '@rollup/rollup-linux-arm64-musl': 4.53.1
- '@rollup/rollup-linux-loong64-gnu': 4.53.1
- '@rollup/rollup-linux-ppc64-gnu': 4.53.1
- '@rollup/rollup-linux-riscv64-gnu': 4.53.1
- '@rollup/rollup-linux-riscv64-musl': 4.53.1
- '@rollup/rollup-linux-s390x-gnu': 4.53.1
- '@rollup/rollup-linux-x64-gnu': 4.53.1
- '@rollup/rollup-linux-x64-musl': 4.53.1
- '@rollup/rollup-openharmony-arm64': 4.53.1
- '@rollup/rollup-win32-arm64-msvc': 4.53.1
- '@rollup/rollup-win32-ia32-msvc': 4.53.1
- '@rollup/rollup-win32-x64-gnu': 4.53.1
- '@rollup/rollup-win32-x64-msvc': 4.53.1
+ '@rollup/rollup-android-arm-eabi': 4.60.2
+ '@rollup/rollup-android-arm64': 4.60.2
+ '@rollup/rollup-darwin-arm64': 4.60.2
+ '@rollup/rollup-darwin-x64': 4.60.2
+ '@rollup/rollup-freebsd-arm64': 4.60.2
+ '@rollup/rollup-freebsd-x64': 4.60.2
+ '@rollup/rollup-linux-arm-gnueabihf': 4.60.2
+ '@rollup/rollup-linux-arm-musleabihf': 4.60.2
+ '@rollup/rollup-linux-arm64-gnu': 4.60.2
+ '@rollup/rollup-linux-arm64-musl': 4.60.2
+ '@rollup/rollup-linux-loong64-gnu': 4.60.2
+ '@rollup/rollup-linux-loong64-musl': 4.60.2
+ '@rollup/rollup-linux-ppc64-gnu': 4.60.2
+ '@rollup/rollup-linux-ppc64-musl': 4.60.2
+ '@rollup/rollup-linux-riscv64-gnu': 4.60.2
+ '@rollup/rollup-linux-riscv64-musl': 4.60.2
+ '@rollup/rollup-linux-s390x-gnu': 4.60.2
+ '@rollup/rollup-linux-x64-gnu': 4.60.2
+ '@rollup/rollup-linux-x64-musl': 4.60.2
+ '@rollup/rollup-openbsd-x64': 4.60.2
+ '@rollup/rollup-openharmony-arm64': 4.60.2
+ '@rollup/rollup-win32-arm64-msvc': 4.60.2
+ '@rollup/rollup-win32-ia32-msvc': 4.60.2
+ '@rollup/rollup-win32-x64-gnu': 4.60.2
+ '@rollup/rollup-win32-x64-msvc': 4.60.2
fsevents: 2.3.3
run-async@2.4.1: {}
@@ -10503,10 +9946,10 @@ snapshots:
safer-buffer@2.1.2: {}
- sass@1.93.2:
+ sass@1.98.0:
dependencies:
chokidar: 4.0.3
- immutable: 5.1.4
+ immutable: 5.1.5
source-map-js: 1.2.1
optionalDependencies:
'@parcel/watcher': 2.5.1
@@ -10530,7 +9973,7 @@ snapshots:
semver@6.3.1: {}
- semver@7.7.3: {}
+ semver@7.7.4: {}
sentence-case@3.0.4:
dependencies:
@@ -10608,6 +10051,8 @@ snapshots:
slash@3.0.0: {}
+ slash@5.1.0: {}
+
slice-ansi@3.0.0:
dependencies:
ansi-styles: 4.3.0
@@ -10681,6 +10126,11 @@ snapshots:
is-fullwidth-code-point: 3.0.0
strip-ansi: 6.0.1
+ string-width@8.2.0:
+ dependencies:
+ get-east-asian-width: 1.5.0
+ strip-ansi: 7.2.0
+
string.prototype.includes@2.0.1:
dependencies:
call-bind: 1.0.8
@@ -10708,17 +10158,6 @@ snapshots:
define-properties: 1.2.1
es-abstract: 1.24.0
- string.prototype.replaceall@1.0.11:
- dependencies:
- call-bind: 1.0.8
- define-properties: 1.2.1
- es-abstract: 1.24.0
- es-errors: 1.3.0
- es-object-atoms: 1.1.1
- get-intrinsic: 1.3.0
- has-symbols: 1.1.0
- is-regex: 1.2.1
-
string.prototype.trim@1.2.10:
dependencies:
call-bind: 1.0.8
@@ -10750,6 +10189,10 @@ snapshots:
dependencies:
ansi-regex: 5.0.1
+ strip-ansi@7.2.0:
+ dependencies:
+ ansi-regex: 6.2.2
+
strip-bom@3.0.0: {}
strip-bom@4.0.0: {}
@@ -10758,78 +10201,72 @@ snapshots:
dependencies:
min-indent: 1.0.1
- strip-indent@4.1.1: {}
-
strip-json-comments@3.1.1: {}
- style-search@0.1.0: {}
-
style-to-object@0.3.0:
dependencies:
inline-style-parser: 0.1.1
- stylelint-order@6.0.4(stylelint@15.11.0(typescript@4.8.4)):
+ stylelint-order@8.1.1(stylelint@17.6.0(typescript@5.9.3)):
dependencies:
- postcss: 8.5.6
- postcss-sorting: 8.0.2(postcss@8.5.6)
- stylelint: 15.11.0(typescript@4.8.4)
+ postcss: 8.5.8
+ postcss-sorting: 10.0.0(postcss@8.5.8)
+ stylelint: 17.6.0(typescript@5.9.3)
- stylelint@15.11.0(typescript@4.8.4):
+ stylelint@17.6.0(typescript@5.9.3):
dependencies:
- '@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1)
- '@csstools/css-tokenizer': 2.4.1
- '@csstools/media-query-list-parser': 2.1.13(@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1))(@csstools/css-tokenizer@2.4.1)
- '@csstools/selector-specificity': 3.1.1(postcss-selector-parser@6.1.2)
- balanced-match: 2.0.0
+ '@csstools/css-calc': 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-syntax-patches-for-csstree': 1.1.2(css-tree@3.2.1)
+ '@csstools/css-tokenizer': 4.0.0
+ '@csstools/media-query-list-parser': 5.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
+ '@csstools/selector-resolve-nested': 4.0.0(postcss-selector-parser@7.1.1)
+ '@csstools/selector-specificity': 6.0.0(postcss-selector-parser@7.1.1)
colord: 2.9.3
- cosmiconfig: 8.3.6(typescript@4.8.4)
- css-functions-list: 3.2.3
- css-tree: 2.3.1
+ cosmiconfig: 9.0.1(typescript@5.9.3)
+ css-functions-list: 3.3.3
+ css-tree: 3.2.1
debug: 4.4.3
fast-glob: 3.3.3
fastest-levenshtein: 1.0.16
- file-entry-cache: 7.0.2
+ file-entry-cache: 11.1.2
global-modules: 2.0.0
- globby: 11.1.0
+ globby: 16.2.0
globjoin: 0.1.4
- html-tags: 3.3.1
- ignore: 5.3.2
- import-lazy: 4.0.0
- imurmurhash: 0.1.4
+ html-tags: 5.1.0
+ ignore: 7.0.5
+ import-meta-resolve: 4.2.0
is-plain-object: 5.0.0
- known-css-properties: 0.29.0
- mathml-tag-names: 2.1.3
- meow: 10.1.5
+ mathml-tag-names: 4.0.0
+ meow: 14.1.0
micromatch: 4.0.8
normalize-path: 3.0.0
picocolors: 1.1.1
- postcss: 8.5.6
- postcss-resolve-nested-selector: 0.1.6
- postcss-safe-parser: 6.0.0(postcss@8.5.6)
- postcss-selector-parser: 6.1.2
+ postcss: 8.5.8
+ postcss-safe-parser: 7.0.1(postcss@8.5.8)
+ postcss-selector-parser: 7.1.1
postcss-value-parser: 4.2.0
- resolve-from: 5.0.0
- string-width: 4.2.3
- strip-ansi: 6.0.1
- style-search: 0.1.0
- supports-hyperlinks: 3.2.0
+ string-width: 8.2.0
+ supports-hyperlinks: 4.4.0
svg-tags: 1.0.0
table: 6.9.0
- write-file-atomic: 5.0.1
+ write-file-atomic: 7.0.1
transitivePeerDependencies:
- supports-color
- typescript
stylis@4.2.0: {}
+ supports-color@10.2.2: {}
+
supports-color@7.2.0:
dependencies:
has-flag: 4.0.0
- supports-hyperlinks@3.2.0:
+ supports-hyperlinks@4.4.0:
dependencies:
- has-flag: 4.0.0
- supports-color: 7.2.0
+ has-flag: 5.0.1
+ supports-color: 10.2.2
supports-preserve-symlinks-flag@1.0.0: {}
@@ -10847,8 +10284,6 @@ snapshots:
timeout-signal: 2.0.0
whatwg-mimetype: 4.0.0
- systemjs@6.15.1: {}
-
table@6.9.0:
dependencies:
ajv: 8.18.0
@@ -10857,10 +10292,10 @@ snapshots:
string-width: 4.2.3
strip-ansi: 6.0.1
- terser@5.44.0:
+ terser@5.46.1:
dependencies:
'@jridgewell/source-map': 0.3.11
- acorn: 8.15.0
+ acorn: 8.16.0
commander: 2.20.3
source-map-support: 0.5.21
@@ -10868,7 +10303,7 @@ snapshots:
thehandy@1.1.0: {}
- three@0.93.0: {}
+ three@0.125.2: {}
throttle-debounce@5.0.2: {}
@@ -10882,6 +10317,11 @@ snapshots:
tiny-warning@1.0.3: {}
+ tinyglobby@0.2.16:
+ dependencies:
+ fdir: 6.5.0(picomatch@4.0.4)
+ picomatch: 4.0.4
+
title-case@3.0.3:
dependencies:
tslib: 2.8.1
@@ -10896,37 +10336,39 @@ snapshots:
trim-newlines@3.0.1: {}
- trim-newlines@4.1.1: {}
-
trough@1.0.5: {}
+ ts-api-utils@1.4.3(typescript@5.9.3):
+ dependencies:
+ typescript: 5.9.3
+
ts-invariant@0.10.3:
dependencies:
tslib: 2.8.1
ts-log@2.2.7: {}
- ts-node@10.9.2(@types/node@18.19.130)(typescript@4.8.4):
+ ts-node@10.9.2(@types/node@20.19.37)(typescript@5.9.3):
dependencies:
'@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.11
'@tsconfig/node12': 1.0.11
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4
- '@types/node': 18.19.130
- acorn: 8.15.0
+ '@types/node': 20.19.37
+ acorn: 8.16.0
acorn-walk: 8.3.4
arg: 4.1.3
create-require: 1.1.1
diff: 4.0.2
make-error: 1.3.6
- typescript: 4.8.4
+ typescript: 5.9.3
v8-compile-cache-lib: 3.0.1
yn: 3.1.1
- tsconfck@3.1.6(typescript@4.8.4):
+ tsconfck@3.1.6(typescript@5.9.3):
optionalDependencies:
- typescript: 4.8.4
+ typescript: 5.9.3
tsconfig-paths@3.15.0:
dependencies:
@@ -10935,19 +10377,12 @@ snapshots:
minimist: 1.2.8
strip-bom: 3.0.0
- tslib@1.14.1: {}
-
tslib@2.4.1: {}
tslib@2.6.3: {}
tslib@2.8.1: {}
- tsutils@3.21.0(typescript@4.8.4):
- dependencies:
- tslib: 1.14.1
- typescript: 4.8.4
-
type-check@0.4.0:
dependencies:
prelude-ls: 1.2.1
@@ -10962,8 +10397,6 @@ snapshots:
type-fest@0.8.1: {}
- type-fest@1.4.0: {}
-
type-fest@2.19.0: {}
typed-array-buffer@1.0.3:
@@ -11003,10 +10436,20 @@ snapshots:
dependencies:
is-typedarray: 1.0.0
- typescript@4.8.4: {}
+ typescript@4.9.5: {}
+
+ typescript@5.9.3: {}
+
+ ua-is-frozen@0.1.2: {}
ua-parser-js@1.0.41: {}
+ ua-parser-js@2.0.9:
+ dependencies:
+ detect-europe-js: 0.1.2
+ is-standalone-pwa: 0.1.1
+ ua-is-frozen: 0.1.2
+
unbox-primitive@1.1.0:
dependencies:
call-bound: 1.0.4
@@ -11018,24 +10461,15 @@ snapshots:
uncontrollable@7.2.1(react@17.0.2):
dependencies:
- '@babel/runtime': 7.28.4
+ '@babel/runtime': 7.29.2
'@types/react': 17.0.89
invariant: 2.2.4
react: 17.0.2
react-lifecycles-compat: 3.0.4
- undici-types@5.26.5: {}
+ undici-types@6.21.0: {}
- unicode-canonical-property-names-ecmascript@2.0.1: {}
-
- unicode-match-property-ecmascript@2.0.0:
- dependencies:
- unicode-canonical-property-names-ecmascript: 2.0.1
- unicode-property-aliases-ecmascript: 2.2.0
-
- unicode-match-property-value-ecmascript@2.2.1: {}
-
- unicode-property-aliases-ecmascript@2.2.0: {}
+ unicorn-magic@0.4.0: {}
unified@9.2.2:
dependencies:
@@ -11080,10 +10514,9 @@ snapshots:
unist-util-is: 4.1.0
unist-util-visit-parents: 3.1.1
- universal-cookie@4.0.4:
+ universal-cookie@8.1.0:
dependencies:
- '@types/cookie': 0.3.3
- cookie: 0.4.2
+ cookie: 1.1.1
universalify@2.0.1: {}
@@ -11091,9 +10524,9 @@ snapshots:
dependencies:
normalize-path: 2.1.1
- update-browserslist-db@1.1.3(browserslist@4.26.3):
+ update-browserslist-db@1.2.3(browserslist@4.28.1):
dependencies:
- browserslist: 4.26.3
+ browserslist: 4.28.1
escalade: 3.2.0
picocolors: 1.1.1
@@ -11144,7 +10577,7 @@ snapshots:
video.js@7.21.7:
dependencies:
- '@babel/runtime': 7.28.4
+ '@babel/runtime': 7.29.2
'@videojs/http-streaming': 2.16.3(video.js@7.21.7)
'@videojs/vhs-utils': 3.0.5
'@videojs/xhr': 2.6.0
@@ -11178,48 +10611,45 @@ snapshots:
global: 4.4.0
video.js: 7.21.7
- videojs-vr@1.8.0:
- dependencies:
- '@babel/runtime': 7.28.4
- global: 4.4.0
- three: 0.93.0
- video.js: 7.21.7
- webvr-polyfill: 0.10.12
-
videojs-vtt.js@0.15.5:
dependencies:
global: 4.4.0
- vite-plugin-compression@0.5.1(vite@5.4.21(@types/node@18.19.130)(sass@1.93.2)(terser@5.44.0)):
+ vite-plugin-compression@0.5.1(vite@7.3.2(@types/node@20.19.37)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.98.0)(terser@5.46.1)(yaml@2.8.1)):
dependencies:
chalk: 4.1.2
debug: 4.4.3
fs-extra: 10.1.0
- vite: 5.4.21(@types/node@18.19.130)(sass@1.93.2)(terser@5.44.0)
+ vite: 7.3.2(@types/node@20.19.37)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.98.0)(terser@5.46.1)(yaml@2.8.1)
transitivePeerDependencies:
- supports-color
- vite-tsconfig-paths@4.3.2(typescript@4.8.4)(vite@5.4.21(@types/node@18.19.130)(sass@1.93.2)(terser@5.44.0)):
+ vite-tsconfig-paths@6.1.1(typescript@5.9.3)(vite@7.3.2(@types/node@20.19.37)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.98.0)(terser@5.46.1)(yaml@2.8.1)):
dependencies:
debug: 4.4.3
globrex: 0.1.2
- tsconfck: 3.1.6(typescript@4.8.4)
- optionalDependencies:
- vite: 5.4.21(@types/node@18.19.130)(sass@1.93.2)(terser@5.44.0)
+ tsconfck: 3.1.6(typescript@5.9.3)
+ vite: 7.3.2(@types/node@20.19.37)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.98.0)(terser@5.46.1)(yaml@2.8.1)
transitivePeerDependencies:
- supports-color
- typescript
- vite@5.4.21(@types/node@18.19.130)(sass@1.93.2)(terser@5.44.0):
+ vite@7.3.2(@types/node@20.19.37)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.98.0)(terser@5.46.1)(yaml@2.8.1):
dependencies:
- esbuild: 0.21.5
- postcss: 8.5.6
- rollup: 4.53.1
+ esbuild: 0.27.7
+ fdir: 6.5.0(picomatch@4.0.4)
+ picomatch: 4.0.4
+ postcss: 8.5.8
+ rollup: 4.60.2
+ tinyglobby: 0.2.16
optionalDependencies:
- '@types/node': 18.19.130
+ '@types/node': 20.19.37
fsevents: 2.3.3
- sass: 1.93.2
- terser: 5.44.0
+ jiti: 2.6.1
+ lightningcss: 1.32.0
+ sass: 1.98.0
+ terser: 5.46.1
+ yaml: 2.8.1
warning@4.0.3:
dependencies:
@@ -11324,9 +10754,8 @@ snapshots:
signal-exit: 3.0.7
typedarray-to-buffer: 3.1.5
- write-file-atomic@5.0.1:
+ write-file-atomic@7.0.1:
dependencies:
- imurmurhash: 0.1.4
signal-exit: 4.1.0
write-json-file@4.3.0:
@@ -11348,11 +10777,9 @@ snapshots:
yallist@3.1.1: {}
- yallist@4.0.0: {}
-
yaml-ast-parser@0.0.43: {}
- yaml@1.10.2: {}
+ yaml@1.10.3: {}
yaml@2.8.1: {}
@@ -11361,8 +10788,6 @@ snapshots:
camelcase: 5.3.1
decamelize: 1.2.0
- yargs-parser@20.2.9: {}
-
yargs-parser@21.1.1: {}
yargs@15.4.1:
diff --git a/ui/v2.5/pnpm-workspace.yaml b/ui/v2.5/pnpm-workspace.yaml
index 2b12183a9..0e4687ae8 100644
--- a/ui/v2.5/pnpm-workspace.yaml
+++ b/ui/v2.5/pnpm-workspace.yaml
@@ -2,3 +2,7 @@ onlyBuiltDependencies:
- '@parcel/watcher'
- core-js
- esbuild
+overrides:
+ "yaml@1.10.2": "~1.10.3"
+ "brace-expansion@1.1.12": "~1.1.13"
+ "@xmldom/xmldom@0.8.12": "~0.8.13"
\ No newline at end of file
diff --git a/ui/v2.5/src/@types/string.prototype.replaceall.d.ts b/ui/v2.5/src/@types/string.prototype.replaceall.d.ts
deleted file mode 100644
index fa87eec06..000000000
--- a/ui/v2.5/src/@types/string.prototype.replaceall.d.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-declare module "string.prototype.replaceall" {
- function replaceAll(
- searchValue: string | RegExp,
- replaceValue: string
- ): string;
- function replaceAll(
- searchValue: string | RegExp,
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- replacer: (substring: string, ...args: any[]) => string
- ): string;
-
- namespace replaceAll {
- function getPolyfill(): typeof replaceAll;
- function implementation(): typeof replaceAll;
- function shim(): void;
- }
-
- export default replaceAll;
-}
diff --git a/ui/v2.5/src/@types/videojs-contrib-dash.d.ts b/ui/v2.5/src/@types/videojs-contrib-dash.d.ts
deleted file mode 100644
index b791d1edb..000000000
--- a/ui/v2.5/src/@types/videojs-contrib-dash.d.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-/* eslint-disable @typescript-eslint/naming-convention */
-
-declare module "videojs-contrib-dash" {
- class Html5DashJS {
- /**
- * Get a list of hooks for a specific lifecycle.
- *
- * @param type the lifecycle to get hooks from
- * @param hook optionally add a hook to the lifecycle
- * @return an array of hooks or empty if none
- */
- static hooks(type: string, hook: Function | Function[]): Function[];
-
- /**
- * Add a function hook to a specific dash lifecycle.
- *
- * @param type the lifecycle to hook the function to
- * @param hook the function or array of functions to attach
- */
- static hook(type: string, hook: Function | Function[]): void;
-
- /**
- * Remove a hook from a specific dash lifecycle.
- *
- * @param type the lifecycle that the function hooked to
- * @param hook the hooked function to remove
- * @return true if the function was removed, false if not found
- */
- static removeHook(type: string, hook: Function): boolean;
- }
-}
diff --git a/ui/v2.5/src/@types/videojs-vr.d.ts b/ui/v2.5/src/@types/videojs-vr.d.ts
index e5afd8bf3..8dc0acb8c 100644
--- a/ui/v2.5/src/@types/videojs-vr.d.ts
+++ b/ui/v2.5/src/@types/videojs-vr.d.ts
@@ -1,6 +1,6 @@
/* eslint-disable @typescript-eslint/naming-convention */
-declare module "videojs-vr" {
+declare module "@blaineam/videojs-vr" {
import videojs from "video.js";
// we don't want to depend on THREE.js directly, these are just typedefs for videojs-vr
// eslint-disable-next-line import/no-extraneous-dependencies
@@ -36,61 +36,50 @@ declare module "videojs-vr" {
// Used for Equi-Angular Cubemap videos
| "EAC"
// Used for side-by-side Equi-Angular Cubemap videos
- | "EAC_LR";
+ | "EAC_LR"
+ // flat screen side-by-side
+ | "SBS_MONO";
+ interface mediaItem {
+ title: string;
+ thumbnail: string;
+ url: string;
+ duration?: number;
+ }
+ type mediaItems = mediaItem[];
+
+ type orientationOffset = {
+ x: number;
+ y: number;
+ z: number;
+ };
+
+ // options are taken verbaitum from the README
interface Options {
- /**
- * Force the cardboard button to display on all devices even if we don't think they support it.
- *
- * @default false
- */
- forceCardboard?: boolean;
+ // Projection mode
+ projection?: ProjectionType; // see ProjectionType
+ sphereDetails?: number; // Sphere mesh detail (higher = smoother)
- /**
- * Whether motion/gyro controls should be enabled.
- *
- * @default true on iOS and Android
- */
- motionControls?: boolean;
+ // VR HUD options
+ enableVRHud?: boolean; // Enable in-VR controls
+ enableVRGallery?: boolean; // Enable in-VR video gallery
+ showHUDOnStart?: boolean; // Show HUD when entering VR
+ hudAutoHideDelay?: number; // Auto-hide HUD after ms (0 to disable)
+ hudDistance?: number; // Distance of HUD from viewer
+ hudHeight?: number; // Height of HUD
+ hudScale?: number; // Scale of HUD elements
- /**
- * Defines the projection type.
- *
- * @default "AUTO"
- */
- projection?: ProjectionType;
+ // Behavior options
+ forceCardboard?: boolean; // Force cardboard button on all devices
+ motionControls?: boolean; // Enable gyroscope/device orientation
+ disableTogglePlay?: boolean; // Disable click-to-play
- /**
- * This alters the number of segments in the spherical mesh onto which equirectangular videos are projected.
- * The default is 32 but in some circumstances you may notice artifacts and need to increase this number.
- *
- * @default 32
- */
- sphereDetail?: number;
+ // Spatial audio (requires Omnitone library)
+ omnitone?: Object; // Pass Omnitone library object
+ omnitoneOptions?: Record; // Omnitone configuration
- /**
- * Enable debug logging for this plugin
- *
- * @default false
- */
- debug?: boolean;
-
- /**
- * Use this property to pass the Omnitone library object to the plugin. Please be aware of, the Omnitone library is not included in the build files.
- */
- omnitone?: object;
-
- /**
- * Default options for the Omnitone library. Please check available options on https://github.com/GoogleChrome/omnitone
- */
- omnitoneOptions?: object;
-
- /**
- * Feature to disable the togglePlay manually. This functionality is useful in live events so that users cannot stop the live, but still have a controlBar available.
- *
- * @default false
- */
- disableTogglePlay?: boolean;
+ // Media gallery items
+ mediaItems?: mediaItems; // Array of media items for gallery
}
interface PlayerMediaInfo {
@@ -106,11 +95,33 @@ declare module "videojs-vr" {
init(): void;
reset(): void;
- cameraVector: THREE.Vector3;
+ // VR HUD
+ showHUD(): void; // Show the VR HUD
+ hideHUD(): void; // Hide the VR HUD
+ toggleHUD(): void; // Toggle HUD visibility
+
+ // VR Gallery
+ showGallery(): void; // Show the gallery panel
+ hideGallery(): void; // Hide the gallery panel
+ toggleGallery(): void; // Toggle gallery visibility
+ setGalleryItems(mediaItems): void; // Update gallery media items
+
+ // Favorite state
+ setFavoriteState(boolean): void; // Set favorite button state
+ getFavoriteState(): boolean; // Get current favorite state
+
+ // Orientation
+ setOrientationOffset(orientationOffset): void; // Tilt view
+ resetOrientationOffset(): void; // Reset to default orientation
+ recenter(): void; // Recenter VR view
+
+ // Status
+ isPresenting(): boolean; // Check if currently in VR mode
camera: THREE.Camera;
scene: THREE.Scene;
renderer: THREE.Renderer;
+ cameraVector: THREE.Vector3;
}
}
diff --git a/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryEditPanel.tsx b/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryEditPanel.tsx
index 14b5d6aad..0fc466bd9 100644
--- a/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryEditPanel.tsx
+++ b/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryEditPanel.tsx
@@ -35,7 +35,7 @@ import {
CustomFieldsInput,
formatCustomFieldInput,
} from "src/components/Shared/CustomFields";
-import { cloneDeep } from "@apollo/client/utilities";
+import cloneDeep from "lodash-es/cloneDeep";
interface IProps {
gallery: Partial;
diff --git a/ui/v2.5/src/components/Groups/GroupDetails/GroupEditPanel.tsx b/ui/v2.5/src/components/Groups/GroupDetails/GroupEditPanel.tsx
index 6401738fa..1a77abeaa 100644
--- a/ui/v2.5/src/components/Groups/GroupDetails/GroupEditPanel.tsx
+++ b/ui/v2.5/src/components/Groups/GroupDetails/GroupEditPanel.tsx
@@ -32,7 +32,7 @@ import {
CustomFieldsInput,
formatCustomFieldInput,
} from "src/components/Shared/CustomFields";
-import { cloneDeep } from "@apollo/client/utilities";
+import cloneDeep from "lodash-es/cloneDeep";
interface IGroupEditPanel {
group: Partial;
diff --git a/ui/v2.5/src/components/Images/ImageDetails/ImageEditPanel.tsx b/ui/v2.5/src/components/Images/ImageDetails/ImageEditPanel.tsx
index 94dddac4b..7dcaa93d2 100644
--- a/ui/v2.5/src/components/Images/ImageDetails/ImageEditPanel.tsx
+++ b/ui/v2.5/src/components/Images/ImageDetails/ImageEditPanel.tsx
@@ -39,7 +39,7 @@ import {
CustomFieldsInput,
formatCustomFieldInput,
} from "src/components/Shared/CustomFields";
-import { cloneDeep } from "@apollo/client/utilities";
+import cloneDeep from "lodash-es/cloneDeep";
interface IProps {
image: GQL.ImageDataFragment;
diff --git a/ui/v2.5/src/components/List/Filters/CustomFieldsFilter.tsx b/ui/v2.5/src/components/List/Filters/CustomFieldsFilter.tsx
index 0721cfe00..6e9768b85 100644
--- a/ui/v2.5/src/components/List/Filters/CustomFieldsFilter.tsx
+++ b/ui/v2.5/src/components/List/Filters/CustomFieldsFilter.tsx
@@ -5,7 +5,7 @@ import {
CriterionModifier,
CustomFieldCriterionInput,
} from "src/core/generated-graphql";
-import { cloneDeep } from "@apollo/client/utilities";
+import cloneDeep from "lodash-es/cloneDeep";
import { ModifierSelect } from "../ModifierSelect";
import { useIntl } from "react-intl";
import { Icon } from "src/components/Shared/Icon";
diff --git a/ui/v2.5/src/components/List/styles.scss b/ui/v2.5/src/components/List/styles.scss
index cccd73cb2..7ae8f23cf 100644
--- a/ui/v2.5/src/components/List/styles.scss
+++ b/ui/v2.5/src/components/List/styles.scss
@@ -514,8 +514,8 @@ ul.selectable-list {
max-height: 300px;
overflow-y: auto;
// to prevent unnecessary vertical scrollbar
- padding-bottom: 0.15rem;
padding-inline-start: 0;
+ padding-bottom: 0.15rem;
.modifier-object {
font-style: italic;
@@ -621,8 +621,8 @@ ul.selectable-list {
max-height: 300px;
overflow-y: auto;
// to prevent unnecessary vertical scrollbar
- padding-bottom: 0.15rem;
padding-inline-start: 0;
+ padding-bottom: 0.15rem;
.modifier-object {
font-style: italic;
diff --git a/ui/v2.5/src/components/Performers/PerformerDetails/PerformerEditPanel.tsx b/ui/v2.5/src/components/Performers/PerformerDetails/PerformerEditPanel.tsx
index 6d5570ef0..c94002412 100644
--- a/ui/v2.5/src/components/Performers/PerformerDetails/PerformerEditPanel.tsx
+++ b/ui/v2.5/src/components/Performers/PerformerDetails/PerformerEditPanel.tsx
@@ -52,7 +52,7 @@ import {
CustomFieldsInput,
formatCustomFieldInput,
} from "src/components/Shared/CustomFields";
-import { cloneDeep } from "@apollo/client/utilities";
+import cloneDeep from "lodash-es/cloneDeep";
const isScraper = (
scraper: GQL.Scraper | GQL.StashBox
diff --git a/ui/v2.5/src/components/ScenePlayer/vrmode.ts b/ui/v2.5/src/components/ScenePlayer/vrmode.ts
index cad442c4b..cc9b794c1 100644
--- a/ui/v2.5/src/components/ScenePlayer/vrmode.ts
+++ b/ui/v2.5/src/components/ScenePlayer/vrmode.ts
@@ -1,9 +1,13 @@
/* eslint-disable @typescript-eslint/naming-convention */
import videojs, { VideoJsPlayer } from "video.js";
-import "videojs-vr";
+// eslint-disable-next-line import/no-extraneous-dependencies
+import "@blaineam/videojs-vr";
// separate type import, otherwise typescript elides the above import
// and the plugin does not get initialized
-import type { ProjectionType, Plugin as VideoJsVRPlugin } from "videojs-vr";
+import type {
+ ProjectionType,
+ Plugin as VideoJsVRPlugin,
+} from "@blaineam/videojs-vr";
export interface VRMenuOptions {
/**
diff --git a/ui/v2.5/src/components/Scenes/SceneDetails/SceneEditPanel.tsx b/ui/v2.5/src/components/Scenes/SceneDetails/SceneEditPanel.tsx
index 41293ff78..2e8bb39fa 100644
--- a/ui/v2.5/src/components/Scenes/SceneDetails/SceneEditPanel.tsx
+++ b/ui/v2.5/src/components/Scenes/SceneDetails/SceneEditPanel.tsx
@@ -54,7 +54,7 @@ import {
CustomFieldsInput,
formatCustomFieldInput,
} from "src/components/Shared/CustomFields";
-import { cloneDeep } from "@apollo/client/utilities";
+import cloneDeep from "lodash-es/cloneDeep";
const SceneScrapeDialog = lazyComponent(() => import("./SceneScrapeDialog"));
const SceneQueryModal = lazyComponent(() => import("./SceneQueryModal"));
diff --git a/ui/v2.5/src/components/Shared/CustomFields.tsx b/ui/v2.5/src/components/Shared/CustomFields.tsx
index e6e892f7c..c6e0ecb76 100644
--- a/ui/v2.5/src/components/Shared/CustomFields.tsx
+++ b/ui/v2.5/src/components/Shared/CustomFields.tsx
@@ -3,7 +3,7 @@ import { CollapseButton } from "./CollapseButton";
import { DetailItem } from "./DetailItem";
import { Button, Col, Form, FormGroup, InputGroup, Row } from "react-bootstrap";
import { FormattedMessage, useIntl } from "react-intl";
-import { cloneDeep } from "@apollo/client/utilities";
+import cloneDeep from "lodash-es/cloneDeep";
import { Icon } from "./Icon";
import { faMinus, faPlus } from "@fortawesome/free-solid-svg-icons";
import cx from "classnames";
diff --git a/ui/v2.5/src/components/Studios/StudioDetails/StudioEditPanel.tsx b/ui/v2.5/src/components/Studios/StudioDetails/StudioEditPanel.tsx
index 490f09a55..b1de160b1 100644
--- a/ui/v2.5/src/components/Studios/StudioDetails/StudioEditPanel.tsx
+++ b/ui/v2.5/src/components/Studios/StudioDetails/StudioEditPanel.tsx
@@ -25,7 +25,7 @@ import {
CustomFieldsInput,
formatCustomFieldInput,
} from "src/components/Shared/CustomFields";
-import { cloneDeep } from "@apollo/client/utilities";
+import cloneDeep from "lodash-es/cloneDeep";
interface IStudioEditPanel {
studio: Partial;
diff --git a/ui/v2.5/src/components/Tagger/context.tsx b/ui/v2.5/src/components/Tagger/context.tsx
index fb73f21e3..f1aa9dc22 100644
--- a/ui/v2.5/src/components/Tagger/context.tsx
+++ b/ui/v2.5/src/components/Tagger/context.tsx
@@ -303,8 +303,6 @@ export const TaggerContext: React.FC = ({ children }) => {
if (results.error) {
newResult = { error: results.error.message };
- } else if (results.errors) {
- newResult = { error: results.errors.toString() };
} else {
newResult = {
results: results.data.scrapeSingleScene.map((r) => ({
@@ -339,8 +337,6 @@ export const TaggerContext: React.FC = ({ children }) => {
if (results.error) {
newResult = { error: results.error.message };
- } else if (results.errors) {
- newResult = { error: results.errors.toString() };
} else {
newResult = {
results: results.data.scrapeSingleScene.map((r) => ({
@@ -401,8 +397,6 @@ export const TaggerContext: React.FC = ({ children }) => {
if (results.error) {
setMultiError(results.error.message);
- } else if (results.errors) {
- setMultiError(results.errors.toString());
} else {
const newSearchResults = { ...searchResults };
sceneIDs.forEach((sceneID, index) => {
diff --git a/ui/v2.5/src/components/Tags/TagDetails/TagEditPanel.tsx b/ui/v2.5/src/components/Tags/TagDetails/TagEditPanel.tsx
index 21cd32c53..1f683e2dd 100644
--- a/ui/v2.5/src/components/Tags/TagDetails/TagEditPanel.tsx
+++ b/ui/v2.5/src/components/Tags/TagDetails/TagEditPanel.tsx
@@ -24,7 +24,7 @@ import {
CustomFieldsInput,
formatCustomFieldInput,
} from "src/components/Shared/CustomFields";
-import { cloneDeep } from "@apollo/client/utilities";
+import cloneDeep from "lodash-es/cloneDeep";
interface ITagEditPanel {
tag: Partial;
diff --git a/ui/v2.5/src/core/createClient.ts b/ui/v2.5/src/core/createClient.ts
index 4fbcd9183..f2a6ff5fd 100644
--- a/ui/v2.5/src/core/createClient.ts
+++ b/ui/v2.5/src/core/createClient.ts
@@ -1,8 +1,7 @@
import {
ApolloClient,
InMemoryCache,
- split,
- from,
+ ApolloLink,
ServerError,
TypePolicies,
} from "@apollo/client";
@@ -171,7 +170,7 @@ Please disable it on the server and refresh the page.`);
}
});
- const splitLink = split(
+ const splitLink = ApolloLink.split(
({ query }) => {
const definition = getMainDefinition(query);
return (
@@ -183,7 +182,7 @@ Please disable it on the server and refresh the page.`);
httpLink
);
- const link = from([errorLink, splitLink]);
+ const link = ApolloLink.from([errorLink, splitLink]);
const cache = new InMemoryCache({
typePolicies,
diff --git a/ui/v2.5/src/index.scss b/ui/v2.5/src/index.scss
index 3d9478194..c8c6e90bd 100755
--- a/ui/v2.5/src/index.scss
+++ b/ui/v2.5/src/index.scss
@@ -11,32 +11,32 @@ $sidebar-width: 250px;
@import "styles/range";
@import "styles/scrollbars";
@import "sfw-mode.scss";
-@import "src/components/Changelog/styles.scss";
-@import "src/components/Galleries/styles.scss";
-@import "src/components/Help/styles.scss";
-@import "src/components/Images/styles.scss";
-@import "src/components/List/styles.scss";
-@import "src/components/Groups/styles.scss";
-@import "src/components/Performers/styles.scss";
-@import "src/components/FrontPage/styles.scss";
-@import "src/components/Scenes/styles.scss";
-@import "src/components/SceneDuplicateChecker/styles.scss";
-@import "src/components/SceneFilenameParser/styles.scss";
-@import "src/components/ScenePlayer/styles.scss";
-@import "src/components/Settings/styles.scss";
-@import "src/components/Setup/styles.scss";
-@import "src/components/Studios/styles.scss";
-@import "src/components/Shared/styles.scss";
-@import "src/components/Shared/GridCard/styles.scss";
-@import "src/components/Shared/Rating/styles.scss";
-@import "src/components/Shared/PackageManager/styles.scss";
-@import "src/components/Tags/styles.scss";
-@import "src/components/Wall/styles.scss";
-@import "src/components/Tagger/styles.scss";
-@import "src/hooks/Lightbox/lightbox.scss";
-@import "src/hooks/Interactive/interactive.scss";
-@import "src/components/Dialogs/IdentifyDialog/styles.scss";
-@import "src/components/Dialogs/styles.scss";
+@import "components/Changelog/styles.scss";
+@import "components/Galleries/styles.scss";
+@import "components/Help/styles.scss";
+@import "components/Images/styles.scss";
+@import "components/List/styles.scss";
+@import "components/Groups/styles.scss";
+@import "components/Performers/styles.scss";
+@import "components/FrontPage/styles.scss";
+@import "components/Scenes/styles.scss";
+@import "components/SceneDuplicateChecker/styles.scss";
+@import "components/SceneFilenameParser/styles.scss";
+@import "components/ScenePlayer/styles.scss";
+@import "components/Settings/styles.scss";
+@import "components/Setup/styles.scss";
+@import "components/Studios/styles.scss";
+@import "components/Shared/styles.scss";
+@import "components/Shared/GridCard/styles.scss";
+@import "components/Shared/Rating/styles.scss";
+@import "components/Shared/PackageManager/styles.scss";
+@import "components/Tags/styles.scss";
+@import "components/Wall/styles.scss";
+@import "components/Tagger/styles.scss";
+@import "hooks/Lightbox/lightbox.scss";
+@import "hooks/Interactive/interactive.scss";
+@import "components/Dialogs/IdentifyDialog/styles.scss";
+@import "components/Dialogs/styles.scss";
@import "flag-icons/css/flag-icons.min.css";
/* stylelint-disable */
diff --git a/ui/v2.5/src/models/list-filter/criteria/custom-fields.ts b/ui/v2.5/src/models/list-filter/criteria/custom-fields.ts
index e73c0245d..05c5d4a52 100644
--- a/ui/v2.5/src/models/list-filter/criteria/custom-fields.ts
+++ b/ui/v2.5/src/models/list-filter/criteria/custom-fields.ts
@@ -4,7 +4,7 @@ import {
CriterionModifier,
CustomFieldCriterionInput,
} from "src/core/generated-graphql";
-import { cloneDeep } from "@apollo/client/utilities";
+import cloneDeep from "lodash-es/cloneDeep";
function valueToString(value: unknown[] | undefined | null) {
if (!value) return "";
diff --git a/ui/v2.5/src/polyfills.ts b/ui/v2.5/src/polyfills.ts
index ca5620e81..fdf7444b1 100644
--- a/ui/v2.5/src/polyfills.ts
+++ b/ui/v2.5/src/polyfills.ts
@@ -1,29 +1,26 @@
-import replaceAll from "string.prototype.replaceall";
-import { shouldPolyfill as shouldPolyfillCanonicalLocales } from "@formatjs/intl-getcanonicallocales/should-polyfill";
-import { shouldPolyfill as shouldPolyfillLocale } from "@formatjs/intl-locale/should-polyfill";
-import { shouldPolyfill as shouldPolyfillNumberformat } from "@formatjs/intl-numberformat/should-polyfill";
-import { shouldPolyfill as shouldPolyfillPluralRules } from "@formatjs/intl-pluralrules/should-polyfill";
+/* eslint-disable import/extensions */
+import { shouldPolyfill as shouldPolyfillCanonicalLocales } from "@formatjs/intl-getcanonicallocales/should-polyfill.js";
+import { shouldPolyfill as shouldPolyfillLocale } from "@formatjs/intl-locale/should-polyfill.js";
+import { shouldPolyfill as shouldPolyfillNumberformat } from "@formatjs/intl-numberformat/should-polyfill.js";
+import { shouldPolyfill as shouldPolyfillPluralRules } from "@formatjs/intl-pluralrules/should-polyfill.js";
// needed for older safari versions
import "event-target-polyfill";
-// Required for browsers older than August 2020ish. Can be removed at some point.
-replaceAll.shim();
-
async function checkPolyfills() {
if (shouldPolyfillCanonicalLocales()) {
- await import("@formatjs/intl-getcanonicallocales/polyfill");
+ await import("@formatjs/intl-getcanonicallocales/polyfill.js");
}
if (shouldPolyfillLocale()) {
- await import("@formatjs/intl-locale/polyfill");
+ await import("@formatjs/intl-locale/polyfill.js");
}
if (shouldPolyfillNumberformat()) {
- await import("@formatjs/intl-numberformat/polyfill");
+ await import("@formatjs/intl-numberformat/polyfill.js");
await import("@formatjs/intl-numberformat/locale-data/en");
await import("@formatjs/intl-numberformat/locale-data/en-GB");
}
if (shouldPolyfillPluralRules()) {
- await import("@formatjs/intl-pluralrules/polyfill");
+ await import("@formatjs/intl-pluralrules/polyfill.js");
await import("@formatjs/intl-pluralrules/locale-data/en");
}
}
diff --git a/ui/v2.5/src/styles/_theme.scss b/ui/v2.5/src/styles/_theme.scss
index 69380c360..2c6e04978 100644
--- a/ui/v2.5/src/styles/_theme.scss
+++ b/ui/v2.5/src/styles/_theme.scss
@@ -28,7 +28,7 @@ $textfield-bg: rgba(16, 22, 26, 0.3);
$card-bg: #30404d;
$card-cap-bg: rgba(#000, 0.03);
-@import "node_modules/bootstrap/scss/bootstrap";
+@import "bootstrap/scss/bootstrap";
$red1: #a82a2a;
$orange1: #a66321;
diff --git a/ui/v2.5/src/utils/apple.ts b/ui/v2.5/src/utils/apple.ts
index 580399189..8fa74583a 100644
--- a/ui/v2.5/src/utils/apple.ts
+++ b/ui/v2.5/src/utils/apple.ts
@@ -1,4 +1,4 @@
-import UAParser from "ua-parser-js";
+import { UAParser } from "ua-parser-js";
export function isPlatformUniquelyRenderedByApple() {
// OS name on iPads show up as iOS or Max OS depending on the browser.
diff --git a/ui/v2.5/tsconfig.json b/ui/v2.5/tsconfig.json
index 4b68980fd..93c8c0b5a 100644
--- a/ui/v2.5/tsconfig.json
+++ b/ui/v2.5/tsconfig.json
@@ -19,7 +19,7 @@
"isolatedModules": true,
"noFallthroughCasesInSwitch": true,
"useDefineForClassFields": true,
- "types": ["vite/client", "dom-screen-wake-lock"]
+ "types": ["vite/client"]
},
"include": ["src"]
}
diff --git a/ui/v2.5/vite.config.js b/ui/v2.5/vite.config.js
index ebec2618a..91b1b95c3 100644
--- a/ui/v2.5/vite.config.js
+++ b/ui/v2.5/vite.config.js
@@ -1,10 +1,8 @@
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
-import legacy from "@vitejs/plugin-legacy";
import tsconfigPaths from "vite-tsconfig-paths";
import viteCompression from "vite-plugin-compression";
-const nolegacy = process.env.VITE_APP_NOLEGACY === "true";
const sourcemap = process.env.VITE_APP_SOURCEMAPS === "true";
// https://vitejs.dev/config/
@@ -24,10 +22,6 @@ export default defineConfig(() => {
}),
];
- if (!nolegacy) {
- plugins = [...plugins, legacy()];
- }
-
return {
base: "",
build: {