diff --git a/.github/workflows/backend.yml b/.github/workflows/backend.yml
index 161f536..44cafeb 100644
--- a/.github/workflows/backend.yml
+++ b/.github/workflows/backend.yml
@@ -17,8 +17,8 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
- distribution: temurin
- java-version: 21
+ distribution: graalvm
+ java-version: 23
cache: gradle
- name: Verify
run: ./gradlew --no-daemon check koverHtmlReport koverVerify
diff --git a/.github/workflows/gradle-dependency-submission.yml b/.github/workflows/gradle-dependency-submission.yml
index 18a59a9..603dfc5 100644
--- a/.github/workflows/gradle-dependency-submission.yml
+++ b/.github/workflows/gradle-dependency-submission.yml
@@ -14,8 +14,8 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
- distribution: temurin
- java-version: 21
+ distribution: graalvm
+ java-version: 23
cache: gradle
- name: Run snapshot action
diff --git a/.github/workflows/operations.yml b/.github/workflows/operations.yml
index cc202c4..89fe3d8 100644
--- a/.github/workflows/operations.yml
+++ b/.github/workflows/operations.yml
@@ -17,8 +17,8 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
- distribution: temurin
- java-version: 21
+ distribution: graalvm
+ java-version: 23
cache: gradle
- uses: pnpm/action-setup@v4
with:
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 061365e..ef4b173 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -4,9 +4,6 @@
-
-
-
@@ -21,5 +18,6 @@
+
\ No newline at end of file
diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml
index 5ed8ccb..131e44d 100644
--- a/.idea/kotlinc.xml
+++ b/.idea/kotlinc.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 3c13ada..e749ca2 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -12,5 +12,5 @@
-
-
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
index ec13a12..5b42f0d 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -2,6 +2,7 @@
+
diff --git a/.idea/modules/Backend/bootstrap/JassTracker.Backend.bootstrap.test.iml b/.idea/modules/Backend/bootstrap/JassTracker.Backend.bootstrap.test.iml
new file mode 100644
index 0000000..d1de22c
--- /dev/null
+++ b/.idea/modules/Backend/bootstrap/JassTracker.Backend.bootstrap.test.iml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Backend/bootstrap/build.gradle.kts b/Backend/bootstrap/build.gradle.kts
index 11de7d6..7f06401 100644
--- a/Backend/bootstrap/build.gradle.kts
+++ b/Backend/bootstrap/build.gradle.kts
@@ -2,18 +2,21 @@ plugins {
application
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.shadow)
- alias(libs.plugins.kover)
+ alias(testLibs.plugins.kover)
}
application {
- mainClass.set("io.ktor.server.netty.EngineMain")
+ mainClass.set("dev.honegger.jasstracker.bootstrap.ApplicationKt")
val isDevelopment: Boolean = project.ext.has("development")
applicationDefaultJvmArgs = listOf("-Dio.ktor.development=$isDevelopment")
}
kotlin {
- jvmToolchain(23)
+ jvmToolchain {
+ languageVersion.set(JavaLanguageVersion.of(23))
+ vendor.set(JvmVendorSpec.GRAAL_VM)
+ }
}
dependencies {
@@ -27,7 +30,7 @@ dependencies {
implementation(libs.ktor.server.call.logging)
implementation(libs.ktor.server.content.negotiation)
implementation(libs.ktor.server.cors)
- implementation(libs.ktor.server.netty)
+ implementation(libs.ktor.server.cio)
implementation(libs.ktor.server.auth)
implementation(libs.ktor.server.auth.jwt)
implementation(libs.ktor.server.status.pages)
@@ -37,12 +40,18 @@ dependencies {
implementation(libs.kotlin.logging)
implementation(libs.slf4j)
implementation(libs.java.jwt)
+ testImplementation(testLibs.kotlin.test)
+ testImplementation(testLibs.mockk)
+}
+
+tasks.withType {
+ useJUnitPlatform()
}
tasks {
shadowJar {
manifest {
- attributes(Pair("Main-Class", "io.ktor.server.netty.EngineMain"))
+ attributes("Main-Class" to "dev.honegger.jasstracker.bootstrap.ApplicationKt")
}
}
}
diff --git a/Backend/bootstrap/src/main/kotlin/dev/honegger/jasstracker/bootstrap/Application.kt b/Backend/bootstrap/src/main/kotlin/dev/honegger/jasstracker/bootstrap/Application.kt
index 9a7d7c4..33abb06 100644
--- a/Backend/bootstrap/src/main/kotlin/dev/honegger/jasstracker/bootstrap/Application.kt
+++ b/Backend/bootstrap/src/main/kotlin/dev/honegger/jasstracker/bootstrap/Application.kt
@@ -1,10 +1,10 @@
+@file:OptIn(ExperimentalEncodingApi::class)
+
package dev.honegger.jasstracker.bootstrap
import dev.honegger.jasstracker.api.endpoints.*
-import dev.honegger.jasstracker.bootstrap.plugins.configureAuthentication
-import dev.honegger.jasstracker.bootstrap.plugins.configureHTTP
-import dev.honegger.jasstracker.bootstrap.plugins.configureStaticRouting
-import dev.honegger.jasstracker.bootstrap.plugins.initializeDatabase
+import dev.honegger.jasstracker.bootstrap.plugins.*
+import dev.honegger.jasstracker.bootstrap.utils.readConfiguration
import dev.honegger.jasstracker.data.repositories.*
import dev.honegger.jasstracker.domain.services.*
import dev.honegger.jasstracker.security.Argon2HashConfig
@@ -14,15 +14,32 @@ import dev.honegger.jasstracker.security.JwtTokenService
import io.ktor.server.application.*
import io.ktor.server.auth.*
import io.ktor.server.routing.*
+import io.ktor.server.engine.*
+import io.ktor.server.cio.*
+import io.ktor.server.config.*
+import kotlin.io.encoding.Base64
+import kotlin.io.encoding.ExperimentalEncodingApi
import kotlin.time.Duration
-fun main(args: Array): Unit = io.ktor.server.netty.EngineMain.main(args)
+fun main() {
+ embeddedServer(
+ factory = CIO,
+ configure = {
+ connectors += EngineConnectorBuilder().apply {
+ port = System.getenv("PORT")?.toInt() ?: 8080
+ }
+ },
+ environment = applicationEnvironment {
+ config = MapApplicationConfig(readConfiguration(System::getenv))
+ },
+ module = Application::module,
+ ).start(true)
+}
-@Suppress("unused") // application.conf references the main function. This annotation prevents the IDE from marking it as unused.
fun Application.module() {
environment.config.apply {
val jwtConfig = JwtConfig(
- secret = property("jwt.secret").getString(),
+ secret = Base64.decode(property("jwt.secret").getString()),
issuer = property("jwt.issuer").getString(),
audience = property("jwt.audience").getString(),
realm = property("jwt.realm").getString(),
@@ -56,7 +73,6 @@ fun Application.module() {
configureHTTP()
configureStaticRouting()
-
routing {
route("/api") {
configureAuthenticationEndpoints(playerService)
diff --git a/Backend/bootstrap/src/main/kotlin/dev/honegger/jasstracker/bootstrap/utils/Configuration.kt b/Backend/bootstrap/src/main/kotlin/dev/honegger/jasstracker/bootstrap/utils/Configuration.kt
new file mode 100644
index 0000000..14d80c4
--- /dev/null
+++ b/Backend/bootstrap/src/main/kotlin/dev/honegger/jasstracker/bootstrap/utils/Configuration.kt
@@ -0,0 +1,17 @@
+package dev.honegger.jasstracker.bootstrap.utils
+
+inline fun readConfiguration(getEnvVariable: (name: String) -> String?) = listOf(
+ "jasstracker.db.url" to (getEnvVariable("DB_URL") ?: "jdbc:postgresql://localhost:5432/jasstracker"),
+ "jasstracker.db.user" to (getEnvVariable("DB_USER") ?: "jasstracker"),
+ "jasstracker.db.password" to (getEnvVariable("DB_PASSWORD") ?: "password"),
+
+ "jwt.secret" to (getEnvVariable("JWT_SECRET") ?: "z8TxaimeeD3R9EFBCBTLNi6LNlDOOiRuKjb5TYcUEcNNjYDzhbS5StLIB1wqvDPhNoXY66FUvIsQrOykDUbUQg=="),
+ "jwt.issuer" to (getEnvVariable("JWT_ISSUER") ?: "http://0.0.0.0:8080/"),
+ "jwt.audience" to (getEnvVariable("JWT_AUDIENCE") ?: "http://0.0.0.0:9090/"),
+ "jwt.realm" to (getEnvVariable("JWT_REALM") ?: "JassTracker"),
+ "jwt.expiryTime" to (getEnvVariable("JWT_EXPIRY_TIME") ?: "4h"),
+
+ "hash.iterations" to (getEnvVariable("HASH_ITERATIONS") ?: "10"),
+ "hash.memory" to (getEnvVariable("HASH_MEMORY") ?: "65536"),
+ "hash.parallelization" to (getEnvVariable("HASH_PARALLELIZATION") ?: "1"),
+)
diff --git a/Backend/bootstrap/src/main/resources/application.conf b/Backend/bootstrap/src/main/resources/application.conf
deleted file mode 100644
index e44bf3a..0000000
--- a/Backend/bootstrap/src/main/resources/application.conf
+++ /dev/null
@@ -1,41 +0,0 @@
-ktor {
- deployment {
- port = 8080
- port = ${?PORT}
- }
- application {
- modules = [ dev.honegger.jasstracker.bootstrap.ApplicationKt.module ]
- }
-}
-jasstracker {
- db {
- url = "jdbc:postgresql://localhost:5432/jasstracker"
- url = ${?DB_URL}
- user = "jasstracker"
- user = ${?DB_USER}
- password = "password"
- password = ${?DB_PASSWORD}
- }
-}
-
-jwt {
- secret = "z8TxaimeeD3R9EFBCBTLNi6LNlDOOiRuKjb5TYcUEcNNjYDzhbS5StLIB1wqvDPhNoXY66FUvIsQrOykDUbUQg=="
- issuer = ${?JWT_SECRET}
- issuer = "http://0.0.0.0:9090/"
- issuer = ${?JWT_ISSUER}
- audience = "http://0.0.0.0:8080/"
- audience = ${?JWT_AUDIENCE}
- realm = "JassTracker"
- realm = ${?JWT_REALM}
- expiryTime = 4h
- expiryTime = ${?JWT_EXPIRY_TIME}
-}
-
-hash {
- iterations = 10
- iterations = ${?HASH_ITERATIONS}
- memory = 65536
- memory = ${?HASH_MEMORY}
- parallelization = 1
- parallelization = ${?HASH_PARALLELIZATION}
-}
diff --git a/Backend/bootstrap/src/test/kotlin/dev/honegger/jasstracker/bootstrap/plugins/ConfigurationTest.kt b/Backend/bootstrap/src/test/kotlin/dev/honegger/jasstracker/bootstrap/plugins/ConfigurationTest.kt
new file mode 100644
index 0000000..e1510ee
--- /dev/null
+++ b/Backend/bootstrap/src/test/kotlin/dev/honegger/jasstracker/bootstrap/plugins/ConfigurationTest.kt
@@ -0,0 +1,40 @@
+package dev.honegger.jasstracker.bootstrap.plugins
+
+import dev.honegger.jasstracker.bootstrap.utils.readConfiguration
+import kotlin.test.*
+
+class ConfigurationTest {
+ @Test
+ fun `should provide default configuration`() {
+ assertContentEquals(listOf(
+ "jasstracker.db.url" to "jdbc:postgresql://localhost:5432/jasstracker",
+ "jasstracker.db.user" to "jasstracker",
+ "jasstracker.db.password" to "password",
+ "jwt.secret" to "z8TxaimeeD3R9EFBCBTLNi6LNlDOOiRuKjb5TYcUEcNNjYDzhbS5StLIB1wqvDPhNoXY66FUvIsQrOykDUbUQg==",
+ "jwt.issuer" to "http://0.0.0.0:8080/",
+ "jwt.audience" to "http://0.0.0.0:9090/",
+ "jwt.realm" to "JassTracker",
+ "jwt.expiryTime" to "4h",
+ "hash.iterations" to "10",
+ "hash.memory" to "65536",
+ "hash.parallelization" to "1",
+ ), readConfiguration { null })
+ }
+
+ @Test
+ fun `should read environment variables`() {
+ assertContentEquals(listOf(
+ "jasstracker.db.url" to "DB_URL_VALUE",
+ "jasstracker.db.user" to "DB_USER_VALUE",
+ "jasstracker.db.password" to "DB_PASSWORD_VALUE",
+ "jwt.secret" to "JWT_SECRET_VALUE",
+ "jwt.issuer" to "JWT_ISSUER_VALUE",
+ "jwt.audience" to "JWT_AUDIENCE_VALUE",
+ "jwt.realm" to "JWT_REALM_VALUE",
+ "jwt.expiryTime" to "JWT_EXPIRY_TIME_VALUE",
+ "hash.iterations" to "HASH_ITERATIONS_VALUE",
+ "hash.memory" to "HASH_MEMORY_VALUE",
+ "hash.parallelization" to "HASH_PARALLELIZATION_VALUE",
+ ), readConfiguration { "${it}_VALUE" })
+ }
+}
\ No newline at end of file
diff --git a/Backend/data-access/build.gradle.kts b/Backend/data-access/build.gradle.kts
index a2b7ace..c3f6408 100644
--- a/Backend/data-access/build.gradle.kts
+++ b/Backend/data-access/build.gradle.kts
@@ -4,11 +4,14 @@ plugins {
java
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.jooq)
- alias(libs.plugins.kover)
+ alias(testLibs.plugins.kover)
}
kotlin {
- jvmToolchain(23)
+ jvmToolchain {
+ languageVersion.set(JavaLanguageVersion.of(23))
+ vendor.set(JvmVendorSpec.GRAAL_VM)
+ }
}
dependencies {
@@ -74,8 +77,6 @@ jooq {
generate.apply {
isDeprecated = false
isRecords = true
- isPojos = false
- isFluentSetters = false
}
target.apply {
packageName = "dev.honegger.jasstracker.data.database"
diff --git a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/DefaultCatalog.java b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/DefaultCatalog.java
index 306880b..77296c1 100644
--- a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/DefaultCatalog.java
+++ b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/DefaultCatalog.java
@@ -15,7 +15,7 @@
/**
* This class is generated by jOOQ.
*/
-@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
public class DefaultCatalog extends CatalogImpl {
private static final long serialVersionUID = 1L;
@@ -26,7 +26,7 @@ public class DefaultCatalog extends CatalogImpl {
public static final DefaultCatalog DEFAULT_CATALOG = new DefaultCatalog();
/**
- * The schema public
.
+ * standard public schema
*/
public final Public PUBLIC = Public.PUBLIC;
@@ -45,10 +45,10 @@ public final List getSchemas() {
}
/**
- * A reference to the 3.18 minor release of the code generator. If this
+ * A reference to the 3.20 minor release of the code generator. If this
* doesn't compile, it's because the runtime library uses an older minor
- * release, namely: 3.18. You can turn off the generation of this reference
+ * release, namely: 3.20. You can turn off the generation of this reference
* by specifying /configuration/generator/generate/jooqVersionReference
*/
- private static final String REQUIRE_RUNTIME_JOOQ_VERSION = Constants.VERSION_3_18;
+ private static final String REQUIRE_RUNTIME_JOOQ_VERSION = Constants.VERSION_3_20;
}
diff --git a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/Keys.java b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/Keys.java
index 0ee2c02..443fd7c 100644
--- a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/Keys.java
+++ b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/Keys.java
@@ -22,13 +22,14 @@
import org.jooq.UniqueKey;
import org.jooq.impl.DSL;
import org.jooq.impl.Internal;
+import org.jooq.impl.QOM.ForeignKeyRule;
/**
* A class modelling foreign key relationships and constraints of tables in
* public.
*/
-@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
public class Keys {
// -------------------------------------------------------------------------
@@ -48,10 +49,10 @@ public class Keys {
// FOREIGN KEY definitions
// -------------------------------------------------------------------------
- public static final ForeignKey GAME__GAME_TABLE_ID_FKEY = Internal.createForeignKey(Game.GAME, DSL.name("game_table_id_fkey"), new TableField[] { Game.GAME.TABLE_ID }, Keys.TABLE_PKEY, new TableField[] { Table.TABLE.ID }, true);
- public static final ForeignKey GAME_PARTICIPATION__GAME_PARTICIPATION_GAME_ID_FKEY = Internal.createForeignKey(GameParticipation.GAME_PARTICIPATION, DSL.name("game_participation_game_id_fkey"), new TableField[] { GameParticipation.GAME_PARTICIPATION.GAME_ID }, Keys.GAME_PKEY, new TableField[] { Game.GAME.ID }, true);
- public static final ForeignKey GAME_PARTICIPATION__GAME_PARTICIPATION_PLAYER_ID_FKEY = Internal.createForeignKey(GameParticipation.GAME_PARTICIPATION, DSL.name("game_participation_player_id_fkey"), new TableField[] { GameParticipation.GAME_PARTICIPATION.PLAYER_ID }, Keys.PLAYER_PKEY, new TableField[] { Player.PLAYER.ID }, true);
- public static final ForeignKey ROUND__ROUND_CONTRACT_ID_FKEY = Internal.createForeignKey(Round.ROUND, DSL.name("round_contract_id_fkey"), new TableField[] { Round.ROUND.CONTRACT_ID }, Keys.CONTRACT_PKEY, new TableField[] { Contract.CONTRACT.ID }, true);
- public static final ForeignKey ROUND__ROUND_GAME_ID_PLAYER_ID_FKEY = Internal.createForeignKey(Round.ROUND, DSL.name("round_game_id_player_id_fkey"), new TableField[] { Round.ROUND.GAME_ID, Round.ROUND.PLAYER_ID }, Keys.GAME_PARTICIPATION_PKEY, new TableField[] { GameParticipation.GAME_PARTICIPATION.GAME_ID, GameParticipation.GAME_PARTICIPATION.PLAYER_ID }, true);
- public static final ForeignKey TABLE__TABLE_OWNER_ID_FKEY = Internal.createForeignKey(Table.TABLE, DSL.name("table_owner_id_fkey"), new TableField[] { Table.TABLE.OWNER_ID }, Keys.PLAYER_PKEY, new TableField[] { Player.PLAYER.ID }, true);
+ public static final ForeignKey GAME__GAME_TABLE_ID_FKEY = Internal.createForeignKey(Game.GAME, DSL.name("game_table_id_fkey"), new TableField[] { Game.GAME.TABLE_ID }, Keys.TABLE_PKEY, new TableField[] { Table.TABLE.ID }, true, ForeignKeyRule.CASCADE, ForeignKeyRule.NO_ACTION);
+ public static final ForeignKey GAME_PARTICIPATION__GAME_PARTICIPATION_GAME_ID_FKEY = Internal.createForeignKey(GameParticipation.GAME_PARTICIPATION, DSL.name("game_participation_game_id_fkey"), new TableField[] { GameParticipation.GAME_PARTICIPATION.GAME_ID }, Keys.GAME_PKEY, new TableField[] { Game.GAME.ID }, true, ForeignKeyRule.CASCADE, ForeignKeyRule.NO_ACTION);
+ public static final ForeignKey GAME_PARTICIPATION__GAME_PARTICIPATION_PLAYER_ID_FKEY = Internal.createForeignKey(GameParticipation.GAME_PARTICIPATION, DSL.name("game_participation_player_id_fkey"), new TableField[] { GameParticipation.GAME_PARTICIPATION.PLAYER_ID }, Keys.PLAYER_PKEY, new TableField[] { Player.PLAYER.ID }, true, ForeignKeyRule.NO_ACTION, ForeignKeyRule.NO_ACTION);
+ public static final ForeignKey ROUND__ROUND_CONTRACT_ID_FKEY = Internal.createForeignKey(Round.ROUND, DSL.name("round_contract_id_fkey"), new TableField[] { Round.ROUND.CONTRACT_ID }, Keys.CONTRACT_PKEY, new TableField[] { Contract.CONTRACT.ID }, true, ForeignKeyRule.NO_ACTION, ForeignKeyRule.NO_ACTION);
+ public static final ForeignKey ROUND__ROUND_GAME_ID_PLAYER_ID_FKEY = Internal.createForeignKey(Round.ROUND, DSL.name("round_game_id_player_id_fkey"), new TableField[] { Round.ROUND.GAME_ID, Round.ROUND.PLAYER_ID }, Keys.GAME_PARTICIPATION_PKEY, new TableField[] { GameParticipation.GAME_PARTICIPATION.GAME_ID, GameParticipation.GAME_PARTICIPATION.PLAYER_ID }, true, ForeignKeyRule.CASCADE, ForeignKeyRule.NO_ACTION);
+ public static final ForeignKey TABLE__TABLE_OWNER_ID_FKEY = Internal.createForeignKey(Table.TABLE, DSL.name("table_owner_id_fkey"), new TableField[] { Table.TABLE.OWNER_ID }, Keys.PLAYER_PKEY, new TableField[] { Player.PLAYER.ID }, true, ForeignKeyRule.NO_ACTION, ForeignKeyRule.NO_ACTION);
}
diff --git a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/Public.java b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/Public.java
index eb83a04..e493b8a 100644
--- a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/Public.java
+++ b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/Public.java
@@ -15,13 +15,14 @@
import java.util.List;
import org.jooq.Catalog;
+import org.jooq.impl.DSL;
import org.jooq.impl.SchemaImpl;
/**
- * This class is generated by jOOQ.
+ * standard public schema
*/
-@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
public class Public extends SchemaImpl {
private static final long serialVersionUID = 1L;
@@ -65,7 +66,7 @@ public class Public extends SchemaImpl {
* No further instances allowed
*/
private Public() {
- super("public", null);
+ super(DSL.name("public"), null, DSL.comment("standard public schema"));
}
diff --git a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/Tables.java b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/Tables.java
index 8a01d50..4ad38ce 100644
--- a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/Tables.java
+++ b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/Tables.java
@@ -15,7 +15,7 @@
/**
* Convenience access to all tables in public.
*/
-@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
public class Tables {
/**
diff --git a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/enums/ContractType.java b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/enums/ContractType.java
index 1199899..47a6c80 100644
--- a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/enums/ContractType.java
+++ b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/enums/ContractType.java
@@ -14,7 +14,7 @@
/**
* This class is generated by jOOQ.
*/
-@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
public enum ContractType implements EnumType {
acorns("acorns"),
@@ -62,7 +62,9 @@ public String getLiteral() {
}
/**
- * Lookup a value of this EnumType by its literal
+ * Lookup a value of this EnumType by its literal. Returns
+ * null
, if no such value could be found, see {@link
+ * EnumType#lookupLiteral(Class, String)}.
*/
public static ContractType lookupLiteral(String literal) {
return EnumType.lookupLiteral(ContractType.class, literal);
diff --git a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/Contract.java b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/Contract.java
index 2b4407e..d2e4386 100644
--- a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/Contract.java
+++ b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/Contract.java
@@ -7,20 +7,25 @@
import dev.honegger.jasstracker.data.database.Keys;
import dev.honegger.jasstracker.data.database.Public;
import dev.honegger.jasstracker.data.database.enums.ContractType;
+import dev.honegger.jasstracker.data.database.tables.Round.RoundPath;
import dev.honegger.jasstracker.data.database.tables.records.ContractRecord;
+import java.util.Collection;
import java.util.UUID;
-import java.util.function.Function;
+import org.jooq.Condition;
import org.jooq.Field;
import org.jooq.ForeignKey;
-import org.jooq.Function4;
+import org.jooq.InverseForeignKey;
import org.jooq.Name;
+import org.jooq.Path;
+import org.jooq.PlainSQL;
+import org.jooq.QueryPart;
import org.jooq.Record;
-import org.jooq.Records;
-import org.jooq.Row4;
+import org.jooq.SQL;
import org.jooq.Schema;
-import org.jooq.SelectField;
+import org.jooq.Select;
+import org.jooq.Stringly;
import org.jooq.Table;
import org.jooq.TableField;
import org.jooq.TableOptions;
@@ -33,7 +38,7 @@
/**
* This class is generated by jOOQ.
*/
-@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
public class Contract extends TableImpl {
private static final long serialVersionUID = 1L;
@@ -69,14 +74,14 @@ public Class getRecordType() {
/**
* The column public.contract.type
.
*/
- public final TableField TYPE = createField(DSL.name("type"), SQLDataType.VARCHAR.nullable(false).asEnumDataType(dev.honegger.jasstracker.data.database.enums.ContractType.class), this, "");
+ public final TableField TYPE = createField(DSL.name("type"), SQLDataType.VARCHAR.nullable(false).asEnumDataType(ContractType.class), this, "");
private Contract(Name alias, Table aliased) {
- this(alias, aliased, null);
+ this(alias, aliased, (Field>[]) null, null);
}
- private Contract(Name alias, Table aliased, Field>[] parameters) {
- super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table());
+ private Contract(Name alias, Table aliased, Field>[] parameters, Condition where) {
+ super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
}
/**
@@ -100,8 +105,37 @@ public Contract() {
this(DSL.name("contract"), null);
}
- public Contract(Table child, ForeignKey key) {
- super(child, key, CONTRACT);
+ public Contract(Table path, ForeignKey childPath, InverseForeignKey parentPath) {
+ super(path, childPath, parentPath, CONTRACT);
+ }
+
+ /**
+ * A subtype implementing {@link Path} for simplified path-based joins.
+ */
+ public static class ContractPath extends Contract implements Path {
+
+ private static final long serialVersionUID = 1L;
+ public ContractPath(Table path, ForeignKey childPath, InverseForeignKey parentPath) {
+ super(path, childPath, parentPath);
+ }
+ private ContractPath(Name alias, Table aliased) {
+ super(alias, aliased);
+ }
+
+ @Override
+ public ContractPath as(String alias) {
+ return new ContractPath(DSL.name(alias), this);
+ }
+
+ @Override
+ public ContractPath as(Name alias) {
+ return new ContractPath(alias, this);
+ }
+
+ @Override
+ public ContractPath as(Table> alias) {
+ return new ContractPath(alias.getQualifiedName(), this);
+ }
}
@Override
@@ -114,6 +148,18 @@ public UniqueKey getPrimaryKey() {
return Keys.CONTRACT_PKEY;
}
+ private transient RoundPath _round;
+
+ /**
+ * Get the implicit to-many join path to the public.round
table
+ */
+ public RoundPath round() {
+ if (_round == null)
+ _round = new RoundPath(this, null, Keys.ROUND__ROUND_CONTRACT_ID_FKEY.getInverseKey());
+
+ return _round;
+ }
+
@Override
public Contract as(String alias) {
return new Contract(DSL.name(alias), this);
@@ -153,27 +199,87 @@ public Contract rename(Table> name) {
return new Contract(name.getQualifiedName(), null);
}
- // -------------------------------------------------------------------------
- // Row4 type methods
- // -------------------------------------------------------------------------
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Contract where(Condition condition) {
+ return new Contract(getQualifiedName(), aliased() ? this : null, null, condition);
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Contract where(Collection extends Condition> conditions) {
+ return where(DSL.and(conditions));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Contract where(Condition... conditions) {
+ return where(DSL.and(conditions));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Contract where(Field condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public Contract where(SQL condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public Contract where(@Stringly.SQL String condition) {
+ return where(DSL.condition(condition));
+ }
+ /**
+ * Create an inline derived table from this table
+ */
@Override
- public Row4 fieldsRow() {
- return (Row4) super.fieldsRow();
+ @PlainSQL
+ public Contract where(@Stringly.SQL String condition, Object... binds) {
+ return where(DSL.condition(condition, binds));
}
/**
- * Convenience mapping calling {@link SelectField#convertFrom(Function)}.
+ * Create an inline derived table from this table
*/
- public SelectField mapping(Function4 super UUID, ? super String, ? super Integer, ? super ContractType, ? extends U> from) {
- return convertFrom(Records.mapping(from));
+ @Override
+ @PlainSQL
+ public Contract where(@Stringly.SQL String condition, QueryPart... parts) {
+ return where(DSL.condition(condition, parts));
}
/**
- * Convenience mapping calling {@link SelectField#convertFrom(Class,
- * Function)}.
+ * Create an inline derived table from this table
*/
- public SelectField mapping(Class toType, Function4 super UUID, ? super String, ? super Integer, ? super ContractType, ? extends U> from) {
- return convertFrom(toType, Records.mapping(from));
+ @Override
+ public Contract whereExists(Select> select) {
+ return where(DSL.exists(select));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Contract whereNotExists(Select> select) {
+ return where(DSL.notExists(select));
}
}
diff --git a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/Game.java b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/Game.java
index 9061be3..59a5c00 100644
--- a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/Game.java
+++ b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/Game.java
@@ -7,24 +7,31 @@
import dev.honegger.jasstracker.data.converters.LocalDateTimeConverter;
import dev.honegger.jasstracker.data.database.Keys;
import dev.honegger.jasstracker.data.database.Public;
+import dev.honegger.jasstracker.data.database.tables.GameParticipation.GameParticipationPath;
+import dev.honegger.jasstracker.data.database.tables.Player.PlayerPath;
+import dev.honegger.jasstracker.data.database.tables.Table.TablePath;
import dev.honegger.jasstracker.data.database.tables.records.GameRecord;
import java.util.Arrays;
+import java.util.Collection;
import java.util.List;
import java.util.UUID;
-import java.util.function.Function;
import kotlinx.datetime.LocalDateTime;
+import org.jooq.Condition;
import org.jooq.Field;
import org.jooq.ForeignKey;
-import org.jooq.Function4;
+import org.jooq.InverseForeignKey;
import org.jooq.Name;
+import org.jooq.Path;
+import org.jooq.PlainSQL;
+import org.jooq.QueryPart;
import org.jooq.Record;
-import org.jooq.Records;
-import org.jooq.Row4;
+import org.jooq.SQL;
import org.jooq.Schema;
-import org.jooq.SelectField;
+import org.jooq.Select;
+import org.jooq.Stringly;
import org.jooq.Table;
import org.jooq.TableField;
import org.jooq.TableOptions;
@@ -37,7 +44,7 @@
/**
* This class is generated by jOOQ.
*/
-@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
public class Game extends TableImpl {
private static final long serialVersionUID = 1L;
@@ -76,11 +83,11 @@ public Class getRecordType() {
public final TableField TABLE_ID = createField(DSL.name("table_id"), SQLDataType.UUID.nullable(false), this, "");
private Game(Name alias, Table aliased) {
- this(alias, aliased, null);
+ this(alias, aliased, (Field>[]) null, null);
}
- private Game(Name alias, Table aliased, Field>[] parameters) {
- super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table());
+ private Game(Name alias, Table aliased, Field>[] parameters, Condition where) {
+ super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
}
/**
@@ -104,8 +111,37 @@ public Game() {
this(DSL.name("game"), null);
}
- public Game(Table child, ForeignKey key) {
- super(child, key, GAME);
+ public Game(Table path, ForeignKey childPath, InverseForeignKey parentPath) {
+ super(path, childPath, parentPath, GAME);
+ }
+
+ /**
+ * A subtype implementing {@link Path} for simplified path-based joins.
+ */
+ public static class GamePath extends Game implements Path {
+
+ private static final long serialVersionUID = 1L;
+ public GamePath(Table path, ForeignKey childPath, InverseForeignKey parentPath) {
+ super(path, childPath, parentPath);
+ }
+ private GamePath(Name alias, Table aliased) {
+ super(alias, aliased);
+ }
+
+ @Override
+ public GamePath as(String alias) {
+ return new GamePath(DSL.name(alias), this);
+ }
+
+ @Override
+ public GamePath as(Name alias) {
+ return new GamePath(alias, this);
+ }
+
+ @Override
+ public GamePath as(Table> alias) {
+ return new GamePath(alias.getQualifiedName(), this);
+ }
}
@Override
@@ -123,18 +159,39 @@ public UniqueKey getPrimaryKey() {
return Arrays.asList(Keys.GAME__GAME_TABLE_ID_FKEY);
}
- private transient dev.honegger.jasstracker.data.database.tables.Table _table;
+ private transient TablePath _table;
/**
* Get the implicit join path to the public.table
table.
*/
- public dev.honegger.jasstracker.data.database.tables.Table table() {
+ public TablePath table() {
if (_table == null)
- _table = new dev.honegger.jasstracker.data.database.tables.Table(this, Keys.GAME__GAME_TABLE_ID_FKEY);
+ _table = new TablePath(this, Keys.GAME__GAME_TABLE_ID_FKEY, null);
return _table;
}
+ private transient GameParticipationPath _gameParticipation;
+
+ /**
+ * Get the implicit to-many join path to the
+ * public.game_participation
table
+ */
+ public GameParticipationPath gameParticipation() {
+ if (_gameParticipation == null)
+ _gameParticipation = new GameParticipationPath(this, null, Keys.GAME_PARTICIPATION__GAME_PARTICIPATION_GAME_ID_FKEY.getInverseKey());
+
+ return _gameParticipation;
+ }
+
+ /**
+ * Get the implicit many-to-many join path to the public.player
+ * table
+ */
+ public PlayerPath player() {
+ return gameParticipation().player();
+ }
+
@Override
public Game as(String alias) {
return new Game(DSL.name(alias), this);
@@ -174,27 +231,87 @@ public Game rename(Table> name) {
return new Game(name.getQualifiedName(), null);
}
- // -------------------------------------------------------------------------
- // Row4 type methods
- // -------------------------------------------------------------------------
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Game where(Condition condition) {
+ return new Game(getQualifiedName(), aliased() ? this : null, null, condition);
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Game where(Collection extends Condition> conditions) {
+ return where(DSL.and(conditions));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Game where(Condition... conditions) {
+ return where(DSL.and(conditions));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Game where(Field condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public Game where(SQL condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public Game where(@Stringly.SQL String condition) {
+ return where(DSL.condition(condition));
+ }
+ /**
+ * Create an inline derived table from this table
+ */
@Override
- public Row4 fieldsRow() {
- return (Row4) super.fieldsRow();
+ @PlainSQL
+ public Game where(@Stringly.SQL String condition, Object... binds) {
+ return where(DSL.condition(condition, binds));
}
/**
- * Convenience mapping calling {@link SelectField#convertFrom(Function)}.
+ * Create an inline derived table from this table
*/
- public SelectField mapping(Function4 super UUID, ? super LocalDateTime, ? super LocalDateTime, ? super UUID, ? extends U> from) {
- return convertFrom(Records.mapping(from));
+ @Override
+ @PlainSQL
+ public Game where(@Stringly.SQL String condition, QueryPart... parts) {
+ return where(DSL.condition(condition, parts));
}
/**
- * Convenience mapping calling {@link SelectField#convertFrom(Class,
- * Function)}.
+ * Create an inline derived table from this table
*/
- public SelectField mapping(Class toType, Function4 super UUID, ? super LocalDateTime, ? super LocalDateTime, ? super UUID, ? extends U> from) {
- return convertFrom(toType, Records.mapping(from));
+ @Override
+ public Game whereExists(Select> select) {
+ return where(DSL.exists(select));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Game whereNotExists(Select> select) {
+ return where(DSL.notExists(select));
}
}
diff --git a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/GameParticipation.java b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/GameParticipation.java
index 191df8d..0b14ce6 100644
--- a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/GameParticipation.java
+++ b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/GameParticipation.java
@@ -6,23 +6,30 @@
import dev.honegger.jasstracker.data.database.Keys;
import dev.honegger.jasstracker.data.database.Public;
+import dev.honegger.jasstracker.data.database.tables.Game.GamePath;
+import dev.honegger.jasstracker.data.database.tables.Player.PlayerPath;
+import dev.honegger.jasstracker.data.database.tables.Round.RoundPath;
import dev.honegger.jasstracker.data.database.tables.records.GameParticipationRecord;
import java.util.Arrays;
+import java.util.Collection;
import java.util.List;
import java.util.UUID;
-import java.util.function.Function;
import org.jooq.Check;
+import org.jooq.Condition;
import org.jooq.Field;
import org.jooq.ForeignKey;
-import org.jooq.Function4;
+import org.jooq.InverseForeignKey;
import org.jooq.Name;
+import org.jooq.Path;
+import org.jooq.PlainSQL;
+import org.jooq.QueryPart;
import org.jooq.Record;
-import org.jooq.Records;
-import org.jooq.Row4;
+import org.jooq.SQL;
import org.jooq.Schema;
-import org.jooq.SelectField;
+import org.jooq.Select;
+import org.jooq.Stringly;
import org.jooq.Table;
import org.jooq.TableField;
import org.jooq.TableOptions;
@@ -36,7 +43,7 @@
/**
* This class is generated by jOOQ.
*/
-@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
public class GameParticipation extends TableImpl {
private static final long serialVersionUID = 1L;
@@ -75,11 +82,11 @@ public Class getRecordType() {
public final TableField PLAYER_NAME = createField(DSL.name("player_name"), SQLDataType.VARCHAR(30).nullable(false), this, "");
private GameParticipation(Name alias, Table aliased) {
- this(alias, aliased, null);
+ this(alias, aliased, (Field>[]) null, null);
}
- private GameParticipation(Name alias, Table aliased, Field>[] parameters) {
- super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table());
+ private GameParticipation(Name alias, Table aliased, Field>[] parameters, Condition where) {
+ super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
}
/**
@@ -103,8 +110,37 @@ public GameParticipation() {
this(DSL.name("game_participation"), null);
}
- public GameParticipation(Table child, ForeignKey key) {
- super(child, key, GAME_PARTICIPATION);
+ public GameParticipation(Table path, ForeignKey childPath, InverseForeignKey parentPath) {
+ super(path, childPath, parentPath, GAME_PARTICIPATION);
+ }
+
+ /**
+ * A subtype implementing {@link Path} for simplified path-based joins.
+ */
+ public static class GameParticipationPath extends GameParticipation implements Path {
+
+ private static final long serialVersionUID = 1L;
+ public GameParticipationPath(Table path, ForeignKey childPath, InverseForeignKey parentPath) {
+ super(path, childPath, parentPath);
+ }
+ private GameParticipationPath(Name alias, Table aliased) {
+ super(alias, aliased);
+ }
+
+ @Override
+ public GameParticipationPath as(String alias) {
+ return new GameParticipationPath(DSL.name(alias), this);
+ }
+
+ @Override
+ public GameParticipationPath as(Name alias) {
+ return new GameParticipationPath(alias, this);
+ }
+
+ @Override
+ public GameParticipationPath as(Table> alias) {
+ return new GameParticipationPath(alias.getQualifiedName(), this);
+ }
}
@Override
@@ -127,29 +163,42 @@ public List> getUniqueKeys() {
return Arrays.asList(Keys.GAME_PARTICIPATION__GAME_PARTICIPATION_GAME_ID_FKEY, Keys.GAME_PARTICIPATION__GAME_PARTICIPATION_PLAYER_ID_FKEY);
}
- private transient Game _game;
- private transient Player _player;
+ private transient GamePath _game;
/**
* Get the implicit join path to the public.game
table.
*/
- public Game game() {
+ public GamePath game() {
if (_game == null)
- _game = new Game(this, Keys.GAME_PARTICIPATION__GAME_PARTICIPATION_GAME_ID_FKEY);
+ _game = new GamePath(this, Keys.GAME_PARTICIPATION__GAME_PARTICIPATION_GAME_ID_FKEY, null);
return _game;
}
+ private transient PlayerPath _player;
+
/**
* Get the implicit join path to the public.player
table.
*/
- public Player player() {
+ public PlayerPath player() {
if (_player == null)
- _player = new Player(this, Keys.GAME_PARTICIPATION__GAME_PARTICIPATION_PLAYER_ID_FKEY);
+ _player = new PlayerPath(this, Keys.GAME_PARTICIPATION__GAME_PARTICIPATION_PLAYER_ID_FKEY, null);
return _player;
}
+ private transient RoundPath _round;
+
+ /**
+ * Get the implicit to-many join path to the public.round
table
+ */
+ public RoundPath round() {
+ if (_round == null)
+ _round = new RoundPath(this, null, Keys.ROUND__ROUND_GAME_ID_PLAYER_ID_FKEY.getInverseKey());
+
+ return _round;
+ }
+
@Override
public List> getChecks() {
return Arrays.asList(
@@ -196,27 +245,87 @@ public GameParticipation rename(Table> name) {
return new GameParticipation(name.getQualifiedName(), null);
}
- // -------------------------------------------------------------------------
- // Row4 type methods
- // -------------------------------------------------------------------------
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public GameParticipation where(Condition condition) {
+ return new GameParticipation(getQualifiedName(), aliased() ? this : null, null, condition);
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public GameParticipation where(Collection extends Condition> conditions) {
+ return where(DSL.and(conditions));
+ }
+ /**
+ * Create an inline derived table from this table
+ */
@Override
- public Row4 fieldsRow() {
- return (Row4) super.fieldsRow();
+ public GameParticipation where(Condition... conditions) {
+ return where(DSL.and(conditions));
}
/**
- * Convenience mapping calling {@link SelectField#convertFrom(Function)}.
+ * Create an inline derived table from this table
*/
- public SelectField mapping(Function4 super UUID, ? super UUID, ? super Integer, ? super String, ? extends U> from) {
- return convertFrom(Records.mapping(from));
+ @Override
+ public GameParticipation where(Field condition) {
+ return where(DSL.condition(condition));
}
/**
- * Convenience mapping calling {@link SelectField#convertFrom(Class,
- * Function)}.
+ * Create an inline derived table from this table
*/
- public SelectField mapping(Class toType, Function4 super UUID, ? super UUID, ? super Integer, ? super String, ? extends U> from) {
- return convertFrom(toType, Records.mapping(from));
+ @Override
+ @PlainSQL
+ public GameParticipation where(SQL condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public GameParticipation where(@Stringly.SQL String condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public GameParticipation where(@Stringly.SQL String condition, Object... binds) {
+ return where(DSL.condition(condition, binds));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public GameParticipation where(@Stringly.SQL String condition, QueryPart... parts) {
+ return where(DSL.condition(condition, parts));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public GameParticipation whereExists(Select> select) {
+ return where(DSL.exists(select));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public GameParticipation whereNotExists(Select> select) {
+ return where(DSL.notExists(select));
}
}
diff --git a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/Player.java b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/Player.java
index d76ce64..97209bc 100644
--- a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/Player.java
+++ b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/Player.java
@@ -6,22 +6,29 @@
import dev.honegger.jasstracker.data.database.Keys;
import dev.honegger.jasstracker.data.database.Public;
+import dev.honegger.jasstracker.data.database.tables.Game.GamePath;
+import dev.honegger.jasstracker.data.database.tables.GameParticipation.GameParticipationPath;
+import dev.honegger.jasstracker.data.database.tables.Table.TablePath;
import dev.honegger.jasstracker.data.database.tables.records.PlayerRecord;
import java.util.Arrays;
+import java.util.Collection;
import java.util.List;
import java.util.UUID;
-import java.util.function.Function;
+import org.jooq.Condition;
import org.jooq.Field;
import org.jooq.ForeignKey;
-import org.jooq.Function5;
+import org.jooq.InverseForeignKey;
import org.jooq.Name;
+import org.jooq.Path;
+import org.jooq.PlainSQL;
+import org.jooq.QueryPart;
import org.jooq.Record;
-import org.jooq.Records;
-import org.jooq.Row5;
+import org.jooq.SQL;
import org.jooq.Schema;
-import org.jooq.SelectField;
+import org.jooq.Select;
+import org.jooq.Stringly;
import org.jooq.Table;
import org.jooq.TableField;
import org.jooq.TableOptions;
@@ -34,7 +41,7 @@
/**
* This class is generated by jOOQ.
*/
-@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
public class Player extends TableImpl {
private static final long serialVersionUID = 1L;
@@ -78,11 +85,11 @@ public Class getRecordType() {
public final TableField IS_GUEST = createField(DSL.name("is_guest"), SQLDataType.BOOLEAN, this, "");
private Player(Name alias, Table aliased) {
- this(alias, aliased, null);
+ this(alias, aliased, (Field>[]) null, null);
}
- private Player(Name alias, Table aliased, Field>[] parameters) {
- super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table());
+ private Player(Name alias, Table aliased, Field>[] parameters, Condition where) {
+ super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
}
/**
@@ -106,8 +113,37 @@ public Player() {
this(DSL.name("player"), null);
}
- public Player(Table child, ForeignKey key) {
- super(child, key, PLAYER);
+ public Player(Table path, ForeignKey childPath, InverseForeignKey parentPath) {
+ super(path, childPath, parentPath, PLAYER);
+ }
+
+ /**
+ * A subtype implementing {@link Path} for simplified path-based joins.
+ */
+ public static class PlayerPath extends Player implements Path {
+
+ private static final long serialVersionUID = 1L;
+ public PlayerPath(Table path, ForeignKey childPath, InverseForeignKey parentPath) {
+ super(path, childPath, parentPath);
+ }
+ private PlayerPath(Name alias, Table aliased) {
+ super(alias, aliased);
+ }
+
+ @Override
+ public PlayerPath as(String alias) {
+ return new PlayerPath(DSL.name(alias), this);
+ }
+
+ @Override
+ public PlayerPath as(Name alias) {
+ return new PlayerPath(alias, this);
+ }
+
+ @Override
+ public PlayerPath as(Table> alias) {
+ return new PlayerPath(alias.getQualifiedName(), this);
+ }
}
@Override
@@ -125,6 +161,39 @@ public List> getUniqueKeys() {
return Arrays.asList(Keys.PLAYER_USERNAME_KEY);
}
+ private transient GameParticipationPath _gameParticipation;
+
+ /**
+ * Get the implicit to-many join path to the
+ * public.game_participation
table
+ */
+ public GameParticipationPath gameParticipation() {
+ if (_gameParticipation == null)
+ _gameParticipation = new GameParticipationPath(this, null, Keys.GAME_PARTICIPATION__GAME_PARTICIPATION_PLAYER_ID_FKEY.getInverseKey());
+
+ return _gameParticipation;
+ }
+
+ private transient TablePath _table;
+
+ /**
+ * Get the implicit to-many join path to the public.table
table
+ */
+ public TablePath table() {
+ if (_table == null)
+ _table = new TablePath(this, null, Keys.TABLE__TABLE_OWNER_ID_FKEY.getInverseKey());
+
+ return _table;
+ }
+
+ /**
+ * Get the implicit many-to-many join path to the public.game
+ * table
+ */
+ public GamePath game() {
+ return gameParticipation().game();
+ }
+
@Override
public Player as(String alias) {
return new Player(DSL.name(alias), this);
@@ -164,27 +233,87 @@ public Player rename(Table> name) {
return new Player(name.getQualifiedName(), null);
}
- // -------------------------------------------------------------------------
- // Row5 type methods
- // -------------------------------------------------------------------------
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Player where(Condition condition) {
+ return new Player(getQualifiedName(), aliased() ? this : null, null, condition);
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Player where(Collection extends Condition> conditions) {
+ return where(DSL.and(conditions));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Player where(Condition... conditions) {
+ return where(DSL.and(conditions));
+ }
+ /**
+ * Create an inline derived table from this table
+ */
@Override
- public Row5 fieldsRow() {
- return (Row5) super.fieldsRow();
+ public Player where(Field condition) {
+ return where(DSL.condition(condition));
}
/**
- * Convenience mapping calling {@link SelectField#convertFrom(Function)}.
+ * Create an inline derived table from this table
*/
- public SelectField mapping(Function5 super UUID, ? super String, ? super String, ? super String, ? super Boolean, ? extends U> from) {
- return convertFrom(Records.mapping(from));
+ @Override
+ @PlainSQL
+ public Player where(SQL condition) {
+ return where(DSL.condition(condition));
}
/**
- * Convenience mapping calling {@link SelectField#convertFrom(Class,
- * Function)}.
+ * Create an inline derived table from this table
*/
- public SelectField mapping(Class toType, Function5 super UUID, ? super String, ? super String, ? super String, ? super Boolean, ? extends U> from) {
- return convertFrom(toType, Records.mapping(from));
+ @Override
+ @PlainSQL
+ public Player where(@Stringly.SQL String condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public Player where(@Stringly.SQL String condition, Object... binds) {
+ return where(DSL.condition(condition, binds));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public Player where(@Stringly.SQL String condition, QueryPart... parts) {
+ return where(DSL.condition(condition, parts));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Player whereExists(Select> select) {
+ return where(DSL.exists(select));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Player whereNotExists(Select> select) {
+ return where(DSL.notExists(select));
}
}
diff --git a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/Round.java b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/Round.java
index b6c2525..55cf387 100644
--- a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/Round.java
+++ b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/Round.java
@@ -6,22 +6,28 @@
import dev.honegger.jasstracker.data.database.Keys;
import dev.honegger.jasstracker.data.database.Public;
+import dev.honegger.jasstracker.data.database.tables.Contract.ContractPath;
+import dev.honegger.jasstracker.data.database.tables.GameParticipation.GameParticipationPath;
import dev.honegger.jasstracker.data.database.tables.records.RoundRecord;
import java.util.Arrays;
+import java.util.Collection;
import java.util.List;
import java.util.UUID;
-import java.util.function.Function;
+import org.jooq.Condition;
import org.jooq.Field;
import org.jooq.ForeignKey;
-import org.jooq.Function6;
+import org.jooq.InverseForeignKey;
import org.jooq.Name;
+import org.jooq.Path;
+import org.jooq.PlainSQL;
+import org.jooq.QueryPart;
import org.jooq.Record;
-import org.jooq.Records;
-import org.jooq.Row6;
+import org.jooq.SQL;
import org.jooq.Schema;
-import org.jooq.SelectField;
+import org.jooq.Select;
+import org.jooq.Stringly;
import org.jooq.Table;
import org.jooq.TableField;
import org.jooq.TableOptions;
@@ -34,7 +40,7 @@
/**
* This class is generated by jOOQ.
*/
-@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
public class Round extends TableImpl {
private static final long serialVersionUID = 1L;
@@ -83,11 +89,11 @@ public Class getRecordType() {
public final TableField CONTRACT_ID = createField(DSL.name("contract_id"), SQLDataType.UUID.nullable(false), this, "");
private Round(Name alias, Table aliased) {
- this(alias, aliased, null);
+ this(alias, aliased, (Field>[]) null, null);
}
- private Round(Name alias, Table aliased, Field>[] parameters) {
- super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table());
+ private Round(Name alias, Table aliased, Field>[] parameters, Condition where) {
+ super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
}
/**
@@ -111,8 +117,37 @@ public Round() {
this(DSL.name("round"), null);
}
- public Round(Table child, ForeignKey key) {
- super(child, key, ROUND);
+ public Round(Table path, ForeignKey childPath, InverseForeignKey parentPath) {
+ super(path, childPath, parentPath, ROUND);
+ }
+
+ /**
+ * A subtype implementing {@link Path} for simplified path-based joins.
+ */
+ public static class RoundPath extends Round implements Path {
+
+ private static final long serialVersionUID = 1L;
+ public RoundPath(Table path, ForeignKey childPath, InverseForeignKey parentPath) {
+ super(path, childPath, parentPath);
+ }
+ private RoundPath(Name alias, Table aliased) {
+ super(alias, aliased);
+ }
+
+ @Override
+ public RoundPath as(String alias) {
+ return new RoundPath(DSL.name(alias), this);
+ }
+
+ @Override
+ public RoundPath as(Name alias) {
+ return new RoundPath(alias, this);
+ }
+
+ @Override
+ public RoundPath as(Table> alias) {
+ return new RoundPath(alias.getQualifiedName(), this);
+ }
}
@Override
@@ -127,31 +162,32 @@ public UniqueKey getPrimaryKey() {
@Override
public List> getReferences() {
- return Arrays.asList(Keys.ROUND__ROUND_GAME_ID_PLAYER_ID_FKEY, Keys.ROUND__ROUND_CONTRACT_ID_FKEY);
+ return Arrays.asList(Keys.ROUND__ROUND_CONTRACT_ID_FKEY, Keys.ROUND__ROUND_GAME_ID_PLAYER_ID_FKEY);
}
- private transient GameParticipation _gameParticipation;
- private transient Contract _contract;
+ private transient ContractPath _contract;
/**
- * Get the implicit join path to the public.game_participation
- * table.
+ * Get the implicit join path to the public.contract
table.
*/
- public GameParticipation gameParticipation() {
- if (_gameParticipation == null)
- _gameParticipation = new GameParticipation(this, Keys.ROUND__ROUND_GAME_ID_PLAYER_ID_FKEY);
+ public ContractPath contract() {
+ if (_contract == null)
+ _contract = new ContractPath(this, Keys.ROUND__ROUND_CONTRACT_ID_FKEY, null);
- return _gameParticipation;
+ return _contract;
}
+ private transient GameParticipationPath _gameParticipation;
+
/**
- * Get the implicit join path to the public.contract
table.
+ * Get the implicit join path to the public.game_participation
+ * table.
*/
- public Contract contract() {
- if (_contract == null)
- _contract = new Contract(this, Keys.ROUND__ROUND_CONTRACT_ID_FKEY);
+ public GameParticipationPath gameParticipation() {
+ if (_gameParticipation == null)
+ _gameParticipation = new GameParticipationPath(this, Keys.ROUND__ROUND_GAME_ID_PLAYER_ID_FKEY, null);
- return _contract;
+ return _gameParticipation;
}
@Override
@@ -193,27 +229,87 @@ public Round rename(Table> name) {
return new Round(name.getQualifiedName(), null);
}
- // -------------------------------------------------------------------------
- // Row6 type methods
- // -------------------------------------------------------------------------
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Round where(Condition condition) {
+ return new Round(getQualifiedName(), aliased() ? this : null, null, condition);
+ }
+ /**
+ * Create an inline derived table from this table
+ */
@Override
- public Row6 fieldsRow() {
- return (Row6) super.fieldsRow();
+ public Round where(Collection extends Condition> conditions) {
+ return where(DSL.and(conditions));
}
/**
- * Convenience mapping calling {@link SelectField#convertFrom(Function)}.
+ * Create an inline derived table from this table
*/
- public SelectField mapping(Function6 super UUID, ? super Integer, ? super Integer, ? super UUID, ? super UUID, ? super UUID, ? extends U> from) {
- return convertFrom(Records.mapping(from));
+ @Override
+ public Round where(Condition... conditions) {
+ return where(DSL.and(conditions));
}
/**
- * Convenience mapping calling {@link SelectField#convertFrom(Class,
- * Function)}.
+ * Create an inline derived table from this table
*/
- public SelectField mapping(Class toType, Function6 super UUID, ? super Integer, ? super Integer, ? super UUID, ? super UUID, ? super UUID, ? extends U> from) {
- return convertFrom(toType, Records.mapping(from));
+ @Override
+ public Round where(Field condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public Round where(SQL condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public Round where(@Stringly.SQL String condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public Round where(@Stringly.SQL String condition, Object... binds) {
+ return where(DSL.condition(condition, binds));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public Round where(@Stringly.SQL String condition, QueryPart... parts) {
+ return where(DSL.condition(condition, parts));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Round whereExists(Select> select) {
+ return where(DSL.exists(select));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Round whereNotExists(Select> select) {
+ return where(DSL.notExists(select));
}
}
diff --git a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/Table.java b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/Table.java
index 24ceb5d..23ac33d 100644
--- a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/Table.java
+++ b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/Table.java
@@ -6,22 +6,28 @@
import dev.honegger.jasstracker.data.database.Keys;
import dev.honegger.jasstracker.data.database.Public;
+import dev.honegger.jasstracker.data.database.tables.Game.GamePath;
+import dev.honegger.jasstracker.data.database.tables.Player.PlayerPath;
import dev.honegger.jasstracker.data.database.tables.records.TableRecord;
import java.util.Arrays;
+import java.util.Collection;
import java.util.List;
import java.util.UUID;
-import java.util.function.Function;
+import org.jooq.Condition;
import org.jooq.Field;
import org.jooq.ForeignKey;
-import org.jooq.Function3;
+import org.jooq.InverseForeignKey;
import org.jooq.Name;
+import org.jooq.Path;
+import org.jooq.PlainSQL;
+import org.jooq.QueryPart;
import org.jooq.Record;
-import org.jooq.Records;
-import org.jooq.Row3;
+import org.jooq.SQL;
import org.jooq.Schema;
-import org.jooq.SelectField;
+import org.jooq.Select;
+import org.jooq.Stringly;
import org.jooq.TableField;
import org.jooq.TableOptions;
import org.jooq.UniqueKey;
@@ -33,7 +39,7 @@
/**
* This class is generated by jOOQ.
*/
-@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
public class Table extends TableImpl {
private static final long serialVersionUID = 1L;
@@ -67,11 +73,11 @@ public Class getRecordType() {
public final TableField OWNER_ID = createField(DSL.name("owner_id"), SQLDataType.UUID.nullable(false), this, "");
private Table(Name alias, org.jooq.Table aliased) {
- this(alias, aliased, null);
+ this(alias, aliased, (Field>[]) null, null);
}
- private Table(Name alias, org.jooq.Table aliased, Field>[] parameters) {
- super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table());
+ private Table(Name alias, org.jooq.Table aliased, Field>[] parameters, Condition where) {
+ super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
}
/**
@@ -95,8 +101,37 @@ public Table() {
this(DSL.name("table"), null);
}
- public Table(org.jooq.Table child, ForeignKey key) {
- super(child, key, TABLE);
+ public Table(org.jooq.Table path, ForeignKey childPath, InverseForeignKey parentPath) {
+ super(path, childPath, parentPath, TABLE);
+ }
+
+ /**
+ * A subtype implementing {@link Path} for simplified path-based joins.
+ */
+ public static class TablePath extends Table implements Path {
+
+ private static final long serialVersionUID = 1L;
+ public TablePath(org.jooq.Table path, ForeignKey childPath, InverseForeignKey parentPath) {
+ super(path, childPath, parentPath);
+ }
+ private TablePath(Name alias, org.jooq.Table aliased) {
+ super(alias, aliased);
+ }
+
+ @Override
+ public TablePath as(String alias) {
+ return new TablePath(DSL.name(alias), this);
+ }
+
+ @Override
+ public TablePath as(Name alias) {
+ return new TablePath(alias, this);
+ }
+
+ @Override
+ public TablePath as(org.jooq.Table> alias) {
+ return new TablePath(alias.getQualifiedName(), this);
+ }
}
@Override
@@ -114,18 +149,30 @@ public UniqueKey getPrimaryKey() {
return Arrays.asList(Keys.TABLE__TABLE_OWNER_ID_FKEY);
}
- private transient Player _player;
+ private transient PlayerPath _player;
/**
* Get the implicit join path to the public.player
table.
*/
- public Player player() {
+ public PlayerPath player() {
if (_player == null)
- _player = new Player(this, Keys.TABLE__TABLE_OWNER_ID_FKEY);
+ _player = new PlayerPath(this, Keys.TABLE__TABLE_OWNER_ID_FKEY, null);
return _player;
}
+ private transient GamePath _game;
+
+ /**
+ * Get the implicit to-many join path to the public.game
table
+ */
+ public GamePath game() {
+ if (_game == null)
+ _game = new GamePath(this, null, Keys.GAME__GAME_TABLE_ID_FKEY.getInverseKey());
+
+ return _game;
+ }
+
@Override
public Table as(String alias) {
return new Table(DSL.name(alias), this);
@@ -165,27 +212,87 @@ public Table rename(org.jooq.Table> name) {
return new Table(name.getQualifiedName(), null);
}
- // -------------------------------------------------------------------------
- // Row3 type methods
- // -------------------------------------------------------------------------
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Table where(Condition condition) {
+ return new Table(getQualifiedName(), aliased() ? this : null, null, condition);
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Table where(Collection extends Condition> conditions) {
+ return where(DSL.and(conditions));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Table where(Condition... conditions) {
+ return where(DSL.and(conditions));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public Table where(Field condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public Table where(SQL condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public Table where(@Stringly.SQL String condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public Table where(@Stringly.SQL String condition, Object... binds) {
+ return where(DSL.condition(condition, binds));
+ }
+ /**
+ * Create an inline derived table from this table
+ */
@Override
- public Row3 fieldsRow() {
- return (Row3) super.fieldsRow();
+ @PlainSQL
+ public Table where(@Stringly.SQL String condition, QueryPart... parts) {
+ return where(DSL.condition(condition, parts));
}
/**
- * Convenience mapping calling {@link SelectField#convertFrom(Function)}.
+ * Create an inline derived table from this table
*/
- public SelectField mapping(Function3 super UUID, ? super String, ? super UUID, ? extends U> from) {
- return convertFrom(Records.mapping(from));
+ @Override
+ public Table whereExists(Select> select) {
+ return where(DSL.exists(select));
}
/**
- * Convenience mapping calling {@link SelectField#convertFrom(Class,
- * Function)}.
+ * Create an inline derived table from this table
*/
- public SelectField mapping(Class toType, Function3 super UUID, ? super String, ? super UUID, ? extends U> from) {
- return convertFrom(toType, Records.mapping(from));
+ @Override
+ public Table whereNotExists(Select> select) {
+ return where(DSL.notExists(select));
}
}
diff --git a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/records/ContractRecord.java b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/records/ContractRecord.java
index d51a49b..ee06ca0 100644
--- a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/records/ContractRecord.java
+++ b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/records/ContractRecord.java
@@ -9,18 +9,15 @@
import java.util.UUID;
-import org.jooq.Field;
import org.jooq.Record1;
-import org.jooq.Record4;
-import org.jooq.Row4;
import org.jooq.impl.UpdatableRecordImpl;
/**
* This class is generated by jOOQ.
*/
-@SuppressWarnings({ "all", "unchecked", "rawtypes" })
-public class ContractRecord extends UpdatableRecordImpl implements Record4 {
+@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
+public class ContractRecord extends UpdatableRecordImpl {
private static final long serialVersionUID = 1L;
@@ -89,113 +86,6 @@ public Record1 key() {
return (Record1) super.key();
}
- // -------------------------------------------------------------------------
- // Record4 type implementation
- // -------------------------------------------------------------------------
-
- @Override
- public Row4 fieldsRow() {
- return (Row4) super.fieldsRow();
- }
-
- @Override
- public Row4 valuesRow() {
- return (Row4) super.valuesRow();
- }
-
- @Override
- public Field field1() {
- return Contract.CONTRACT.ID;
- }
-
- @Override
- public Field field2() {
- return Contract.CONTRACT.NAME;
- }
-
- @Override
- public Field field3() {
- return Contract.CONTRACT.MULTIPLIER;
- }
-
- @Override
- public Field field4() {
- return Contract.CONTRACT.TYPE;
- }
-
- @Override
- public UUID component1() {
- return getId();
- }
-
- @Override
- public String component2() {
- return getName();
- }
-
- @Override
- public Integer component3() {
- return getMultiplier();
- }
-
- @Override
- public ContractType component4() {
- return getType();
- }
-
- @Override
- public UUID value1() {
- return getId();
- }
-
- @Override
- public String value2() {
- return getName();
- }
-
- @Override
- public Integer value3() {
- return getMultiplier();
- }
-
- @Override
- public ContractType value4() {
- return getType();
- }
-
- @Override
- public ContractRecord value1(UUID value) {
- setId(value);
- return this;
- }
-
- @Override
- public ContractRecord value2(String value) {
- setName(value);
- return this;
- }
-
- @Override
- public ContractRecord value3(Integer value) {
- setMultiplier(value);
- return this;
- }
-
- @Override
- public ContractRecord value4(ContractType value) {
- setType(value);
- return this;
- }
-
- @Override
- public ContractRecord values(UUID value1, String value2, Integer value3, ContractType value4) {
- value1(value1);
- value2(value2);
- value3(value3);
- value4(value4);
- return this;
- }
-
// -------------------------------------------------------------------------
// Constructors
// -------------------------------------------------------------------------
@@ -217,6 +107,6 @@ public ContractRecord(UUID id, String name, Integer multiplier, ContractType typ
setName(name);
setMultiplier(multiplier);
setType(type);
- resetChangedOnNotNull();
+ resetTouchedOnNotNull();
}
}
diff --git a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/records/GameParticipationRecord.java b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/records/GameParticipationRecord.java
index 8e950a2..2fd6f67 100644
--- a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/records/GameParticipationRecord.java
+++ b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/records/GameParticipationRecord.java
@@ -8,18 +8,15 @@
import java.util.UUID;
-import org.jooq.Field;
import org.jooq.Record2;
-import org.jooq.Record4;
-import org.jooq.Row4;
import org.jooq.impl.UpdatableRecordImpl;
/**
* This class is generated by jOOQ.
*/
-@SuppressWarnings({ "all", "unchecked", "rawtypes" })
-public class GameParticipationRecord extends UpdatableRecordImpl implements Record4 {
+@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
+public class GameParticipationRecord extends UpdatableRecordImpl {
private static final long serialVersionUID = 1L;
@@ -88,113 +85,6 @@ public Record2 key() {
return (Record2) super.key();
}
- // -------------------------------------------------------------------------
- // Record4 type implementation
- // -------------------------------------------------------------------------
-
- @Override
- public Row4 fieldsRow() {
- return (Row4) super.fieldsRow();
- }
-
- @Override
- public Row4 valuesRow() {
- return (Row4) super.valuesRow();
- }
-
- @Override
- public Field field1() {
- return GameParticipation.GAME_PARTICIPATION.GAME_ID;
- }
-
- @Override
- public Field field2() {
- return GameParticipation.GAME_PARTICIPATION.PLAYER_ID;
- }
-
- @Override
- public Field field3() {
- return GameParticipation.GAME_PARTICIPATION.TABLE_POSITION;
- }
-
- @Override
- public Field field4() {
- return GameParticipation.GAME_PARTICIPATION.PLAYER_NAME;
- }
-
- @Override
- public UUID component1() {
- return getGameId();
- }
-
- @Override
- public UUID component2() {
- return getPlayerId();
- }
-
- @Override
- public Integer component3() {
- return getTablePosition();
- }
-
- @Override
- public String component4() {
- return getPlayerName();
- }
-
- @Override
- public UUID value1() {
- return getGameId();
- }
-
- @Override
- public UUID value2() {
- return getPlayerId();
- }
-
- @Override
- public Integer value3() {
- return getTablePosition();
- }
-
- @Override
- public String value4() {
- return getPlayerName();
- }
-
- @Override
- public GameParticipationRecord value1(UUID value) {
- setGameId(value);
- return this;
- }
-
- @Override
- public GameParticipationRecord value2(UUID value) {
- setPlayerId(value);
- return this;
- }
-
- @Override
- public GameParticipationRecord value3(Integer value) {
- setTablePosition(value);
- return this;
- }
-
- @Override
- public GameParticipationRecord value4(String value) {
- setPlayerName(value);
- return this;
- }
-
- @Override
- public GameParticipationRecord values(UUID value1, UUID value2, Integer value3, String value4) {
- value1(value1);
- value2(value2);
- value3(value3);
- value4(value4);
- return this;
- }
-
// -------------------------------------------------------------------------
// Constructors
// -------------------------------------------------------------------------
@@ -216,6 +106,6 @@ public GameParticipationRecord(UUID gameId, UUID playerId, Integer tablePosition
setPlayerId(playerId);
setTablePosition(tablePosition);
setPlayerName(playerName);
- resetChangedOnNotNull();
+ resetTouchedOnNotNull();
}
}
diff --git a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/records/GameRecord.java b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/records/GameRecord.java
index 70bdf99..b1cd092 100644
--- a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/records/GameRecord.java
+++ b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/records/GameRecord.java
@@ -10,18 +10,15 @@
import kotlinx.datetime.LocalDateTime;
-import org.jooq.Field;
import org.jooq.Record1;
-import org.jooq.Record4;
-import org.jooq.Row4;
import org.jooq.impl.UpdatableRecordImpl;
/**
* This class is generated by jOOQ.
*/
-@SuppressWarnings({ "all", "unchecked", "rawtypes" })
-public class GameRecord extends UpdatableRecordImpl implements Record4 {
+@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
+public class GameRecord extends UpdatableRecordImpl {
private static final long serialVersionUID = 1L;
@@ -90,113 +87,6 @@ public Record1 key() {
return (Record1) super.key();
}
- // -------------------------------------------------------------------------
- // Record4 type implementation
- // -------------------------------------------------------------------------
-
- @Override
- public Row4 fieldsRow() {
- return (Row4) super.fieldsRow();
- }
-
- @Override
- public Row4 valuesRow() {
- return (Row4) super.valuesRow();
- }
-
- @Override
- public Field field1() {
- return Game.GAME.ID;
- }
-
- @Override
- public Field field2() {
- return Game.GAME.START_TIME;
- }
-
- @Override
- public Field field3() {
- return Game.GAME.END_TIME;
- }
-
- @Override
- public Field field4() {
- return Game.GAME.TABLE_ID;
- }
-
- @Override
- public UUID component1() {
- return getId();
- }
-
- @Override
- public LocalDateTime component2() {
- return getStartTime();
- }
-
- @Override
- public LocalDateTime component3() {
- return getEndTime();
- }
-
- @Override
- public UUID component4() {
- return getTableId();
- }
-
- @Override
- public UUID value1() {
- return getId();
- }
-
- @Override
- public LocalDateTime value2() {
- return getStartTime();
- }
-
- @Override
- public LocalDateTime value3() {
- return getEndTime();
- }
-
- @Override
- public UUID value4() {
- return getTableId();
- }
-
- @Override
- public GameRecord value1(UUID value) {
- setId(value);
- return this;
- }
-
- @Override
- public GameRecord value2(LocalDateTime value) {
- setStartTime(value);
- return this;
- }
-
- @Override
- public GameRecord value3(LocalDateTime value) {
- setEndTime(value);
- return this;
- }
-
- @Override
- public GameRecord value4(UUID value) {
- setTableId(value);
- return this;
- }
-
- @Override
- public GameRecord values(UUID value1, LocalDateTime value2, LocalDateTime value3, UUID value4) {
- value1(value1);
- value2(value2);
- value3(value3);
- value4(value4);
- return this;
- }
-
// -------------------------------------------------------------------------
// Constructors
// -------------------------------------------------------------------------
@@ -218,6 +108,6 @@ public GameRecord(UUID id, LocalDateTime startTime, LocalDateTime endTime, UUID
setStartTime(startTime);
setEndTime(endTime);
setTableId(tableId);
- resetChangedOnNotNull();
+ resetTouchedOnNotNull();
}
}
diff --git a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/records/PlayerRecord.java b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/records/PlayerRecord.java
index de08a38..0720ebf 100644
--- a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/records/PlayerRecord.java
+++ b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/records/PlayerRecord.java
@@ -8,18 +8,15 @@
import java.util.UUID;
-import org.jooq.Field;
import org.jooq.Record1;
-import org.jooq.Record5;
-import org.jooq.Row5;
import org.jooq.impl.UpdatableRecordImpl;
/**
* This class is generated by jOOQ.
*/
-@SuppressWarnings({ "all", "unchecked", "rawtypes" })
-public class PlayerRecord extends UpdatableRecordImpl implements Record5 {
+@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
+public class PlayerRecord extends UpdatableRecordImpl {
private static final long serialVersionUID = 1L;
@@ -102,135 +99,6 @@ public Record1 key() {
return (Record1) super.key();
}
- // -------------------------------------------------------------------------
- // Record5 type implementation
- // -------------------------------------------------------------------------
-
- @Override
- public Row5 fieldsRow() {
- return (Row5) super.fieldsRow();
- }
-
- @Override
- public Row5 valuesRow() {
- return (Row5) super.valuesRow();
- }
-
- @Override
- public Field field1() {
- return Player.PLAYER.ID;
- }
-
- @Override
- public Field field2() {
- return Player.PLAYER.USERNAME;
- }
-
- @Override
- public Field field3() {
- return Player.PLAYER.DISPLAY_NAME;
- }
-
- @Override
- public Field field4() {
- return Player.PLAYER.PASSWORD;
- }
-
- @Override
- public Field field5() {
- return Player.PLAYER.IS_GUEST;
- }
-
- @Override
- public UUID component1() {
- return getId();
- }
-
- @Override
- public String component2() {
- return getUsername();
- }
-
- @Override
- public String component3() {
- return getDisplayName();
- }
-
- @Override
- public String component4() {
- return getPassword();
- }
-
- @Override
- public Boolean component5() {
- return getIsGuest();
- }
-
- @Override
- public UUID value1() {
- return getId();
- }
-
- @Override
- public String value2() {
- return getUsername();
- }
-
- @Override
- public String value3() {
- return getDisplayName();
- }
-
- @Override
- public String value4() {
- return getPassword();
- }
-
- @Override
- public Boolean value5() {
- return getIsGuest();
- }
-
- @Override
- public PlayerRecord value1(UUID value) {
- setId(value);
- return this;
- }
-
- @Override
- public PlayerRecord value2(String value) {
- setUsername(value);
- return this;
- }
-
- @Override
- public PlayerRecord value3(String value) {
- setDisplayName(value);
- return this;
- }
-
- @Override
- public PlayerRecord value4(String value) {
- setPassword(value);
- return this;
- }
-
- @Override
- public PlayerRecord value5(Boolean value) {
- setIsGuest(value);
- return this;
- }
-
- @Override
- public PlayerRecord values(UUID value1, String value2, String value3, String value4, Boolean value5) {
- value1(value1);
- value2(value2);
- value3(value3);
- value4(value4);
- value5(value5);
- return this;
- }
-
// -------------------------------------------------------------------------
// Constructors
// -------------------------------------------------------------------------
@@ -253,6 +121,6 @@ public PlayerRecord(UUID id, String username, String displayName, String passwor
setDisplayName(displayName);
setPassword(password);
setIsGuest(isGuest);
- resetChangedOnNotNull();
+ resetTouchedOnNotNull();
}
}
diff --git a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/records/RoundRecord.java b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/records/RoundRecord.java
index deb6c36..06e5797 100644
--- a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/records/RoundRecord.java
+++ b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/records/RoundRecord.java
@@ -8,18 +8,15 @@
import java.util.UUID;
-import org.jooq.Field;
import org.jooq.Record1;
-import org.jooq.Record6;
-import org.jooq.Row6;
import org.jooq.impl.UpdatableRecordImpl;
/**
* This class is generated by jOOQ.
*/
-@SuppressWarnings({ "all", "unchecked", "rawtypes" })
-public class RoundRecord extends UpdatableRecordImpl implements Record6 {
+@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
+public class RoundRecord extends UpdatableRecordImpl {
private static final long serialVersionUID = 1L;
@@ -116,157 +113,6 @@ public Record1 key() {
return (Record1) super.key();
}
- // -------------------------------------------------------------------------
- // Record6 type implementation
- // -------------------------------------------------------------------------
-
- @Override
- public Row6 fieldsRow() {
- return (Row6) super.fieldsRow();
- }
-
- @Override
- public Row6 valuesRow() {
- return (Row6) super.valuesRow();
- }
-
- @Override
- public Field field1() {
- return Round.ROUND.ID;
- }
-
- @Override
- public Field field2() {
- return Round.ROUND.NUMBER;
- }
-
- @Override
- public Field field3() {
- return Round.ROUND.SCORE;
- }
-
- @Override
- public Field field4() {
- return Round.ROUND.GAME_ID;
- }
-
- @Override
- public Field field5() {
- return Round.ROUND.PLAYER_ID;
- }
-
- @Override
- public Field field6() {
- return Round.ROUND.CONTRACT_ID;
- }
-
- @Override
- public UUID component1() {
- return getId();
- }
-
- @Override
- public Integer component2() {
- return getNumber();
- }
-
- @Override
- public Integer component3() {
- return getScore();
- }
-
- @Override
- public UUID component4() {
- return getGameId();
- }
-
- @Override
- public UUID component5() {
- return getPlayerId();
- }
-
- @Override
- public UUID component6() {
- return getContractId();
- }
-
- @Override
- public UUID value1() {
- return getId();
- }
-
- @Override
- public Integer value2() {
- return getNumber();
- }
-
- @Override
- public Integer value3() {
- return getScore();
- }
-
- @Override
- public UUID value4() {
- return getGameId();
- }
-
- @Override
- public UUID value5() {
- return getPlayerId();
- }
-
- @Override
- public UUID value6() {
- return getContractId();
- }
-
- @Override
- public RoundRecord value1(UUID value) {
- setId(value);
- return this;
- }
-
- @Override
- public RoundRecord value2(Integer value) {
- setNumber(value);
- return this;
- }
-
- @Override
- public RoundRecord value3(Integer value) {
- setScore(value);
- return this;
- }
-
- @Override
- public RoundRecord value4(UUID value) {
- setGameId(value);
- return this;
- }
-
- @Override
- public RoundRecord value5(UUID value) {
- setPlayerId(value);
- return this;
- }
-
- @Override
- public RoundRecord value6(UUID value) {
- setContractId(value);
- return this;
- }
-
- @Override
- public RoundRecord values(UUID value1, Integer value2, Integer value3, UUID value4, UUID value5, UUID value6) {
- value1(value1);
- value2(value2);
- value3(value3);
- value4(value4);
- value5(value5);
- value6(value6);
- return this;
- }
-
// -------------------------------------------------------------------------
// Constructors
// -------------------------------------------------------------------------
@@ -290,6 +136,6 @@ public RoundRecord(UUID id, Integer number, Integer score, UUID gameId, UUID pla
setGameId(gameId);
setPlayerId(playerId);
setContractId(contractId);
- resetChangedOnNotNull();
+ resetTouchedOnNotNull();
}
}
diff --git a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/records/TableRecord.java b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/records/TableRecord.java
index 1ed10d7..6948594 100644
--- a/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/records/TableRecord.java
+++ b/Backend/data-access/src/main/java/dev/honegger/jasstracker/data/database/tables/records/TableRecord.java
@@ -8,18 +8,15 @@
import java.util.UUID;
-import org.jooq.Field;
import org.jooq.Record1;
-import org.jooq.Record3;
-import org.jooq.Row3;
import org.jooq.impl.UpdatableRecordImpl;
/**
* This class is generated by jOOQ.
*/
-@SuppressWarnings({ "all", "unchecked", "rawtypes" })
-public class TableRecord extends UpdatableRecordImpl implements Record3 {
+@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
+public class TableRecord extends UpdatableRecordImpl {
private static final long serialVersionUID = 1L;
@@ -74,91 +71,6 @@ public Record1 key() {
return (Record1) super.key();
}
- // -------------------------------------------------------------------------
- // Record3 type implementation
- // -------------------------------------------------------------------------
-
- @Override
- public Row3 fieldsRow() {
- return (Row3) super.fieldsRow();
- }
-
- @Override
- public Row3 valuesRow() {
- return (Row3) super.valuesRow();
- }
-
- @Override
- public Field field1() {
- return Table.TABLE.ID;
- }
-
- @Override
- public Field field2() {
- return Table.TABLE.NAME;
- }
-
- @Override
- public Field field3() {
- return Table.TABLE.OWNER_ID;
- }
-
- @Override
- public UUID component1() {
- return getId();
- }
-
- @Override
- public String component2() {
- return getName();
- }
-
- @Override
- public UUID component3() {
- return getOwnerId();
- }
-
- @Override
- public UUID value1() {
- return getId();
- }
-
- @Override
- public String value2() {
- return getName();
- }
-
- @Override
- public UUID value3() {
- return getOwnerId();
- }
-
- @Override
- public TableRecord value1(UUID value) {
- setId(value);
- return this;
- }
-
- @Override
- public TableRecord value2(String value) {
- setName(value);
- return this;
- }
-
- @Override
- public TableRecord value3(UUID value) {
- setOwnerId(value);
- return this;
- }
-
- @Override
- public TableRecord values(UUID value1, String value2, UUID value3) {
- value1(value1);
- value2(value2);
- value3(value3);
- return this;
- }
-
// -------------------------------------------------------------------------
// Constructors
// -------------------------------------------------------------------------
@@ -179,6 +91,6 @@ public TableRecord(UUID id, String name, UUID ownerId) {
setId(id);
setName(name);
setOwnerId(ownerId);
- resetChangedOnNotNull();
+ resetTouchedOnNotNull();
}
}
diff --git a/Backend/data-access/src/test/kotlin/dev/honegger/jasstracker/data/repositories/RepositoryTest.kt b/Backend/data-access/src/test/kotlin/dev/honegger/jasstracker/data/repositories/RepositoryTest.kt
index 33dfba9..cc86e7b 100644
--- a/Backend/data-access/src/test/kotlin/dev/honegger/jasstracker/data/repositories/RepositoryTest.kt
+++ b/Backend/data-access/src/test/kotlin/dev/honegger/jasstracker/data/repositories/RepositoryTest.kt
@@ -11,7 +11,7 @@ open class RepositoryTest {
companion object {
@Container
@JvmStatic
- val postgresql = PostgreSQLContainer("postgres:14-alpine")
+ val postgresql = PostgreSQLContainer("postgres:17-alpine")
@BeforeAll
@JvmStatic
diff --git a/Backend/domain/build.gradle.kts b/Backend/domain/build.gradle.kts
index b32a507..fa72738 100644
--- a/Backend/domain/build.gradle.kts
+++ b/Backend/domain/build.gradle.kts
@@ -1,10 +1,13 @@
plugins {
alias(libs.plugins.kotlin.jvm)
- alias(libs.plugins.kover)
+ alias(testLibs.plugins.kover)
}
kotlin {
- jvmToolchain(23)
+ jvmToolchain {
+ languageVersion.set(JavaLanguageVersion.of(23))
+ vendor.set(JvmVendorSpec.GRAAL_VM)
+ }
}
dependencies {
diff --git a/Backend/security/build.gradle.kts b/Backend/security/build.gradle.kts
index d6d5734..d230029 100644
--- a/Backend/security/build.gradle.kts
+++ b/Backend/security/build.gradle.kts
@@ -1,18 +1,20 @@
plugins {
alias(libs.plugins.kotlin.jvm)
- alias(libs.plugins.kover)
+ alias(testLibs.plugins.kover)
}
kotlin {
- jvmToolchain(23)
+ jvmToolchain {
+ languageVersion.set(JavaLanguageVersion.of(23))
+ vendor.set(JvmVendorSpec.GRAAL_VM)
+ }
}
dependencies {
implementation(project(":Backend:domain"))
implementation(libs.java.jwt)
- implementation(libs.argon2.jvm.nolibs)
+ implementation(libs.argon2.jvm)
implementation(libs.kotlinx.datetime)
- testImplementation(libs.argon2.jvm)
testImplementation(testLibs.kotlin.test)
testImplementation(testLibs.mockk)
}
diff --git a/Backend/security/src/main/kotlin/dev/honegger/jasstracker/security/JwtTokenService.kt b/Backend/security/src/main/kotlin/dev/honegger/jasstracker/security/JwtTokenService.kt
index 4796c35..38e717a 100644
--- a/Backend/security/src/main/kotlin/dev/honegger/jasstracker/security/JwtTokenService.kt
+++ b/Backend/security/src/main/kotlin/dev/honegger/jasstracker/security/JwtTokenService.kt
@@ -15,8 +15,8 @@ import kotlinx.datetime.toJavaInstant
import java.util.*
import kotlin.time.Duration
-data class JwtConfig(
- val secret: String,
+class JwtConfig(
+ val secret: ByteArray,
val issuer: String,
val audience: String,
val realm: String,
diff --git a/Backend/security/src/test/kotlin/dev/honegger/jasstracker/security/JwtTokenServiceTest.kt b/Backend/security/src/test/kotlin/dev/honegger/jasstracker/security/JwtTokenServiceTest.kt
index 1a639cc..7de79c6 100644
--- a/Backend/security/src/test/kotlin/dev/honegger/jasstracker/security/JwtTokenServiceTest.kt
+++ b/Backend/security/src/test/kotlin/dev/honegger/jasstracker/security/JwtTokenServiceTest.kt
@@ -4,13 +4,16 @@ import dev.honegger.jasstracker.domain.GuestPlayer
import dev.honegger.jasstracker.domain.PlayerSession
import dev.honegger.jasstracker.domain.RegisteredPlayer
import java.util.*
+import kotlin.io.encoding.Base64
+import kotlin.io.encoding.ExperimentalEncodingApi
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.time.Duration.Companion.hours
+@OptIn(ExperimentalEncodingApi::class)
class JwtTokenServiceTest {
private val config = JwtConfig(
- secret = "z8TxaimeeD3R9EFBCBTLNi6LNlDOOiRuKjb5TYcUEcNNjYDzhbS5StLIB1wqvDPhNoXY66FUvIsQrOykDUbUQg==",
+ secret = Base64.decode("z8TxaimeeD3R9EFBCBTLNi6LNlDOOiRuKjb5TYcUEcNNjYDzhbS5StLIB1wqvDPhNoXY66FUvIsQrOykDUbUQg=="),
issuer = "Test Issuer",
audience = "Test Audience",
realm = "JwtTokenServiceTest",
diff --git a/Backend/web-api/build.gradle.kts b/Backend/web-api/build.gradle.kts
index c3a2ba5..3b8da7d 100644
--- a/Backend/web-api/build.gradle.kts
+++ b/Backend/web-api/build.gradle.kts
@@ -1,11 +1,14 @@
plugins {
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.kotlin.serialization)
- alias(libs.plugins.kover)
+ alias(testLibs.plugins.kover)
}
kotlin {
- jvmToolchain(23)
+ jvmToolchain {
+ languageVersion.set(JavaLanguageVersion.of(23))
+ vendor.set(JvmVendorSpec.GRAAL_VM)
+ }
}
dependencies {
diff --git a/Dockerfile b/Dockerfile
index 10326d6..d44449f 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -5,15 +5,13 @@ WORKDIR /home/node/src
RUN pnpm i --frozen-lockfile
RUN pnpm build --outDir ./dist
-FROM eclipse-temurin:23-jdk-alpine AS build_backend
+FROM ghcr.io/graalvm/jdk-community:23 AS build_backend
COPY . /home/gradle/src
COPY --from=build_frontend /home/node/src/dist /home/gradle/src/Backend/bootstrap/src/main/resources/static
WORKDIR /home/gradle/src
RUN ./gradlew shadowJar --no-daemon
-FROM eclipse-temurin:23-jre-alpine
-RUN apk add --no-cache argon2-libs
+FROM ghcr.io/graalvm/jdk-community:23
EXPOSE 8080:8080
-RUN mkdir /app
COPY --from=build_backend /home/gradle/src/Backend/bootstrap/build/libs/*.jar /app/jasstracker.jar
ENTRYPOINT ["java","-jar","/app/jasstracker.jar"]
diff --git a/DockerfileBuiltLocally b/DockerfileBuiltLocally
index 1e6b46b..5278843 100644
--- a/DockerfileBuiltLocally
+++ b/DockerfileBuiltLocally
@@ -1,6 +1,4 @@
-FROM eclipse-temurin:23-jre-alpine
-RUN apk add --no-cache argon2-libs
+FROM ghcr.io/graalvm/jdk-community:23
EXPOSE 8080:8080
-RUN mkdir /app
COPY ./Backend/bootstrap/build/libs/*.jar /app/jasstracker.jar
ENTRYPOINT ["java","-jar","/app/jasstracker.jar"]
diff --git a/Frontend/package.json b/Frontend/package.json
index ba60f2b..cc85393 100644
--- a/Frontend/package.json
+++ b/Frontend/package.json
@@ -2,7 +2,7 @@
"name": "jasstracker",
"version": "0.1.0",
"private": true,
- "packageManager": "pnpm@9.12.3+sha512.cce0f9de9c5a7c95bef944169cc5dfe8741abfb145078c0d508b868056848a87c81e626246cb60967cbd7fd29a6c062ef73ff840d96b3c86c40ac92cf4a813ee",
+ "packageManager": "pnpm@10.6.5+sha512.cdf928fca20832cd59ec53826492b7dc25dc524d4370b6b4adbf65803d32efaa6c1c88147c0ae4e8d579a6c9eec715757b50d4fa35eea179d868eada4ed043af",
"license": "MIT",
"type": "module",
"scripts": {
@@ -16,33 +16,37 @@
},
"dependencies": {
"mande": "^2.0.9",
- "pinia": "^2.2.5",
- "vue": "^3.5.12",
+ "pinia": "^3.0.1",
+ "vue": "^3.5.13",
"vue-draggable-next": "^2.2.1",
- "vue-router": "^4.4.5",
+ "vue-router": "^4.5.0",
"vue-toastification": "2.0.0-rc.5",
"vue3-charts": "^1.1.33"
},
"devDependencies": {
- "@eslint/js": "^9.14.0",
- "@rushstack/eslint-patch": "^1.10.4",
- "@tsconfig/node22": "^22.0.0",
+ "@eslint/js": "^9.23.0",
+ "@tailwindcss/vite": "^4.0.16",
+ "@tsconfig/node22": "^22.0.1",
"@types/d3-axis": "^3.0.6",
- "@types/d3-shape": "^3.1.6",
- "@types/node": "^22.8.6",
- "@vitejs/plugin-vue": "^5.1.4",
- "@vue/eslint-config-prettier": "^10.1.0",
- "@vue/eslint-config-typescript": "^14.1.3",
- "@vue/tsconfig": "^0.5.1",
- "autoprefixer": "^10.4.20",
- "eslint": "^9.14.0",
- "eslint-plugin-vue": "^9.30.0",
+ "@types/d3-shape": "^3.1.7",
+ "@types/node": "^22.13.13",
+ "@vitejs/plugin-vue": "^5.2.3",
+ "@vue/eslint-config-prettier": "^10.2.0",
+ "@vue/eslint-config-typescript": "^14.5.0",
+ "@vue/tsconfig": "^0.7.0",
+ "eslint": "^9.23.0",
+ "eslint-plugin-vue": "^10.0.0",
"npm-run-all": "^4.1.5",
- "postcss": "^8.4.47",
- "prettier": "^3.3.3",
- "tailwindcss": "^3.4.14",
- "typescript": "^5.6.3",
- "vite": "^5.4.12",
- "vue-tsc": "^2.1.10"
+ "prettier": "^3.5.3",
+ "tailwindcss": "^4.0.16",
+ "typescript": "^5.8.2",
+ "vite": "^6.2.3",
+ "vue-tsc": "^2.2.8"
+ },
+ "pnpm": {
+ "onlyBuiltDependencies": [
+ "esbuild",
+ "vue-demi"
+ ]
}
}
diff --git a/Frontend/pnpm-lock.yaml b/Frontend/pnpm-lock.yaml
index d1bdf30..677edce 100644
--- a/Frontend/pnpm-lock.yaml
+++ b/Frontend/pnpm-lock.yaml
@@ -12,91 +12,81 @@ importers:
specifier: ^2.0.9
version: 2.0.9
pinia:
- specifier: ^2.2.5
- version: 2.2.5(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3))
+ specifier: ^3.0.1
+ version: 3.0.1(typescript@5.8.2)(vue@3.5.13(typescript@5.8.2))
vue:
- specifier: ^3.5.12
- version: 3.5.12(typescript@5.6.3)
+ specifier: ^3.5.13
+ version: 3.5.13(typescript@5.8.2)
vue-draggable-next:
specifier: ^2.2.1
- version: 2.2.1(sortablejs@1.15.0)(vue@3.5.12(typescript@5.6.3))
+ version: 2.2.1(sortablejs@1.15.0)(vue@3.5.13(typescript@5.8.2))
vue-router:
- specifier: ^4.4.5
- version: 4.4.5(vue@3.5.12(typescript@5.6.3))
+ specifier: ^4.5.0
+ version: 4.5.0(vue@3.5.13(typescript@5.8.2))
vue-toastification:
specifier: 2.0.0-rc.5
- version: 2.0.0-rc.5(vue@3.5.12(typescript@5.6.3))
+ version: 2.0.0-rc.5(vue@3.5.13(typescript@5.8.2))
vue3-charts:
specifier: ^1.1.33
- version: 1.1.33(vue@3.5.12(typescript@5.6.3))
+ version: 1.1.33(vue@3.5.13(typescript@5.8.2))
devDependencies:
'@eslint/js':
- specifier: ^9.14.0
- version: 9.14.0
- '@rushstack/eslint-patch':
- specifier: ^1.10.4
- version: 1.10.4
+ specifier: ^9.23.0
+ version: 9.23.0
+ '@tailwindcss/vite':
+ specifier: ^4.0.16
+ version: 4.0.16(vite@6.2.3(@types/node@22.13.13)(jiti@2.4.2)(lightningcss@1.29.2))
'@tsconfig/node22':
- specifier: ^22.0.0
- version: 22.0.0
+ specifier: ^22.0.1
+ version: 22.0.1
'@types/d3-axis':
specifier: ^3.0.6
version: 3.0.6
'@types/d3-shape':
- specifier: ^3.1.6
- version: 3.1.6
+ specifier: ^3.1.7
+ version: 3.1.7
'@types/node':
- specifier: ^22.8.6
- version: 22.8.6
+ specifier: ^22.13.13
+ version: 22.13.13
'@vitejs/plugin-vue':
- specifier: ^5.1.4
- version: 5.1.4(vite@5.4.12(@types/node@22.8.6))(vue@3.5.12(typescript@5.6.3))
+ specifier: ^5.2.3
+ version: 5.2.3(vite@6.2.3(@types/node@22.13.13)(jiti@2.4.2)(lightningcss@1.29.2))(vue@3.5.13(typescript@5.8.2))
'@vue/eslint-config-prettier':
- specifier: ^10.1.0
- version: 10.1.0(eslint@9.14.0(jiti@1.21.6))(prettier@3.3.3)
+ specifier: ^10.2.0
+ version: 10.2.0(eslint@9.23.0(jiti@2.4.2))(prettier@3.5.3)
'@vue/eslint-config-typescript':
- specifier: ^14.1.3
- version: 14.1.3(@typescript-eslint/parser@8.12.2(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3))(eslint-plugin-vue@9.30.0(eslint@9.14.0(jiti@1.21.6)))(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3)
+ specifier: ^14.5.0
+ version: 14.5.0(eslint-plugin-vue@10.0.0(eslint@9.23.0(jiti@2.4.2))(vue-eslint-parser@10.1.1(eslint@9.23.0(jiti@2.4.2))))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)
'@vue/tsconfig':
- specifier: ^0.5.1
- version: 0.5.1
- autoprefixer:
- specifier: ^10.4.20
- version: 10.4.20(postcss@8.4.47)
+ specifier: ^0.7.0
+ version: 0.7.0(typescript@5.8.2)(vue@3.5.13(typescript@5.8.2))
eslint:
- specifier: ^9.14.0
- version: 9.14.0(jiti@1.21.6)
+ specifier: ^9.23.0
+ version: 9.23.0(jiti@2.4.2)
eslint-plugin-vue:
- specifier: ^9.30.0
- version: 9.30.0(eslint@9.14.0(jiti@1.21.6))
+ specifier: ^10.0.0
+ version: 10.0.0(eslint@9.23.0(jiti@2.4.2))(vue-eslint-parser@10.1.1(eslint@9.23.0(jiti@2.4.2)))
npm-run-all:
specifier: ^4.1.5
version: 4.1.5
- postcss:
- specifier: ^8.4.47
- version: 8.4.47
prettier:
- specifier: ^3.3.3
- version: 3.3.3
+ specifier: ^3.5.3
+ version: 3.5.3
tailwindcss:
- specifier: ^3.4.14
- version: 3.4.14
+ specifier: ^4.0.16
+ version: 4.0.16
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.8.2
+ version: 5.8.2
vite:
- specifier: ^5.4.12
- version: 5.4.12(@types/node@22.8.6)
+ specifier: ^6.2.3
+ version: 6.2.3(@types/node@22.13.13)(jiti@2.4.2)(lightningcss@1.29.2)
vue-tsc:
- specifier: ^2.1.10
- version: 2.1.10(typescript@5.6.3)
+ specifier: ^2.2.8
+ version: 2.2.8(typescript@5.8.2)
packages:
- '@alloc/quick-lru@5.2.0':
- resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
- engines: {node: '>=10'}
-
'@babel/helper-string-parser@7.25.9':
resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
engines: {node: '>=6.9.0'}
@@ -105,155 +95,167 @@ packages:
resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
engines: {node: '>=6.9.0'}
- '@babel/parser@7.26.2':
- resolution: {integrity: sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==}
+ '@babel/parser@7.27.0':
+ resolution: {integrity: sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==}
engines: {node: '>=6.0.0'}
hasBin: true
- '@babel/types@7.26.0':
- resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==}
+ '@babel/types@7.27.0':
+ resolution: {integrity: sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==}
engines: {node: '>=6.9.0'}
- '@esbuild/aix-ppc64@0.21.5':
- resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
- engines: {node: '>=12'}
+ '@esbuild/aix-ppc64@0.25.1':
+ resolution: {integrity: sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ==}
+ 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.25.1':
+ resolution: {integrity: sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA==}
+ 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.25.1':
+ resolution: {integrity: sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q==}
+ 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.25.1':
+ resolution: {integrity: sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw==}
+ 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.25.1':
+ resolution: {integrity: sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==}
+ 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.25.1':
+ resolution: {integrity: sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA==}
+ 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.25.1':
+ resolution: {integrity: sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A==}
+ 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.25.1':
+ resolution: {integrity: sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww==}
+ 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.25.1':
+ resolution: {integrity: sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ==}
+ 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.25.1':
+ resolution: {integrity: sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ==}
+ 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.25.1':
+ resolution: {integrity: sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ==}
+ 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.25.1':
+ resolution: {integrity: sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg==}
+ 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.25.1':
+ resolution: {integrity: sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg==}
+ 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.25.1':
+ resolution: {integrity: sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg==}
+ 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.25.1':
+ resolution: {integrity: sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ==}
+ engines: {node: '>=18'}
cpu: [riscv64]
os: [linux]
- '@esbuild/linux-s390x@0.21.5':
- resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
- engines: {node: '>=12'}
+ '@esbuild/linux-s390x@0.25.1':
+ resolution: {integrity: sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ==}
+ 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.25.1':
+ resolution: {integrity: sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA==}
+ engines: {node: '>=18'}
cpu: [x64]
os: [linux]
- '@esbuild/netbsd-x64@0.21.5':
- resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
- engines: {node: '>=12'}
+ '@esbuild/netbsd-arm64@0.25.1':
+ resolution: {integrity: sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [netbsd]
+
+ '@esbuild/netbsd-x64@0.25.1':
+ resolution: {integrity: sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA==}
+ engines: {node: '>=18'}
cpu: [x64]
os: [netbsd]
- '@esbuild/openbsd-x64@0.21.5':
- resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
- engines: {node: '>=12'}
+ '@esbuild/openbsd-arm64@0.25.1':
+ resolution: {integrity: sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openbsd]
+
+ '@esbuild/openbsd-x64@0.25.1':
+ resolution: {integrity: sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw==}
+ 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/sunos-x64@0.25.1':
+ resolution: {integrity: sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg==}
+ 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.25.1':
+ resolution: {integrity: sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ==}
+ 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.25.1':
+ resolution: {integrity: sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A==}
+ 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.25.1':
+ resolution: {integrity: sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==}
+ engines: {node: '>=18'}
cpu: [x64]
os: [win32]
- '@eslint-community/eslint-utils@4.4.1':
- resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==}
+ '@eslint-community/eslint-utils@4.5.1':
+ resolution: {integrity: sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
@@ -262,28 +264,32 @@ packages:
resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
- '@eslint/config-array@0.18.0':
- resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==}
+ '@eslint/config-array@0.19.2':
+ resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/config-helpers@0.2.0':
+ resolution: {integrity: sha512-yJLLmLexii32mGrhW29qvU3QBVTu0GUmEf/J4XsBtVhp4JkIUFN/BjWqTF63yRvGApIDpZm5fa97LtYtINmfeQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/core@0.7.0':
- resolution: {integrity: sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==}
+ '@eslint/core@0.12.0':
+ resolution: {integrity: sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/eslintrc@3.1.0':
- resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==}
+ '@eslint/eslintrc@3.3.1':
+ resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/js@9.14.0':
- resolution: {integrity: sha512-pFoEtFWCPyDOl+C6Ift+wC7Ro89otjigCf5vcuWqWgqNSQbRrpjSvdeE6ofLz4dHmyxD5f7gIdGT4+p36L6Twg==}
+ '@eslint/js@9.23.0':
+ resolution: {integrity: sha512-35MJ8vCPU0ZMxo7zfev2pypqTwWTofFZO6m4KAtdoFhRpLJUpHTZZ+KB3C7Hb1d7bULYwO4lJXGCi5Se+8OMbw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/object-schema@2.1.4':
- resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==}
+ '@eslint/object-schema@2.1.6':
+ resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/plugin-kit@0.2.3':
- resolution: {integrity: sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA==}
+ '@eslint/plugin-kit@0.2.7':
+ resolution: {integrity: sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@humanfs/core@0.19.1':
@@ -302,32 +308,13 @@ packages:
resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
engines: {node: '>=18.18'}
- '@humanwhocodes/retry@0.4.0':
- resolution: {integrity: sha512-xnRgu9DxZbkWak/te3fcytNyp8MTbuiZIaueg2rgEvBuN55n04nwLYLU9TX/VVlusc9L2ZNXi99nUFNkHXtr5g==}
+ '@humanwhocodes/retry@0.4.2':
+ resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==}
engines: {node: '>=18.18'}
- '@isaacs/cliui@8.0.2':
- resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
- engines: {node: '>=12'}
-
- '@jridgewell/gen-mapping@0.3.5':
- resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
- engines: {node: '>=6.0.0'}
-
- '@jridgewell/resolve-uri@3.1.2':
- resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
- engines: {node: '>=6.0.0'}
-
- '@jridgewell/set-array@1.2.1':
- resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
- engines: {node: '>=6.0.0'}
-
'@jridgewell/sourcemap-codec@1.5.0':
resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
- '@jridgewell/trace-mapping@0.3.25':
- resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
-
'@nodelib/fs.scandir@2.1.5':
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
engines: {node: '>= 8'}
@@ -340,220 +327,289 @@ packages:
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
engines: {node: '>= 8'}
- '@pkgjs/parseargs@0.11.0':
- resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
- engines: {node: '>=14'}
-
- '@pkgr/core@0.1.1':
- resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==}
+ '@pkgr/core@0.2.0':
+ resolution: {integrity: sha512-vsJDAkYR6qCPu+ioGScGiMYR7LvZYIXh/dlQeviqoTWNCVfKTLYD/LkNWH4Mxsv2a5vpIRc77FN5DnmK1eBggQ==}
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
- '@rollup/rollup-android-arm-eabi@4.31.0':
- resolution: {integrity: sha512-9NrR4033uCbUBRgvLcBrJofa2KY9DzxL2UKZ1/4xA/mnTNyhZCWBuD8X3tPm1n4KxcgaraOYgrFKSgwjASfmlA==}
+ '@rollup/rollup-android-arm-eabi@4.37.0':
+ resolution: {integrity: sha512-l7StVw6WAa8l3vA1ov80jyetOAEo1FtHvZDbzXDO/02Sq/QVvqlHkYoFwDJPIMj0GKiistsBudfx5tGFnwYWDQ==}
cpu: [arm]
os: [android]
- '@rollup/rollup-android-arm64@4.31.0':
- resolution: {integrity: sha512-iBbODqT86YBFHajxxF8ebj2hwKm1k8PTBQSojSt3d1FFt1gN+xf4CowE47iN0vOSdnd+5ierMHBbu/rHc7nq5g==}
+ '@rollup/rollup-android-arm64@4.37.0':
+ resolution: {integrity: sha512-6U3SlVyMxezt8Y+/iEBcbp945uZjJwjZimu76xoG7tO1av9VO691z8PkhzQ85ith2I8R2RddEPeSfcbyPfD4hA==}
cpu: [arm64]
os: [android]
- '@rollup/rollup-darwin-arm64@4.31.0':
- resolution: {integrity: sha512-WHIZfXgVBX30SWuTMhlHPXTyN20AXrLH4TEeH/D0Bolvx9PjgZnn4H677PlSGvU6MKNsjCQJYczkpvBbrBnG6g==}
+ '@rollup/rollup-darwin-arm64@4.37.0':
+ resolution: {integrity: sha512-+iTQ5YHuGmPt10NTzEyMPbayiNTcOZDWsbxZYR1ZnmLnZxG17ivrPSWFO9j6GalY0+gV3Jtwrrs12DBscxnlYA==}
cpu: [arm64]
os: [darwin]
- '@rollup/rollup-darwin-x64@4.31.0':
- resolution: {integrity: sha512-hrWL7uQacTEF8gdrQAqcDy9xllQ0w0zuL1wk1HV8wKGSGbKPVjVUv/DEwT2+Asabf8Dh/As+IvfdU+H8hhzrQQ==}
+ '@rollup/rollup-darwin-x64@4.37.0':
+ resolution: {integrity: sha512-m8W2UbxLDcmRKVjgl5J/k4B8d7qX2EcJve3Sut7YGrQoPtCIQGPH5AMzuFvYRWZi0FVS0zEY4c8uttPfX6bwYQ==}
cpu: [x64]
os: [darwin]
- '@rollup/rollup-freebsd-arm64@4.31.0':
- resolution: {integrity: sha512-S2oCsZ4hJviG1QjPY1h6sVJLBI6ekBeAEssYKad1soRFv3SocsQCzX6cwnk6fID6UQQACTjeIMB+hyYrFacRew==}
+ '@rollup/rollup-freebsd-arm64@4.37.0':
+ resolution: {integrity: sha512-FOMXGmH15OmtQWEt174v9P1JqqhlgYge/bUjIbiVD1nI1NeJ30HYT9SJlZMqdo1uQFyt9cz748F1BHghWaDnVA==}
cpu: [arm64]
os: [freebsd]
- '@rollup/rollup-freebsd-x64@4.31.0':
- resolution: {integrity: sha512-pCANqpynRS4Jirn4IKZH4tnm2+2CqCNLKD7gAdEjzdLGbH1iO0zouHz4mxqg0uEMpO030ejJ0aA6e1PJo2xrPA==}
+ '@rollup/rollup-freebsd-x64@4.37.0':
+ resolution: {integrity: sha512-SZMxNttjPKvV14Hjck5t70xS3l63sbVwl98g3FlVVx2YIDmfUIy29jQrsw06ewEYQ8lQSuY9mpAPlmgRD2iSsA==}
cpu: [x64]
os: [freebsd]
- '@rollup/rollup-linux-arm-gnueabihf@4.31.0':
- resolution: {integrity: sha512-0O8ViX+QcBd3ZmGlcFTnYXZKGbFu09EhgD27tgTdGnkcYXLat4KIsBBQeKLR2xZDCXdIBAlWLkiXE1+rJpCxFw==}
+ '@rollup/rollup-linux-arm-gnueabihf@4.37.0':
+ resolution: {integrity: sha512-hhAALKJPidCwZcj+g+iN+38SIOkhK2a9bqtJR+EtyxrKKSt1ynCBeqrQy31z0oWU6thRZzdx53hVgEbRkuI19w==}
cpu: [arm]
os: [linux]
- '@rollup/rollup-linux-arm-musleabihf@4.31.0':
- resolution: {integrity: sha512-w5IzG0wTVv7B0/SwDnMYmbr2uERQp999q8FMkKG1I+j8hpPX2BYFjWe69xbhbP6J9h2gId/7ogesl9hwblFwwg==}
+ '@rollup/rollup-linux-arm-musleabihf@4.37.0':
+ resolution: {integrity: sha512-jUb/kmn/Gd8epbHKEqkRAxq5c2EwRt0DqhSGWjPFxLeFvldFdHQs/n8lQ9x85oAeVb6bHcS8irhTJX2FCOd8Ag==}
cpu: [arm]
os: [linux]
- '@rollup/rollup-linux-arm64-gnu@4.31.0':
- resolution: {integrity: sha512-JyFFshbN5xwy6fulZ8B/8qOqENRmDdEkcIMF0Zz+RsfamEW+Zabl5jAb0IozP/8UKnJ7g2FtZZPEUIAlUSX8cA==}
+ '@rollup/rollup-linux-arm64-gnu@4.37.0':
+ resolution: {integrity: sha512-oNrJxcQT9IcbcmKlkF+Yz2tmOxZgG9D9GRq+1OE6XCQwCVwxixYAa38Z8qqPzQvzt1FCfmrHX03E0pWoXm1DqA==}
cpu: [arm64]
os: [linux]
- '@rollup/rollup-linux-arm64-musl@4.31.0':
- resolution: {integrity: sha512-kpQXQ0UPFeMPmPYksiBL9WS/BDiQEjRGMfklVIsA0Sng347H8W2iexch+IEwaR7OVSKtr2ZFxggt11zVIlZ25g==}
+ '@rollup/rollup-linux-arm64-musl@4.37.0':
+ resolution: {integrity: sha512-pfxLBMls+28Ey2enpX3JvjEjaJMBX5XlPCZNGxj4kdJyHduPBXtxYeb8alo0a7bqOoWZW2uKynhHxF/MWoHaGQ==}
cpu: [arm64]
os: [linux]
- '@rollup/rollup-linux-loongarch64-gnu@4.31.0':
- resolution: {integrity: sha512-pMlxLjt60iQTzt9iBb3jZphFIl55a70wexvo8p+vVFK+7ifTRookdoXX3bOsRdmfD+OKnMozKO6XM4zR0sHRrQ==}
+ '@rollup/rollup-linux-loongarch64-gnu@4.37.0':
+ resolution: {integrity: sha512-yCE0NnutTC/7IGUq/PUHmoeZbIwq3KRh02e9SfFh7Vmc1Z7atuJRYWhRME5fKgT8aS20mwi1RyChA23qSyRGpA==}
cpu: [loong64]
os: [linux]
- '@rollup/rollup-linux-powerpc64le-gnu@4.31.0':
- resolution: {integrity: sha512-D7TXT7I/uKEuWiRkEFbed1UUYZwcJDU4vZQdPTcepK7ecPhzKOYk4Er2YR4uHKme4qDeIh6N3XrLfpuM7vzRWQ==}
+ '@rollup/rollup-linux-powerpc64le-gnu@4.37.0':
+ resolution: {integrity: sha512-NxcICptHk06E2Lh3a4Pu+2PEdZ6ahNHuK7o6Np9zcWkrBMuv21j10SQDJW3C9Yf/A/P7cutWoC/DptNLVsZ0VQ==}
cpu: [ppc64]
os: [linux]
- '@rollup/rollup-linux-riscv64-gnu@4.31.0':
- resolution: {integrity: sha512-wal2Tc8O5lMBtoePLBYRKj2CImUCJ4UNGJlLwspx7QApYny7K1cUYlzQ/4IGQBLmm+y0RS7dwc3TDO/pmcneTw==}
+ '@rollup/rollup-linux-riscv64-gnu@4.37.0':
+ resolution: {integrity: sha512-PpWwHMPCVpFZLTfLq7EWJWvrmEuLdGn1GMYcm5MV7PaRgwCEYJAwiN94uBuZev0/J/hFIIJCsYw4nLmXA9J7Pw==}
cpu: [riscv64]
os: [linux]
- '@rollup/rollup-linux-s390x-gnu@4.31.0':
- resolution: {integrity: sha512-O1o5EUI0+RRMkK9wiTVpk2tyzXdXefHtRTIjBbmFREmNMy7pFeYXCFGbhKFwISA3UOExlo5GGUuuj3oMKdK6JQ==}
+ '@rollup/rollup-linux-riscv64-musl@4.37.0':
+ resolution: {integrity: sha512-DTNwl6a3CfhGTAOYZ4KtYbdS8b+275LSLqJVJIrPa5/JuIufWWZ/QFvkxp52gpmguN95eujrM68ZG+zVxa8zHA==}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@rollup/rollup-linux-s390x-gnu@4.37.0':
+ resolution: {integrity: sha512-hZDDU5fgWvDdHFuExN1gBOhCuzo/8TMpidfOR+1cPZJflcEzXdCy1LjnklQdW8/Et9sryOPJAKAQRw8Jq7Tg+A==}
cpu: [s390x]
os: [linux]
- '@rollup/rollup-linux-x64-gnu@4.31.0':
- resolution: {integrity: sha512-zSoHl356vKnNxwOWnLd60ixHNPRBglxpv2g7q0Cd3Pmr561gf0HiAcUBRL3S1vPqRC17Zo2CX/9cPkqTIiai1g==}
+ '@rollup/rollup-linux-x64-gnu@4.37.0':
+ resolution: {integrity: sha512-pKivGpgJM5g8dwj0ywBwe/HeVAUSuVVJhUTa/URXjxvoyTT/AxsLTAbkHkDHG7qQxLoW2s3apEIl26uUe08LVQ==}
cpu: [x64]
os: [linux]
- '@rollup/rollup-linux-x64-musl@4.31.0':
- resolution: {integrity: sha512-ypB/HMtcSGhKUQNiFwqgdclWNRrAYDH8iMYH4etw/ZlGwiTVxBz2tDrGRrPlfZu6QjXwtd+C3Zib5pFqID97ZA==}
+ '@rollup/rollup-linux-x64-musl@4.37.0':
+ resolution: {integrity: sha512-E2lPrLKE8sQbY/2bEkVTGDEk4/49UYRVWgj90MY8yPjpnGBQ+Xi1Qnr7b7UIWw1NOggdFQFOLZ8+5CzCiz143w==}
cpu: [x64]
os: [linux]
- '@rollup/rollup-win32-arm64-msvc@4.31.0':
- resolution: {integrity: sha512-JuhN2xdI/m8Hr+aVO3vspO7OQfUFO6bKLIRTAy0U15vmWjnZDLrEgCZ2s6+scAYaQVpYSh9tZtRijApw9IXyMw==}
+ '@rollup/rollup-win32-arm64-msvc@4.37.0':
+ resolution: {integrity: sha512-Jm7biMazjNzTU4PrQtr7VS8ibeys9Pn29/1bm4ph7CP2kf21950LgN+BaE2mJ1QujnvOc6p54eWWiVvn05SOBg==}
cpu: [arm64]
os: [win32]
- '@rollup/rollup-win32-ia32-msvc@4.31.0':
- resolution: {integrity: sha512-U1xZZXYkvdf5MIWmftU8wrM5PPXzyaY1nGCI4KI4BFfoZxHamsIe+BtnPLIvvPykvQWlVbqUXdLa4aJUuilwLQ==}
+ '@rollup/rollup-win32-ia32-msvc@4.37.0':
+ resolution: {integrity: sha512-e3/1SFm1OjefWICB2Ucstg2dxYDkDTZGDYgwufcbsxTHyqQps1UQf33dFEChBNmeSsTOyrjw2JJq0zbG5GF6RA==}
cpu: [ia32]
os: [win32]
- '@rollup/rollup-win32-x64-msvc@4.31.0':
- resolution: {integrity: sha512-ul8rnCsUumNln5YWwz0ted2ZHFhzhRRnkpBZ+YRuHoRAlUji9KChpOUOndY7uykrPEPXVbHLlsdo6v5yXo/TXw==}
+ '@rollup/rollup-win32-x64-msvc@4.37.0':
+ resolution: {integrity: sha512-LWbXUBwn/bcLx2sSsqy7pK5o+Nr+VCoRoAohfJ5C/aBio9nfJmGQqHAhU6pwxV/RmyTk5AqdySma7uwWGlmeuA==}
+ cpu: [x64]
+ os: [win32]
+
+ '@tailwindcss/node@4.0.16':
+ resolution: {integrity: sha512-T6IK79hoCFScxD5tRxWMtwqwSs4sT81Vw+YbzL7RZD0/Ndm4y5kboV7LdQ97YGH6udoOZyVT/uEfrnU2L5Nkog==}
+
+ '@tailwindcss/oxide-android-arm64@4.0.16':
+ resolution: {integrity: sha512-mieEZrNLHatpQu6ad0pWBnL8ObUE9ZSe4eoX6GKTqsKv98AxNw5lUa5nJM0FgD8rYJeZ2dPtHNN/YM2xY9R+9g==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [android]
+
+ '@tailwindcss/oxide-darwin-arm64@4.0.16':
+ resolution: {integrity: sha512-pfilSvgrX5UDdjh09gGVMhAPfZVucm4AnwFBkwBe6WFl7gzMAZ92/35GC0yMDeS+W+RNSXclXJz+HamF1iS/aA==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@tailwindcss/oxide-darwin-x64@4.0.16':
+ resolution: {integrity: sha512-Z3lJY3yUjlHbzgXwWH9Y6IGeSGXfwjbXuvTPolyJUGMZl2ZaHdQMPOZ8dMll1knSLjctOif+QijMab0+GSXYLQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@tailwindcss/oxide-freebsd-x64@4.0.16':
+ resolution: {integrity: sha512-dv2U8Yc7vKIDyiJkUouhjsl+dTfRImNyZRCTFsHvvrhJvenYZBRtE/wDSYlZHR0lWKhIocxk1ScAkAcMR3F3QQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.16':
+ resolution: {integrity: sha512-XBRXyUUyjMg5UMiyuQxJqWSs27w0V49g1iPuhrFakmu1/idDSly59XYteRrI2onoS9AzmMwfyzdiQSJXM89+PQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm]
+ os: [linux]
+
+ '@tailwindcss/oxide-linux-arm64-gnu@4.0.16':
+ resolution: {integrity: sha512-+bL1zkU8MDzv389OqyI0SJbrG9kGsdxf+k2ZAILlw1TPWg5oeMkwoqgaQRqGwpOHz0pycT94qIgWVNJavAz+Iw==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@tailwindcss/oxide-linux-arm64-musl@4.0.16':
+ resolution: {integrity: sha512-Uqfnyx9oFxoX+/iy9pIDTADHLLNwuZNB8QSp+BwKAhtHjBTTYmDAdxKy3u8lJZve1aOd+S145eWpn3tT08cm4w==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@tailwindcss/oxide-linux-x64-gnu@4.0.16':
+ resolution: {integrity: sha512-v0Hx0KD94F6FG0IW3AJyCzQepSv/47xhShCgiWJ2TNVu406VtREkGpJtxS0Gu1ecSXhgn/36LToU5kivAuQiPg==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+
+ '@tailwindcss/oxide-linux-x64-musl@4.0.16':
+ resolution: {integrity: sha512-CjV6hhQAVNYw6W2EXp1ZVL81CTSBEh6nTmS5EZq5rdEhqOx8G8YQtFKjcCJiojsS+vMXt9r87gGoORJcHOA0lg==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+
+ '@tailwindcss/oxide-win32-arm64-msvc@4.0.16':
+ resolution: {integrity: sha512-Pj9eaAtXYH7NrvVx8Jx0U/sEaNpcIbb8d+2WnC8a+xL0LfIXWsu4AyeRUeTeb8Ty4fTGhKSJTohdXj1iSdN9WQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@tailwindcss/oxide-win32-x64-msvc@4.0.16':
+ resolution: {integrity: sha512-M35hoFrhJe+1QdSiZpn85y8K7tfEVw6lswv3TjIfJ44JiPjPzZ4URg+rsTjTq0kue6NjNCbbY99AsRSSpJZxOw==}
+ engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
- '@rushstack/eslint-patch@1.10.4':
- resolution: {integrity: sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==}
+ '@tailwindcss/oxide@4.0.16':
+ resolution: {integrity: sha512-n++F8Rzvo/e+FYxikZgKW4sCRXneSstLhTI91Ay9toeRcE/+WO33SQWzGtgmjWJcTupXZreskJ8FCr9b+kdXew==}
+ engines: {node: '>= 10'}
+
+ '@tailwindcss/vite@4.0.16':
+ resolution: {integrity: sha512-6mZVWhAyjVNMMRw0Pvv2RZfTttjsAClU8HouLNZbeLbX0yURMa0UYEY/qS4dB1tZlRpiDBnCLsGsWbxEyIjW6A==}
+ peerDependencies:
+ vite: ^5.2.0 || ^6
- '@tsconfig/node22@22.0.0':
- resolution: {integrity: sha512-twLQ77zevtxobBOD4ToAtVmuYrpeYUh3qh+TEp+08IWhpsrIflVHqQ1F1CiPxQGL7doCdBIOOCF+1Tm833faNg==}
+ '@tsconfig/node22@22.0.1':
+ resolution: {integrity: sha512-VkgOa3n6jvs1p+r3DiwBqeEwGAwEvnVCg/hIjiANl5IEcqP3G0u5m8cBJspe1t9qjZRlZ7WFgqq5bJrGdgAKMg==}
'@types/d3-axis@3.0.6':
resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==}
- '@types/d3-path@3.1.0':
- resolution: {integrity: sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==}
+ '@types/d3-path@3.1.1':
+ resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==}
'@types/d3-selection@3.0.11':
resolution: {integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==}
- '@types/d3-shape@3.1.6':
- resolution: {integrity: sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==}
+ '@types/d3-shape@3.1.7':
+ resolution: {integrity: sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==}
'@types/estree@1.0.6':
resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
+ '@types/estree@1.0.7':
+ resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==}
+
'@types/json-schema@7.0.15':
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
- '@types/node@22.8.6':
- resolution: {integrity: sha512-tosuJYKrIqjQIlVCM4PEGxOmyg3FCPa/fViuJChnGeEIhjA46oy8FMVoF9su1/v8PNs2a8Q0iFNyOx0uOF91nw==}
+ '@types/node@22.13.13':
+ resolution: {integrity: sha512-ClsL5nMwKaBRwPcCvH8E7+nU4GxHVx1axNvMZTFHMEfNI7oahimt26P5zjVCRrjiIWj6YFXfE1v3dEp94wLcGQ==}
- '@typescript-eslint/eslint-plugin@8.12.2':
- resolution: {integrity: sha512-gQxbxM8mcxBwaEmWdtLCIGLfixBMHhQjBqR8sVWNTPpcj45WlYL2IObS/DNMLH1DBP0n8qz+aiiLTGfopPEebw==}
+ '@typescript-eslint/eslint-plugin@8.28.0':
+ resolution: {integrity: sha512-lvFK3TCGAHsItNdWZ/1FkvpzCxTHUVuFrdnOGLMa0GGCFIbCgQWVk3CzCGdA7kM3qGVc+dfW9tr0Z/sHnGDFyg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
'@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
eslint: ^8.57.0 || ^9.0.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ typescript: '>=4.8.4 <5.9.0'
- '@typescript-eslint/parser@8.12.2':
- resolution: {integrity: sha512-MrvlXNfGPLH3Z+r7Tk+Z5moZAc0dzdVjTgUgwsdGweH7lydysQsnSww3nAmsq8blFuRD5VRlAr9YdEFw3e6PBw==}
+ '@typescript-eslint/parser@8.28.0':
+ resolution: {integrity: sha512-LPcw1yHD3ToaDEoljFEfQ9j2xShY367h7FZ1sq5NJT9I3yj4LHer1Xd1yRSOdYy9BpsrxU7R+eoDokChYM53lQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ typescript: '>=4.8.4 <5.9.0'
- '@typescript-eslint/scope-manager@8.12.2':
- resolution: {integrity: sha512-gPLpLtrj9aMHOvxJkSbDBmbRuYdtiEbnvO25bCMza3DhMjTQw0u7Y1M+YR5JPbMsXXnSPuCf5hfq0nEkQDL/JQ==}
+ '@typescript-eslint/scope-manager@8.28.0':
+ resolution: {integrity: sha512-u2oITX3BJwzWCapoZ/pXw6BCOl8rJP4Ij/3wPoGvY8XwvXflOzd1kLrDUUUAIEdJSFh+ASwdTHqtan9xSg8buw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/type-utils@8.12.2':
- resolution: {integrity: sha512-bwuU4TAogPI+1q/IJSKuD4shBLc/d2vGcRT588q+jzayQyjVK2X6v/fbR4InY2U2sgf8MEvVCqEWUzYzgBNcGQ==}
+ '@typescript-eslint/type-utils@8.28.0':
+ resolution: {integrity: sha512-oRoXu2v0Rsy/VoOGhtWrOKDiIehvI+YNrDk5Oqj40Mwm0Yt01FC/Q7nFqg088d3yAsR1ZcZFVfPCTTFCe/KPwg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <5.9.0'
- '@typescript-eslint/types@8.12.2':
- resolution: {integrity: sha512-VwDwMF1SZ7wPBUZwmMdnDJ6sIFk4K4s+ALKLP6aIQsISkPv8jhiw65sAK6SuWODN/ix+m+HgbYDkH+zLjrzvOA==}
+ '@typescript-eslint/types@8.28.0':
+ resolution: {integrity: sha512-bn4WS1bkKEjx7HqiwG2JNB3YJdC1q6Ue7GyGlwPHyt0TnVq6TtD/hiOdTZt71sq0s7UzqBFXD8t8o2e63tXgwA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/typescript-estree@8.12.2':
- resolution: {integrity: sha512-mME5MDwGe30Pq9zKPvyduyU86PH7aixwqYR2grTglAdB+AN8xXQ1vFGpYaUSJ5o5P/5znsSBeNcs5g5/2aQwow==}
+ '@typescript-eslint/typescript-estree@8.28.0':
+ resolution: {integrity: sha512-H74nHEeBGeklctAVUvmDkxB1mk+PAZ9FiOMPFncdqeRBXxk1lWSYraHw8V12b7aa6Sg9HOBNbGdSHobBPuQSuA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ typescript: '>=4.8.4 <5.9.0'
- '@typescript-eslint/utils@8.12.2':
- resolution: {integrity: sha512-UTTuDIX3fkfAz6iSVa5rTuSfWIYZ6ATtEocQ/umkRSyC9O919lbZ8dcH7mysshrCdrAM03skJOEYaBugxN+M6A==}
+ '@typescript-eslint/utils@8.28.0':
+ resolution: {integrity: sha512-OELa9hbTYciYITqgurT1u/SzpQVtDLmQMFzy/N8pQE+tefOyCWT79jHsav294aTqV1q1u+VzqDGbuujvRYaeSQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <5.9.0'
- '@typescript-eslint/visitor-keys@8.12.2':
- resolution: {integrity: sha512-PChz8UaKQAVNHghsHcPyx1OMHoFRUEA7rJSK/mDhdq85bk+PLsUHUBqTQTFt18VJZbmxBovM65fezlheQRsSDA==}
+ '@typescript-eslint/visitor-keys@8.28.0':
+ resolution: {integrity: sha512-hbn8SZ8w4u2pRwgQ1GlUrPKE+t2XvcCW5tTRF7j6SMYIuYG37XuzIW44JCZPa36evi0Oy2SnM664BlIaAuQcvg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@vitejs/plugin-vue@5.1.4':
- resolution: {integrity: sha512-N2XSI2n3sQqp5w7Y/AN/L2XDjBIRGqXko+eDp42sydYSBeJuSm5a1sLf8zakmo8u7tA8NmBgoDLA1HeOESjp9A==}
+ '@vitejs/plugin-vue@5.2.3':
+ resolution: {integrity: sha512-IYSLEQj4LgZZuoVpdSUCw3dIynTWQgPlaRP6iAvMle4My0HdYwr5g5wQAfwOeHQBmYwEkqF70nRpSilr6PoUDg==}
engines: {node: ^18.0.0 || >=20.0.0}
peerDependencies:
- vite: ^5.0.0
+ vite: ^5.0.0 || ^6.0.0
vue: ^3.2.25
- '@volar/language-core@2.4.8':
- resolution: {integrity: sha512-K/GxMOXGq997bO00cdFhTNuR85xPxj0BEEAy+BaqqayTmy9Tmhfgmq2wpJcVspRhcwfgPoE2/mEJa26emUhG/g==}
+ '@volar/language-core@2.4.12':
+ resolution: {integrity: sha512-RLrFdXEaQBWfSnYGVxvR2WrO6Bub0unkdHYIdC31HzIEqATIuuhRRzYu76iGPZ6OtA4Au1SnW0ZwIqPP217YhA==}
- '@volar/source-map@2.4.8':
- resolution: {integrity: sha512-jeWJBkC/WivdelMwxKkpFL811uH/jJ1kVxa+c7OvG48DXc3VrP7pplSWPP2W1dLMqBxD+awRlg55FQQfiup4cA==}
+ '@volar/source-map@2.4.12':
+ resolution: {integrity: sha512-bUFIKvn2U0AWojOaqf63ER0N/iHIBYZPpNGogfLPQ68F5Eet6FnLlyho7BS0y2HJ1jFhSif7AcuTx1TqsCzRzw==}
- '@volar/typescript@2.4.8':
- resolution: {integrity: sha512-6xkIYJ5xxghVBhVywMoPMidDDAFT1OoQeXwa27HSgJ6AiIKRe61RXLoik+14Z7r0JvnblXVsjsRLmCr42SGzqg==}
+ '@volar/typescript@2.4.12':
+ resolution: {integrity: sha512-HJB73OTJDgPc80K30wxi3if4fSsZZAOScbj2fcicMuOPoOkcf9NNAINb33o+DzhBdF9xTKC1gnPmIRDous5S0g==}
- '@vue/compiler-core@3.5.12':
- resolution: {integrity: sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==}
+ '@vue/compiler-core@3.5.13':
+ resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==}
- '@vue/compiler-dom@3.5.12':
- resolution: {integrity: sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg==}
+ '@vue/compiler-dom@3.5.13':
+ resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==}
- '@vue/compiler-sfc@3.5.12':
- resolution: {integrity: sha512-2k973OGo2JuAa5+ZlekuQJtitI5CgLMOwgl94BzMCsKZCX/xiqzJYzapl4opFogKHqwJk34vfsaKpfEhd1k5nw==}
+ '@vue/compiler-sfc@3.5.13':
+ resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==}
- '@vue/compiler-ssr@3.5.12':
- resolution: {integrity: sha512-eLwc7v6bfGBSM7wZOGPmRavSWzNFF6+PdRhE+VFJhNCgHiF8AM7ccoqcv5kBXA2eWUfigD7byekvf/JsOfKvPA==}
+ '@vue/compiler-ssr@3.5.13':
+ resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==}
'@vue/compiler-vue2@2.7.16':
resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==}
@@ -561,74 +617,83 @@ packages:
'@vue/devtools-api@6.6.4':
resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==}
- '@vue/eslint-config-prettier@10.1.0':
- resolution: {integrity: sha512-J6wV91y2pXc0Phha01k0WOHBTPsoSTf4xlmMjoKaeSxBpAdsgTppGF5RZRdOHM7OA74zAXD+VLANrtYXpiPKkQ==}
+ '@vue/devtools-api@7.7.2':
+ resolution: {integrity: sha512-1syn558KhyN+chO5SjlZIwJ8bV/bQ1nOVTG66t2RbG66ZGekyiYNmRO7X9BJCXQqPsFHlnksqvPhce2qpzxFnA==}
+
+ '@vue/devtools-kit@7.7.2':
+ resolution: {integrity: sha512-CY0I1JH3Z8PECbn6k3TqM1Bk9ASWxeMtTCvZr7vb+CHi+X/QwQm5F1/fPagraamKMAHVfuuCbdcnNg1A4CYVWQ==}
+
+ '@vue/devtools-shared@7.7.2':
+ resolution: {integrity: sha512-uBFxnp8gwW2vD6FrJB8JZLUzVb6PNRG0B0jBnHsOH8uKyva2qINY8PTF5Te4QlTbMDqU5K6qtJDr6cNsKWhbOA==}
+
+ '@vue/eslint-config-prettier@10.2.0':
+ resolution: {integrity: sha512-GL3YBLwv/+b86yHcNNfPJxOTtVFJ4Mbc9UU3zR+KVoG7SwGTjPT+32fXamscNumElhcpXW3mT0DgzS9w32S7Bw==}
peerDependencies:
eslint: '>= 8.21.0'
prettier: '>= 3.0.0'
- '@vue/eslint-config-typescript@14.1.3':
- resolution: {integrity: sha512-L4NUJQz/0We2QYtrNwRAGRy4KfpOagl5V3MpZZ+rQ51a+bKjlKYYrugi7lp7PIX8LolRgu06ZwDoswnSGWnAmA==}
+ '@vue/eslint-config-typescript@14.5.0':
+ resolution: {integrity: sha512-5oPOyuwkw++AP5gHDh5YFmST50dPfWOcm3/W7Nbh42IK5O3H74ytWAw0TrCRTaBoD/02khnWXuZf1Bz1xflavQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^9.10.0
- eslint-plugin-vue: ^9.28.0
+ eslint-plugin-vue: ^9.28.0 || ^10.0.0
typescript: '>=4.8.4'
peerDependenciesMeta:
typescript:
optional: true
- '@vue/language-core@2.1.10':
- resolution: {integrity: sha512-DAI289d0K3AB5TUG3xDp9OuQ71CnrujQwJrQnfuZDwo6eGNf0UoRlPuaVNO+Zrn65PC3j0oB2i7mNmVPggeGeQ==}
+ '@vue/language-core@2.2.8':
+ resolution: {integrity: sha512-rrzB0wPGBvcwaSNRriVWdNAbHQWSf0NlGqgKHK5mEkXpefjUlVRP62u03KvwZpvKVjRnBIQ/Lwre+Mx9N6juUQ==}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
- '@vue/reactivity@3.5.12':
- resolution: {integrity: sha512-UzaN3Da7xnJXdz4Okb/BGbAaomRHc3RdoWqTzlvd9+WBR5m3J39J1fGcHes7U3za0ruYn/iYy/a1euhMEHvTAg==}
+ '@vue/reactivity@3.5.13':
+ resolution: {integrity: sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==}
- '@vue/runtime-core@3.5.12':
- resolution: {integrity: sha512-hrMUYV6tpocr3TL3Ad8DqxOdpDe4zuQY4HPY3X/VRh+L2myQO8MFXPAMarIOSGNu0bFAjh1yBkMPXZBqCk62Uw==}
+ '@vue/runtime-core@3.5.13':
+ resolution: {integrity: sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==}
- '@vue/runtime-dom@3.5.12':
- resolution: {integrity: sha512-q8VFxR9A2MRfBr6/55Q3umyoN7ya836FzRXajPB6/Vvuv0zOPL+qltd9rIMzG/DbRLAIlREmnLsplEF/kotXKA==}
+ '@vue/runtime-dom@3.5.13':
+ resolution: {integrity: sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==}
- '@vue/server-renderer@3.5.12':
- resolution: {integrity: sha512-I3QoeDDeEPZm8yR28JtY+rk880Oqmj43hreIBVTicisFTx/Dl7JpG72g/X7YF8hnQD3IFhkky5i2bPonwrTVPg==}
+ '@vue/server-renderer@3.5.13':
+ resolution: {integrity: sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==}
peerDependencies:
- vue: 3.5.12
+ vue: 3.5.13
- '@vue/shared@3.5.12':
- resolution: {integrity: sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==}
+ '@vue/shared@3.5.13':
+ resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==}
- '@vue/tsconfig@0.5.1':
- resolution: {integrity: sha512-VcZK7MvpjuTPx2w6blwnwZAu5/LgBUtejFOi3pPGQFXQN5Ela03FUtd2Qtg4yWGGissVL0dr6Ro1LfOFh+PCuQ==}
+ '@vue/tsconfig@0.7.0':
+ resolution: {integrity: sha512-ku2uNz5MaZ9IerPPUyOHzyjhXoX2kVJaVf7hL315DC17vS6IiZRmmCPfggNbU16QTvM80+uYYy3eYJB59WCtvg==}
+ peerDependencies:
+ typescript: 5.x
+ vue: ^3.4.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ vue:
+ optional: true
acorn-jsx@5.3.2:
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
- acorn@8.14.0:
- resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==}
+ acorn@8.14.1:
+ resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==}
engines: {node: '>=0.4.0'}
hasBin: true
ajv@6.12.6:
resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
- alien-signals@0.2.0:
- resolution: {integrity: sha512-StlonZhBBrsPPwrDjiPAiVTf/rolxffLxVPT60Qv/t88BZ81BvUVzHgGqEFvJ1ii8HXtm1+zU2Icr59tfWEcag==}
-
- ansi-regex@5.0.1:
- resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
- engines: {node: '>=8'}
-
- ansi-regex@6.1.0:
- resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
- engines: {node: '>=12'}
+ alien-signals@1.0.8:
+ resolution: {integrity: sha512-5Tnk+Q3E7b4NgTgxAyoggQHeEzUicxgiZhcFvBQhM4catV+wFDTmoHPectL7FL5YzkCjz4zhB/y00Q7n3vwVGQ==}
ansi-styles@3.2.1:
resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
@@ -638,37 +703,20 @@ packages:
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
engines: {node: '>=8'}
- ansi-styles@6.2.1:
- resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
- engines: {node: '>=12'}
-
- any-promise@1.3.0:
- resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
-
- anymatch@3.1.3:
- resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
- engines: {node: '>= 8'}
-
- arg@5.0.2:
- resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
-
argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
- array-buffer-byte-length@1.0.1:
- resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
+ array-buffer-byte-length@1.0.2:
+ resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==}
engines: {node: '>= 0.4'}
- arraybuffer.prototype.slice@1.0.3:
- resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
+ arraybuffer.prototype.slice@1.0.4:
+ resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==}
engines: {node: '>= 0.4'}
- autoprefixer@10.4.20:
- resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==}
- engines: {node: ^10 || ^12 || >=14}
- hasBin: true
- peerDependencies:
- postcss: ^8.1.0
+ async-function@1.0.0:
+ resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==}
+ engines: {node: '>= 0.4'}
available-typed-arrays@1.0.7:
resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
@@ -677,9 +725,8 @@ packages:
balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
- binary-extensions@2.3.0:
- resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
- engines: {node: '>=8'}
+ birpc@0.2.19:
+ resolution: {integrity: sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ==}
boolbase@1.0.0:
resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
@@ -694,26 +741,22 @@ packages:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
engines: {node: '>=8'}
- browserslist@4.24.2:
- resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
+ call-bind-apply-helpers@1.0.2:
+ resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
+ engines: {node: '>= 0.4'}
+
+ call-bind@1.0.8:
+ resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==}
+ engines: {node: '>= 0.4'}
- call-bind@1.0.7:
- resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
+ call-bound@1.0.4:
+ resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==}
engines: {node: '>= 0.4'}
callsites@3.1.0:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
engines: {node: '>=6'}
- camelcase-css@2.0.1:
- resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
- engines: {node: '>= 6'}
-
- caniuse-lite@1.0.30001676:
- resolution: {integrity: sha512-Qz6zwGCiPghQXGJvgQAem79esjitvJ+CxSbSQkW9H/UX5hg8XM88d4lp2W+MEQ81j+Hip58Il+jGVdazk1z9cw==}
-
chalk@2.4.2:
resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
engines: {node: '>=4'}
@@ -722,10 +765,6 @@ packages:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
engines: {node: '>=10'}
- chokidar@3.6.0:
- resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
- engines: {node: '>= 8.10.0'}
-
color-convert@1.9.3:
resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
@@ -739,19 +778,19 @@ packages:
color-name@1.1.4:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
- commander@4.1.1:
- resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
- engines: {node: '>= 6'}
-
concat-map@0.0.1:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+ copy-anything@3.0.5:
+ resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==}
+ engines: {node: '>=12.13'}
+
cross-spawn@6.0.6:
resolution: {integrity: sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==}
engines: {node: '>=4.8'}
- cross-spawn@7.0.3:
- resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
+ cross-spawn@7.0.6:
+ resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
engines: {node: '>= 8'}
cssesc@3.0.0:
@@ -810,23 +849,23 @@ packages:
resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==}
engines: {node: '>=12'}
- data-view-buffer@1.0.1:
- resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==}
+ data-view-buffer@1.0.2:
+ resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==}
engines: {node: '>= 0.4'}
- data-view-byte-length@1.0.1:
- resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==}
+ data-view-byte-length@1.0.2:
+ resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==}
engines: {node: '>= 0.4'}
- data-view-byte-offset@1.0.0:
- resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
+ data-view-byte-offset@1.0.1:
+ resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==}
engines: {node: '>= 0.4'}
de-indent@1.0.2:
resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==}
- debug@4.3.7:
- resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==}
+ debug@4.4.0:
+ resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
engines: {node: '>=6.0'}
peerDependencies:
supports-color: '*'
@@ -845,23 +884,17 @@ packages:
resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
engines: {node: '>= 0.4'}
- didyoumean@1.2.2:
- resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
-
- dlv@1.1.3:
- resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
-
- eastasianwidth@0.2.0:
- resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
-
- electron-to-chromium@1.5.50:
- resolution: {integrity: sha512-eMVObiUQ2LdgeO1F/ySTXsvqvxb6ZH2zPGaMYsWzRDdOddUa77tdmI0ltg+L16UpbWdhPmuF3wIQYyQq65WfZw==}
+ detect-libc@2.0.3:
+ resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==}
+ engines: {node: '>=8'}
- emoji-regex@8.0.0:
- resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+ dunder-proto@1.0.1:
+ resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
+ engines: {node: '>= 0.4'}
- emoji-regex@9.2.2:
- resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+ enhanced-resolve@5.18.1:
+ resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==}
+ engines: {node: '>=10.13.0'}
entities@4.5.0:
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
@@ -870,39 +903,35 @@ packages:
error-ex@1.3.2:
resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
- es-abstract@1.23.3:
- resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==}
+ es-abstract@1.23.9:
+ resolution: {integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==}
engines: {node: '>= 0.4'}
- es-define-property@1.0.0:
- resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
+ es-define-property@1.0.1:
+ resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
engines: {node: '>= 0.4'}
es-errors@1.3.0:
resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
engines: {node: '>= 0.4'}
- es-object-atoms@1.0.0:
- resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
+ es-object-atoms@1.1.1:
+ resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
engines: {node: '>= 0.4'}
- es-set-tostringtag@2.0.3:
- resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==}
+ es-set-tostringtag@2.1.0:
+ resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
engines: {node: '>= 0.4'}
- es-to-primitive@1.2.1:
- resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
+ es-to-primitive@1.3.0:
+ resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==}
engines: {node: '>= 0.4'}
- esbuild@0.21.5:
- resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
- engines: {node: '>=12'}
+ esbuild@0.25.1:
+ resolution: {integrity: sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==}
+ engines: {node: '>=18'}
hasBin: true
- escalade@3.2.0:
- resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
- engines: {node: '>=6'}
-
escape-string-regexp@1.0.5:
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
engines: {node: '>=0.8.0'}
@@ -911,19 +940,19 @@ packages:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
- eslint-config-prettier@9.1.0:
- resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==}
+ eslint-config-prettier@10.1.1:
+ resolution: {integrity: sha512-4EQQr6wXwS+ZJSzaR5ZCrYgLxqvUjdXctaEtBqHcbkW944B1NQyO4qpdHQbXBONfwxXdkAY81HH4+LUfrg+zPw==}
hasBin: true
peerDependencies:
eslint: '>=7.0.0'
- eslint-plugin-prettier@5.2.1:
- resolution: {integrity: sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==}
+ eslint-plugin-prettier@5.2.5:
+ resolution: {integrity: sha512-IKKP8R87pJyMl7WWamLgPkloB16dagPIdd2FjBDbyRYPKo93wS/NbCOPh6gH+ieNLC+XZrhJt/kWj0PS/DFdmg==}
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
'@types/eslint': '>=8.0.0'
eslint: '>=8.0.0'
- eslint-config-prettier: '*'
+ eslint-config-prettier: '>= 7.0.0 <10.0.0 || >=10.1.0'
prettier: '>=3.0.0'
peerDependenciesMeta:
'@types/eslint':
@@ -931,18 +960,15 @@ packages:
eslint-config-prettier:
optional: true
- eslint-plugin-vue@9.30.0:
- resolution: {integrity: sha512-CyqlRgShvljFkOeYK8wN5frh/OGTvkj1S7wlr2Q2pUvwq+X5VYiLd6ZjujpgSgLnys2W8qrBLkXQ41SUYaoPIQ==}
- engines: {node: ^14.17.0 || >=16.0.0}
+ eslint-plugin-vue@10.0.0:
+ resolution: {integrity: sha512-XKckedtajqwmaX6u1VnECmZ6xJt+YvlmMzBPZd+/sI3ub2lpYZyFnsyWo7c3nMOQKJQudeyk1lw/JxdgeKT64w==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.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}
+ eslint: ^8.57.0 || ^9.0.0
+ vue-eslint-parser: ^10.0.0
- eslint-scope@8.2.0:
- resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==}
+ eslint-scope@8.3.0:
+ resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
eslint-visitor-keys@3.4.3:
@@ -953,8 +979,8 @@ packages:
resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- eslint@9.14.0:
- resolution: {integrity: sha512-c2FHsVBr87lnUtjP4Yhvk4yEhKrQavGafRA/Se1ouse8PfbfC/Qh9Mxa00yWsZRlqeUB9raXip0aiiUZkgnr9g==}
+ eslint@9.23.0:
+ resolution: {integrity: sha512-jV7AbNoFPAY1EkFYpLq5bslU9NLNO8xnEeQXwErNibVryjk67wHVmddTBilc5srIttJDBrB0eMHKZBFbSIABCw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true
peerDependencies:
@@ -967,10 +993,6 @@ packages:
resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- espree@9.6.1:
- resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
esquery@1.6.0:
resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
engines: {node: '>=0.10'}
@@ -996,8 +1018,8 @@ packages:
fast-diff@1.3.0:
resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==}
- fast-glob@3.3.2:
- resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
+ fast-glob@3.3.3:
+ resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
engines: {node: '>=8.6.0'}
fast-json-stable-stringify@2.1.0:
@@ -1006,8 +1028,8 @@ packages:
fast-levenshtein@2.0.6:
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
- fastq@1.17.1:
- resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
+ fastq@1.19.1:
+ resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==}
file-entry-cache@8.0.0:
resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
@@ -1025,18 +1047,12 @@ packages:
resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
engines: {node: '>=16'}
- flatted@3.3.1:
- resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
+ flatted@3.3.3:
+ resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
- for-each@0.3.3:
- resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
-
- foreground-child@3.3.0:
- resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==}
- engines: {node: '>=14'}
-
- fraction.js@4.3.7:
- resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
+ for-each@0.3.5:
+ resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==}
+ engines: {node: '>= 0.4'}
fsevents@2.3.3:
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
@@ -1046,19 +1062,23 @@ packages:
function-bind@1.1.2:
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
- function.prototype.name@1.1.6:
- resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
+ function.prototype.name@1.1.8:
+ resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==}
engines: {node: '>= 0.4'}
functions-have-names@1.2.3:
resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
- get-intrinsic@1.2.4:
- resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
+ get-intrinsic@1.3.0:
+ resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
+ engines: {node: '>= 0.4'}
+
+ get-proto@1.0.1:
+ resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
engines: {node: '>= 0.4'}
- get-symbol-description@1.0.2:
- resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
+ get-symbol-description@1.1.0:
+ resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==}
engines: {node: '>= 0.4'}
glob-parent@5.1.2:
@@ -1069,14 +1089,6 @@ packages:
resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
engines: {node: '>=10.13.0'}
- glob@10.4.5:
- resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
- hasBin: true
-
- globals@13.24.0:
- resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
- engines: {node: '>=8'}
-
globals@14.0.0:
resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
engines: {node: '>=18'}
@@ -1085,8 +1097,9 @@ packages:
resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
engines: {node: '>= 0.4'}
- gopd@1.0.1:
- resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
+ gopd@1.2.0:
+ resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
+ engines: {node: '>= 0.4'}
graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
@@ -1094,8 +1107,9 @@ packages:
graphemer@1.4.0:
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
- has-bigints@1.0.2:
- resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
+ has-bigints@1.1.0:
+ resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==}
+ engines: {node: '>= 0.4'}
has-flag@3.0.0:
resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
@@ -1108,12 +1122,12 @@ packages:
has-property-descriptors@1.0.2:
resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
- has-proto@1.0.3:
- resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
+ has-proto@1.2.0:
+ resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==}
engines: {node: '>= 0.4'}
- has-symbols@1.0.3:
- resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
+ has-symbols@1.1.0:
+ resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
engines: {node: '>= 0.4'}
has-tostringtag@1.0.2:
@@ -1128,6 +1142,9 @@ packages:
resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
hasBin: true
+ hookable@5.5.3:
+ resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
+
hosted-git-info@2.8.9:
resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
@@ -1135,102 +1152,124 @@ packages:
resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
engines: {node: '>= 4'}
- import-fresh@3.3.0:
- resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
+ import-fresh@3.3.1:
+ resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
engines: {node: '>=6'}
imurmurhash@0.1.4:
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
engines: {node: '>=0.8.19'}
- internal-slot@1.0.7:
- resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
+ internal-slot@1.1.0:
+ resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
engines: {node: '>= 0.4'}
internmap@2.0.3:
resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==}
engines: {node: '>=12'}
- is-array-buffer@3.0.4:
- resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
+ is-array-buffer@3.0.5:
+ resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==}
engines: {node: '>= 0.4'}
is-arrayish@0.2.1:
resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
- is-bigint@1.0.4:
- resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
+ is-async-function@2.1.1:
+ resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==}
+ engines: {node: '>= 0.4'}
- is-binary-path@2.1.0:
- resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
- engines: {node: '>=8'}
+ is-bigint@1.1.0:
+ resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==}
+ engines: {node: '>= 0.4'}
- is-boolean-object@1.1.2:
- resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
+ is-boolean-object@1.2.2:
+ resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==}
engines: {node: '>= 0.4'}
is-callable@1.2.7:
resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
engines: {node: '>= 0.4'}
- is-core-module@2.15.1:
- resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==}
+ is-core-module@2.16.1:
+ resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
engines: {node: '>= 0.4'}
- is-data-view@1.0.1:
- resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==}
+ is-data-view@1.0.2:
+ resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==}
engines: {node: '>= 0.4'}
- is-date-object@1.0.5:
- resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
+ is-date-object@1.1.0:
+ resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==}
engines: {node: '>= 0.4'}
is-extglob@2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
engines: {node: '>=0.10.0'}
- is-fullwidth-code-point@3.0.0:
- resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
- engines: {node: '>=8'}
+ is-finalizationregistry@1.1.1:
+ resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==}
+ engines: {node: '>= 0.4'}
+
+ is-generator-function@1.1.0:
+ resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==}
+ engines: {node: '>= 0.4'}
is-glob@4.0.3:
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
engines: {node: '>=0.10.0'}
- is-negative-zero@2.0.3:
- resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
+ is-map@2.0.3:
+ resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
engines: {node: '>= 0.4'}
- is-number-object@1.0.7:
- resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
+ is-number-object@1.1.1:
+ resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==}
engines: {node: '>= 0.4'}
is-number@7.0.0:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'}
- is-regex@1.1.4:
- resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
+ is-regex@1.2.1:
+ resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==}
engines: {node: '>= 0.4'}
- is-shared-array-buffer@1.0.3:
- resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==}
+ is-set@2.0.3:
+ resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==}
engines: {node: '>= 0.4'}
- is-string@1.0.7:
- resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
+ is-shared-array-buffer@1.0.4:
+ resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==}
engines: {node: '>= 0.4'}
- is-symbol@1.0.4:
- resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
+ is-string@1.1.1:
+ resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==}
engines: {node: '>= 0.4'}
- is-typed-array@1.1.13:
- resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
+ is-symbol@1.1.1:
+ resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==}
engines: {node: '>= 0.4'}
- is-weakref@1.0.2:
- resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
+ is-typed-array@1.1.15:
+ resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==}
+ engines: {node: '>= 0.4'}
+
+ is-weakmap@2.0.2:
+ resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==}
+ engines: {node: '>= 0.4'}
+
+ is-weakref@1.1.1:
+ resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==}
+ engines: {node: '>= 0.4'}
+
+ is-weakset@2.0.4:
+ resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==}
+ engines: {node: '>= 0.4'}
+
+ is-what@4.1.16:
+ resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==}
+ engines: {node: '>=12.13'}
isarray@2.0.5:
resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
@@ -1238,11 +1277,8 @@ packages:
isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
- jackspeak@3.4.3:
- resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
-
- jiti@1.21.6:
- resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==}
+ jiti@2.4.2:
+ resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==}
hasBin: true
js-yaml@4.1.0:
@@ -1268,16 +1304,69 @@ packages:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'}
- lilconfig@2.1.0:
- resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
- engines: {node: '>=10'}
+ lightningcss-darwin-arm64@1.29.2:
+ resolution: {integrity: sha512-cK/eMabSViKn/PG8U/a7aCorpeKLMlK0bQeNHmdb7qUnBkNPnL+oV5DjJUo0kqWsJUapZsM4jCfYItbqBDvlcA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [darwin]
- lilconfig@3.1.2:
- resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==}
- engines: {node: '>=14'}
+ lightningcss-darwin-x64@1.29.2:
+ resolution: {integrity: sha512-j5qYxamyQw4kDXX5hnnCKMf3mLlHvG44f24Qyi2965/Ycz829MYqjrVg2H8BidybHBp9kom4D7DR5VqCKDXS0w==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [darwin]
- lines-and-columns@1.2.4:
- resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+ lightningcss-freebsd-x64@1.29.2:
+ resolution: {integrity: sha512-wDk7M2tM78Ii8ek9YjnY8MjV5f5JN2qNVO+/0BAGZRvXKtQrBC4/cn4ssQIpKIPP44YXw6gFdpUF+Ps+RGsCwg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [freebsd]
+
+ lightningcss-linux-arm-gnueabihf@1.29.2:
+ resolution: {integrity: sha512-IRUrOrAF2Z+KExdExe3Rz7NSTuuJ2HvCGlMKoquK5pjvo2JY4Rybr+NrKnq0U0hZnx5AnGsuFHjGnNT14w26sg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm]
+ os: [linux]
+
+ lightningcss-linux-arm64-gnu@1.29.2:
+ resolution: {integrity: sha512-KKCpOlmhdjvUTX/mBuaKemp0oeDIBBLFiU5Fnqxh1/DZ4JPZi4evEH7TKoSBFOSOV3J7iEmmBaw/8dpiUvRKlQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
+ lightningcss-linux-arm64-musl@1.29.2:
+ resolution: {integrity: sha512-Q64eM1bPlOOUgxFmoPUefqzY1yV3ctFPE6d/Vt7WzLW4rKTv7MyYNky+FWxRpLkNASTnKQUaiMJ87zNODIrrKQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
+ lightningcss-linux-x64-gnu@1.29.2:
+ resolution: {integrity: sha512-0v6idDCPG6epLXtBH/RPkHvYx74CVziHo6TMYga8O2EiQApnUPZsbR9nFNrg2cgBzk1AYqEd95TlrsL7nYABQg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+
+ lightningcss-linux-x64-musl@1.29.2:
+ resolution: {integrity: sha512-rMpz2yawkgGT8RULc5S4WiZopVMOFWjiItBT7aSfDX4NQav6M44rhn5hjtkKzB+wMTRlLLqxkeYEtQ3dd9696w==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+
+ lightningcss-win32-arm64-msvc@1.29.2:
+ resolution: {integrity: sha512-nL7zRW6evGQqYVu/bKGK+zShyz8OVzsCotFgc7judbt6wnB2KbiKKJwBE4SGoDBQ1O94RjW4asrCjQL4i8Fhbw==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [win32]
+
+ lightningcss-win32-x64-msvc@1.29.2:
+ resolution: {integrity: sha512-EdIUW3B2vLuHmv7urfzMI/h2fmlnOQBk1xlsDxkN1tCWKjNFjfLhGxYk8C8mzpSfr+A6jFFIi8fU6LbQGsRWjA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [win32]
+
+ lightningcss@1.29.2:
+ resolution: {integrity: sha512-6b6gd/RUXKaw5keVdSEtqFVdzWnU5jMxTUjA2bVcMNPLwSQ08Sv/UodBVtETLCn7k4S1Ibxwh7k68IwLZPgKaA==}
+ engines: {node: '>= 12.0.0'}
load-json-file@4.0.0:
resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==}
@@ -1293,15 +1382,16 @@ packages:
lodash@4.17.21:
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
- lru-cache@10.4.3:
- resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
-
- magic-string@0.30.12:
- resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==}
+ magic-string@0.30.17:
+ resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
mande@2.0.9:
resolution: {integrity: sha512-F5kH/uSnhQBP7D5C+Y1rGt2S4lZuPfgIs5Ui49jrkjxE3sSAHwCE6r3hNo5gqihR5pZ1rGnjO7Oqnu2Lr1uG7g==}
+ math-intrinsics@1.1.0:
+ resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
+ engines: {node: '>= 0.4'}
+
memorystream@0.3.1:
resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==}
engines: {node: '>= 0.10.0'}
@@ -1321,9 +1411,8 @@ packages:
resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
engines: {node: '>=16 || 14 >=14.17'}
- minipass@7.1.2:
- resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
- engines: {node: '>=16 || 14 >=14.17'}
+ mitt@3.0.1:
+ resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
@@ -1331,11 +1420,8 @@ packages:
muggle-string@0.4.1:
resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==}
- mz@2.7.0:
- resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
-
- nanoid@3.3.8:
- resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==}
+ nanoid@3.3.11:
+ resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
@@ -1345,20 +1431,9 @@ packages:
nice-try@1.0.5:
resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
- node-releases@2.0.18:
- resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==}
-
normalize-package-data@2.5.0:
resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
- normalize-path@3.0.0:
- resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
- engines: {node: '>=0.10.0'}
-
- normalize-range@0.1.2:
- resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
- engines: {node: '>=0.10.0'}
-
npm-run-all@4.1.5:
resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==}
engines: {node: '>= 4'}
@@ -1367,30 +1442,26 @@ packages:
nth-check@2.1.1:
resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
- object-assign@4.1.1:
- resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
- engines: {node: '>=0.10.0'}
-
- object-hash@3.0.0:
- resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
- engines: {node: '>= 6'}
-
- object-inspect@1.13.2:
- resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==}
+ object-inspect@1.13.4:
+ resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==}
engines: {node: '>= 0.4'}
object-keys@1.1.1:
resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
engines: {node: '>= 0.4'}
- object.assign@4.1.5:
- resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
+ object.assign@4.1.7:
+ resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==}
engines: {node: '>= 0.4'}
optionator@0.9.4:
resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
engines: {node: '>= 0.8.0'}
+ own-keys@1.0.1:
+ resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==}
+ engines: {node: '>= 0.4'}
+
p-limit@3.1.0:
resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
engines: {node: '>=10'}
@@ -1399,9 +1470,6 @@ packages:
resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
engines: {node: '>=10'}
- package-json-from-dist@1.0.1:
- resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
-
parent-module@1.0.1:
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
engines: {node: '>=6'}
@@ -1428,14 +1496,13 @@ packages:
path-parse@1.0.7:
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
- path-scurry@1.11.1:
- resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
- engines: {node: '>=16 || 14 >=14.18'}
-
path-type@3.0.0:
resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==}
engines: {node: '>=4'}
+ perfect-debounce@1.0.0:
+ resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==}
+
picocolors@1.1.1:
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
@@ -1448,73 +1515,29 @@ packages:
engines: {node: '>=0.10'}
hasBin: true
- pify@2.3.0:
- resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
- engines: {node: '>=0.10.0'}
-
pify@3.0.0:
resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==}
engines: {node: '>=4'}
- pinia@2.2.5:
- resolution: {integrity: sha512-T4PEQ4uFv2KIRC8A1Y3k1ceQGTDtxtd7nngYGu1IJUUSpuQoYfGq7w7rOc+f5YN1vx3mEs2NjjtN2IFbNS7jqA==}
+ pinia@3.0.1:
+ resolution: {integrity: sha512-WXglsDzztOTH6IfcJ99ltYZin2mY8XZCXujkYWVIJlBjqsP6ST7zw+Aarh63E1cDVYeyUcPCxPHzJpEOmzB6Wg==}
peerDependencies:
- '@vue/composition-api': ^1.4.0
typescript: '>=4.4.4'
- vue: ^2.6.14 || ^3.5.11
+ vue: ^2.7.0 || ^3.5.11
peerDependenciesMeta:
- '@vue/composition-api':
- optional: true
typescript:
optional: true
- pirates@4.0.6:
- resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
- engines: {node: '>= 6'}
-
- possible-typed-array-names@1.0.0:
- resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
+ possible-typed-array-names@1.1.0:
+ resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
engines: {node: '>= 0.4'}
- postcss-import@15.1.0:
- resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- postcss: ^8.0.0
-
- postcss-js@4.0.1:
- resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
- engines: {node: ^12 || ^14 || >= 16}
- peerDependencies:
- postcss: ^8.4.21
-
- postcss-load-config@4.0.2:
- resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
- engines: {node: '>= 14'}
- peerDependencies:
- postcss: '>=8.0.9'
- ts-node: '>=9.0.0'
- peerDependenciesMeta:
- postcss:
- optional: true
- ts-node:
- optional: true
-
- postcss-nested@6.2.0:
- resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==}
- engines: {node: '>=12.0'}
- peerDependencies:
- postcss: ^8.2.14
-
postcss-selector-parser@6.1.2:
resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
engines: {node: '>=4'}
- postcss-value-parser@4.2.0:
- resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
-
- postcss@8.4.47:
- resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==}
+ postcss@8.5.3:
+ resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==}
engines: {node: ^10 || ^12 || >=14}
prelude-ls@1.2.1:
@@ -1525,8 +1548,8 @@ packages:
resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==}
engines: {node: '>=6.0.0'}
- prettier@3.3.3:
- resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==}
+ prettier@3.5.3:
+ resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==}
engines: {node: '>=14'}
hasBin: true
@@ -1540,55 +1563,60 @@ packages:
ramda@0.28.0:
resolution: {integrity: sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==}
- read-cache@1.0.0:
- resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
-
read-pkg@3.0.0:
resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==}
engines: {node: '>=4'}
- readdirp@3.6.0:
- resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
- engines: {node: '>=8.10.0'}
+ reflect.getprototypeof@1.0.10:
+ resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==}
+ engines: {node: '>= 0.4'}
- regexp.prototype.flags@1.5.3:
- resolution: {integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==}
+ regexp.prototype.flags@1.5.4:
+ resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==}
engines: {node: '>= 0.4'}
resolve-from@4.0.0:
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
engines: {node: '>=4'}
- resolve@1.22.8:
- resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
+ resolve@1.22.10:
+ resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
+ engines: {node: '>= 0.4'}
hasBin: true
- reusify@1.0.4:
- resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
+ reusify@1.1.0:
+ resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
- rollup@4.31.0:
- resolution: {integrity: sha512-9cCE8P4rZLx9+PjoyqHLs31V9a9Vpvfo4qNcs6JCiGWYhw2gijSetFbH6SSy1whnkgcefnUwr8sad7tgqsGvnw==}
+ rfdc@1.4.1:
+ resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
+
+ rollup@4.37.0:
+ resolution: {integrity: sha512-iAtQy/L4QFU+rTJ1YUjXqJOJzuwEghqWzCEYD2FEghT7Gsy1VdABntrO4CLopA5IkflTyqNiLNwPcOJ3S7UKLg==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
run-parallel@1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
- safe-array-concat@1.1.2:
- resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==}
+ safe-array-concat@1.1.3:
+ resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==}
engines: {node: '>=0.4'}
- safe-regex-test@1.0.3:
- resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==}
+ safe-push-apply@1.0.0:
+ resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==}
+ engines: {node: '>= 0.4'}
+
+ safe-regex-test@1.1.0:
+ resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==}
engines: {node: '>= 0.4'}
semver@5.7.2:
resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
hasBin: true
- semver@7.6.3:
- resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
+ semver@7.7.1:
+ resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==}
engines: {node: '>=10'}
hasBin: true
@@ -1600,6 +1628,10 @@ packages:
resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
engines: {node: '>= 0.4'}
+ set-proto@1.0.0:
+ resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==}
+ engines: {node: '>= 0.4'}
+
shebang-command@1.2.0:
resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==}
engines: {node: '>=0.10.0'}
@@ -1616,16 +1648,25 @@ packages:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
- shell-quote@1.8.1:
- resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==}
+ shell-quote@1.8.2:
+ resolution: {integrity: sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==}
+ engines: {node: '>= 0.4'}
- side-channel@1.0.6:
- resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
+ side-channel-list@1.0.0:
+ resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
engines: {node: '>= 0.4'}
- signal-exit@4.1.0:
- resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
- engines: {node: '>=14'}
+ side-channel-map@1.0.1:
+ resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==}
+ engines: {node: '>= 0.4'}
+
+ side-channel-weakmap@1.0.2:
+ resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==}
+ engines: {node: '>= 0.4'}
+
+ side-channel@1.1.0:
+ resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==}
+ engines: {node: '>= 0.4'}
sortablejs@1.15.0:
resolution: {integrity: sha512-bv9qgVMjUMf89wAvM6AxVvS/4MX3sPeN0+agqShejLU5z5GX4C75ow1O2e5k4L6XItUyAK3gH6AxSbXrOM5e8w==}
@@ -1643,40 +1684,29 @@ packages:
spdx-expression-parse@3.0.1:
resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
- spdx-license-ids@3.0.20:
- resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==}
+ spdx-license-ids@3.0.21:
+ resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==}
- string-width@4.2.3:
- resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
- engines: {node: '>=8'}
-
- string-width@5.1.2:
- resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
- engines: {node: '>=12'}
+ speakingurl@14.0.1:
+ resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==}
+ engines: {node: '>=0.10.0'}
string.prototype.padend@3.1.6:
resolution: {integrity: sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==}
engines: {node: '>= 0.4'}
- string.prototype.trim@1.2.9:
- resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==}
+ string.prototype.trim@1.2.10:
+ resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==}
engines: {node: '>= 0.4'}
- string.prototype.trimend@1.0.8:
- resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==}
+ string.prototype.trimend@1.0.9:
+ resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==}
+ engines: {node: '>= 0.4'}
string.prototype.trimstart@1.0.8:
resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
engines: {node: '>= 0.4'}
- strip-ansi@6.0.1:
- resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
- engines: {node: '>=8'}
-
- strip-ansi@7.1.0:
- resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
- engines: {node: '>=12'}
-
strip-bom@3.0.0:
resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
engines: {node: '>=4'}
@@ -1685,10 +1715,9 @@ packages:
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
engines: {node: '>=8'}
- sucrase@3.35.0:
- resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
- engines: {node: '>=16 || 14 >=14.17'}
- hasBin: true
+ superjson@2.2.2:
+ resolution: {integrity: sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==}
+ engines: {node: '>=16'}
supports-color@5.5.0:
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
@@ -1702,37 +1731,26 @@ packages:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
- synckit@0.9.2:
- resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==}
+ synckit@0.10.3:
+ resolution: {integrity: sha512-R1urvuyiTaWfeCggqEvpDJwAlDVdsT9NM+IP//Tk2x7qHCkSvBk/fwFgw/TLAHzZlrAnnazMcRw0ZD8HlYFTEQ==}
engines: {node: ^14.18.0 || >=16.0.0}
- tailwindcss@3.4.14:
- resolution: {integrity: sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==}
- engines: {node: '>=14.0.0'}
- hasBin: true
-
- text-table@0.2.0:
- resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
+ tailwindcss@4.0.16:
+ resolution: {integrity: sha512-i/SbG7ThTIcLshcFJL+je7hCv9dPis4Xl4XNeel6iZNX42pp/BZ+la+SbZIPoYE+PN8zhKbnHblpQ/lhOWwIeQ==}
- thenify-all@1.6.0:
- resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
- engines: {node: '>=0.8'}
-
- thenify@3.3.1:
- resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
+ tapable@2.2.1:
+ resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
+ engines: {node: '>=6'}
to-regex-range@5.0.1:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
engines: {node: '>=8.0'}
- ts-api-utils@1.4.0:
- resolution: {integrity: sha512-032cPxaEKwM+GT3vA5JXNzIaizx388rhsSW79vGRNGXfRRAdEAn2mvk36PvK5HnOchyWZ7afLEXqYCvPCrzuzQ==}
- engines: {node: '>=16'}
+ ts-api-utils@2.1.0:
+ resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==}
+ engines: {node: '>=18.12'}
peerDependencies:
- typescript: '>=4.2.0'
-
- ts-interface-checker@0.1.13:
- resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
+ typescript: '>=4.8.4'
tslib@2.8.1:
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
@@ -1741,51 +1759,40 @@ packages:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
engines: {node: '>= 0.8.0'}
- type-fest@0.20.2:
- resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
- engines: {node: '>=10'}
-
- typed-array-buffer@1.0.2:
- resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==}
+ typed-array-buffer@1.0.3:
+ resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==}
engines: {node: '>= 0.4'}
- typed-array-byte-length@1.0.1:
- resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==}
+ typed-array-byte-length@1.0.3:
+ resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==}
engines: {node: '>= 0.4'}
- typed-array-byte-offset@1.0.2:
- resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==}
+ typed-array-byte-offset@1.0.4:
+ resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==}
engines: {node: '>= 0.4'}
- typed-array-length@1.0.6:
- resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==}
+ typed-array-length@1.0.7:
+ resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==}
engines: {node: '>= 0.4'}
- typescript-eslint@8.12.2:
- resolution: {integrity: sha512-UbuVUWSrHVR03q9CWx+JDHeO6B/Hr9p4U5lRH++5tq/EbFq1faYZe50ZSBePptgfIKLEti0aPQ3hFgnPVcd8ZQ==}
+ typescript-eslint@8.28.0:
+ resolution: {integrity: sha512-jfZtxJoHm59bvoCMYCe2BM0/baMswRhMmYhy+w6VfcyHrjxZ0OJe0tGasydCpIpA+A/WIJhTyZfb3EtwNC/kHQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <5.9.0'
- typescript@5.6.3:
- resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==}
+ typescript@5.8.2:
+ resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==}
engines: {node: '>=14.17'}
hasBin: true
- unbox-primitive@1.0.2:
- resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
-
- undici-types@6.19.8:
- resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
+ unbox-primitive@1.1.0:
+ resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==}
+ engines: {node: '>= 0.4'}
- update-browserslist-db@1.1.1:
- resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==}
- hasBin: true
- peerDependencies:
- browserslist: '>= 4.21.0'
+ undici-types@6.20.0:
+ resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
@@ -1796,22 +1803,27 @@ packages:
validate-npm-package-license@3.0.4:
resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
- vite@5.4.12:
- resolution: {integrity: sha512-KwUaKB27TvWwDJr1GjjWthLMATbGEbeWYZIbGZ5qFIsgPP3vWzLu4cVooqhm5/Z2SPDUMjyPVjTztm5tYKwQxA==}
- engines: {node: ^18.0.0 || >=20.0.0}
+ vite@6.2.3:
+ resolution: {integrity: sha512-IzwM54g4y9JA/xAeBPNaDXiBF8Jsgl3VBQ2YQ/wOY6fyW3xMdSoltIV3Bo59DErdqdE6RxUfv8W69DvUorE4Eg==}
+ engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
hasBin: true
peerDependencies:
- '@types/node': ^18.0.0 || >=20.0.0
+ '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
+ jiti: '>=1.21.0'
less: '*'
lightningcss: ^1.21.0
sass: '*'
sass-embedded: '*'
stylus: '*'
sugarss: '*'
- terser: ^5.4.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:
@@ -1826,20 +1838,13 @@ packages:
optional: true
terser:
optional: true
-
- vscode-uri@3.0.8:
- resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==}
-
- vue-demi@0.14.10:
- resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==}
- engines: {node: '>=12'}
- hasBin: true
- peerDependencies:
- '@vue/composition-api': ^1.0.0-rc.1
- vue: ^3.0.0-0 || ^2.6.0
- peerDependenciesMeta:
- '@vue/composition-api':
+ tsx:
optional: true
+ yaml:
+ optional: true
+
+ vscode-uri@3.1.0:
+ resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==}
vue-draggable-next@2.2.1:
resolution: {integrity: sha512-EAMS1IRHF0kZO0o5PMOinsQsXIqsrKT1hKmbICxG3UEtn7zLFkLxlAtajcCcUTisNvQ6TtCB5COjD9a1raNADw==}
@@ -1847,14 +1852,14 @@ packages:
sortablejs: ^1.14.0
vue: ^3.2.2
- vue-eslint-parser@9.4.3:
- resolution: {integrity: sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==}
- engines: {node: ^14.17.0 || >=16.0.0}
+ vue-eslint-parser@10.1.1:
+ resolution: {integrity: sha512-bh2Z/Au5slro9QJ3neFYLanZtb1jH+W2bKqGHXAoYD4vZgNG3KeotL7JpPv5xzY4UXUXJl7TrIsnzECH63kd3Q==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- eslint: '>=6.0.0'
+ eslint: ^8.57.0 || ^9.0.0
- vue-router@4.4.5:
- resolution: {integrity: sha512-4fKZygS8cH1yCyuabAXGUAsyi1b2/o/OKgu/RUb+znIYOxPRxdkytJEx+0wGcpBE1pX6vUgh5jwWOKRGvuA/7Q==}
+ vue-router@4.5.0:
+ resolution: {integrity: sha512-HDuk+PuH5monfNuY+ct49mNmkCRK4xJAV9Ts4z9UFc4rzdDnxQLyCMGGc8pKhZhHTVzfanpNwB/lwqevcBwI4w==}
peerDependencies:
vue: ^3.2.0
@@ -1863,8 +1868,8 @@ packages:
peerDependencies:
vue: ^3.0.2
- vue-tsc@2.1.10:
- resolution: {integrity: sha512-RBNSfaaRHcN5uqVqJSZh++Gy/YUzryuv9u1aFWhsammDJXNtUiJMNoJ747lZcQ68wUQFx6E73y4FY3D8E7FGMA==}
+ vue-tsc@2.2.8:
+ resolution: {integrity: sha512-jBYKBNFADTN+L+MdesNX/TB3XuDSyaWynKMDgR+yCSln0GQ9Tfb7JS2lr46s2LiFUT1WsmfWsSvIElyxzOPqcQ==}
hasBin: true
peerDependencies:
typescript: '>=5.0.0'
@@ -1875,19 +1880,28 @@ packages:
peerDependencies:
vue: '>=3.0.0'
- vue@3.5.12:
- resolution: {integrity: sha512-CLVZtXtn2ItBIi/zHZ0Sg1Xkb7+PU32bJJ8Bmy7ts3jxXTcbfsEfBivFYYWz1Hur+lalqGAh65Coin0r+HRUfg==}
+ vue@3.5.13:
+ resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
- which-boxed-primitive@1.0.2:
- resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
+ which-boxed-primitive@1.1.1:
+ resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==}
+ engines: {node: '>= 0.4'}
+
+ which-builtin-type@1.2.1:
+ resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==}
+ engines: {node: '>= 0.4'}
+
+ which-collection@1.0.2:
+ resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==}
+ engines: {node: '>= 0.4'}
- which-typed-array@1.1.15:
- resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
+ which-typed-array@1.1.19:
+ resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==}
engines: {node: '>= 0.4'}
which@1.3.1:
@@ -1903,150 +1917,146 @@ packages:
resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
engines: {node: '>=0.10.0'}
- wrap-ansi@7.0.0:
- resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
- engines: {node: '>=10'}
-
- wrap-ansi@8.1.0:
- resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
- engines: {node: '>=12'}
-
xml-name-validator@4.0.0:
resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
engines: {node: '>=12'}
- yaml@2.6.0:
- resolution: {integrity: sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==}
- engines: {node: '>= 14'}
- hasBin: true
-
yocto-queue@0.1.0:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
snapshots:
- '@alloc/quick-lru@5.2.0': {}
-
'@babel/helper-string-parser@7.25.9': {}
'@babel/helper-validator-identifier@7.25.9': {}
- '@babel/parser@7.26.2':
+ '@babel/parser@7.27.0':
dependencies:
- '@babel/types': 7.26.0
+ '@babel/types': 7.27.0
- '@babel/types@7.26.0':
+ '@babel/types@7.27.0':
dependencies:
'@babel/helper-string-parser': 7.25.9
'@babel/helper-validator-identifier': 7.25.9
- '@esbuild/aix-ppc64@0.21.5':
+ '@esbuild/aix-ppc64@0.25.1':
+ optional: true
+
+ '@esbuild/android-arm64@0.25.1':
+ optional: true
+
+ '@esbuild/android-arm@0.25.1':
optional: true
- '@esbuild/android-arm64@0.21.5':
+ '@esbuild/android-x64@0.25.1':
optional: true
- '@esbuild/android-arm@0.21.5':
+ '@esbuild/darwin-arm64@0.25.1':
optional: true
- '@esbuild/android-x64@0.21.5':
+ '@esbuild/darwin-x64@0.25.1':
optional: true
- '@esbuild/darwin-arm64@0.21.5':
+ '@esbuild/freebsd-arm64@0.25.1':
optional: true
- '@esbuild/darwin-x64@0.21.5':
+ '@esbuild/freebsd-x64@0.25.1':
optional: true
- '@esbuild/freebsd-arm64@0.21.5':
+ '@esbuild/linux-arm64@0.25.1':
optional: true
- '@esbuild/freebsd-x64@0.21.5':
+ '@esbuild/linux-arm@0.25.1':
optional: true
- '@esbuild/linux-arm64@0.21.5':
+ '@esbuild/linux-ia32@0.25.1':
optional: true
- '@esbuild/linux-arm@0.21.5':
+ '@esbuild/linux-loong64@0.25.1':
optional: true
- '@esbuild/linux-ia32@0.21.5':
+ '@esbuild/linux-mips64el@0.25.1':
optional: true
- '@esbuild/linux-loong64@0.21.5':
+ '@esbuild/linux-ppc64@0.25.1':
optional: true
- '@esbuild/linux-mips64el@0.21.5':
+ '@esbuild/linux-riscv64@0.25.1':
optional: true
- '@esbuild/linux-ppc64@0.21.5':
+ '@esbuild/linux-s390x@0.25.1':
optional: true
- '@esbuild/linux-riscv64@0.21.5':
+ '@esbuild/linux-x64@0.25.1':
optional: true
- '@esbuild/linux-s390x@0.21.5':
+ '@esbuild/netbsd-arm64@0.25.1':
optional: true
- '@esbuild/linux-x64@0.21.5':
+ '@esbuild/netbsd-x64@0.25.1':
optional: true
- '@esbuild/netbsd-x64@0.21.5':
+ '@esbuild/openbsd-arm64@0.25.1':
optional: true
- '@esbuild/openbsd-x64@0.21.5':
+ '@esbuild/openbsd-x64@0.25.1':
optional: true
- '@esbuild/sunos-x64@0.21.5':
+ '@esbuild/sunos-x64@0.25.1':
optional: true
- '@esbuild/win32-arm64@0.21.5':
+ '@esbuild/win32-arm64@0.25.1':
optional: true
- '@esbuild/win32-ia32@0.21.5':
+ '@esbuild/win32-ia32@0.25.1':
optional: true
- '@esbuild/win32-x64@0.21.5':
+ '@esbuild/win32-x64@0.25.1':
optional: true
- '@eslint-community/eslint-utils@4.4.1(eslint@9.14.0(jiti@1.21.6))':
+ '@eslint-community/eslint-utils@4.5.1(eslint@9.23.0(jiti@2.4.2))':
dependencies:
- eslint: 9.14.0(jiti@1.21.6)
+ eslint: 9.23.0(jiti@2.4.2)
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.12.1': {}
- '@eslint/config-array@0.18.0':
+ '@eslint/config-array@0.19.2':
dependencies:
- '@eslint/object-schema': 2.1.4
- debug: 4.3.7
+ '@eslint/object-schema': 2.1.6
+ debug: 4.4.0
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
- '@eslint/core@0.7.0': {}
+ '@eslint/config-helpers@0.2.0': {}
+
+ '@eslint/core@0.12.0':
+ dependencies:
+ '@types/json-schema': 7.0.15
- '@eslint/eslintrc@3.1.0':
+ '@eslint/eslintrc@3.3.1':
dependencies:
ajv: 6.12.6
- debug: 4.3.7
+ debug: 4.4.0
espree: 10.3.0
globals: 14.0.0
ignore: 5.3.2
- import-fresh: 3.3.0
+ import-fresh: 3.3.1
js-yaml: 4.1.0
minimatch: 3.1.2
strip-json-comments: 3.1.1
transitivePeerDependencies:
- supports-color
- '@eslint/js@9.14.0': {}
+ '@eslint/js@9.23.0': {}
- '@eslint/object-schema@2.1.4': {}
+ '@eslint/object-schema@2.1.6': {}
- '@eslint/plugin-kit@0.2.3':
+ '@eslint/plugin-kit@0.2.7':
dependencies:
+ '@eslint/core': 0.12.0
levn: 0.4.1
'@humanfs/core@0.19.1': {}
@@ -2060,34 +2070,10 @@ snapshots:
'@humanwhocodes/retry@0.3.1': {}
- '@humanwhocodes/retry@0.4.0': {}
-
- '@isaacs/cliui@8.0.2':
- dependencies:
- string-width: 5.1.2
- string-width-cjs: string-width@4.2.3
- strip-ansi: 7.1.0
- strip-ansi-cjs: strip-ansi@6.0.1
- wrap-ansi: 8.1.0
- wrap-ansi-cjs: wrap-ansi@7.0.0
-
- '@jridgewell/gen-mapping@0.3.5':
- dependencies:
- '@jridgewell/set-array': 1.2.1
- '@jridgewell/sourcemap-codec': 1.5.0
- '@jridgewell/trace-mapping': 0.3.25
-
- '@jridgewell/resolve-uri@3.1.2': {}
-
- '@jridgewell/set-array@1.2.1': {}
+ '@humanwhocodes/retry@0.4.2': {}
'@jridgewell/sourcemap-codec@1.5.0': {}
- '@jridgewell/trace-mapping@0.3.25':
- dependencies:
- '@jridgewell/resolve-uri': 3.1.2
- '@jridgewell/sourcemap-codec': 1.5.0
-
'@nodelib/fs.scandir@2.1.5':
dependencies:
'@nodelib/fs.stat': 2.0.5
@@ -2098,221 +2084,278 @@ snapshots:
'@nodelib/fs.walk@1.2.8':
dependencies:
'@nodelib/fs.scandir': 2.1.5
- fastq: 1.17.1
+ fastq: 1.19.1
+
+ '@pkgr/core@0.2.0': {}
+
+ '@rollup/rollup-android-arm-eabi@4.37.0':
+ optional: true
+
+ '@rollup/rollup-android-arm64@4.37.0':
+ optional: true
+
+ '@rollup/rollup-darwin-arm64@4.37.0':
+ optional: true
+
+ '@rollup/rollup-darwin-x64@4.37.0':
+ optional: true
+
+ '@rollup/rollup-freebsd-arm64@4.37.0':
+ optional: true
+
+ '@rollup/rollup-freebsd-x64@4.37.0':
+ optional: true
+
+ '@rollup/rollup-linux-arm-gnueabihf@4.37.0':
+ optional: true
+
+ '@rollup/rollup-linux-arm-musleabihf@4.37.0':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-gnu@4.37.0':
+ optional: true
- '@pkgjs/parseargs@0.11.0':
+ '@rollup/rollup-linux-arm64-musl@4.37.0':
optional: true
- '@pkgr/core@0.1.1': {}
+ '@rollup/rollup-linux-loongarch64-gnu@4.37.0':
+ optional: true
- '@rollup/rollup-android-arm-eabi@4.31.0':
+ '@rollup/rollup-linux-powerpc64le-gnu@4.37.0':
optional: true
- '@rollup/rollup-android-arm64@4.31.0':
+ '@rollup/rollup-linux-riscv64-gnu@4.37.0':
optional: true
- '@rollup/rollup-darwin-arm64@4.31.0':
+ '@rollup/rollup-linux-riscv64-musl@4.37.0':
optional: true
- '@rollup/rollup-darwin-x64@4.31.0':
+ '@rollup/rollup-linux-s390x-gnu@4.37.0':
optional: true
- '@rollup/rollup-freebsd-arm64@4.31.0':
+ '@rollup/rollup-linux-x64-gnu@4.37.0':
optional: true
- '@rollup/rollup-freebsd-x64@4.31.0':
+ '@rollup/rollup-linux-x64-musl@4.37.0':
optional: true
- '@rollup/rollup-linux-arm-gnueabihf@4.31.0':
+ '@rollup/rollup-win32-arm64-msvc@4.37.0':
optional: true
- '@rollup/rollup-linux-arm-musleabihf@4.31.0':
+ '@rollup/rollup-win32-ia32-msvc@4.37.0':
optional: true
- '@rollup/rollup-linux-arm64-gnu@4.31.0':
+ '@rollup/rollup-win32-x64-msvc@4.37.0':
optional: true
- '@rollup/rollup-linux-arm64-musl@4.31.0':
+ '@tailwindcss/node@4.0.16':
+ dependencies:
+ enhanced-resolve: 5.18.1
+ jiti: 2.4.2
+ tailwindcss: 4.0.16
+
+ '@tailwindcss/oxide-android-arm64@4.0.16':
optional: true
- '@rollup/rollup-linux-loongarch64-gnu@4.31.0':
+ '@tailwindcss/oxide-darwin-arm64@4.0.16':
optional: true
- '@rollup/rollup-linux-powerpc64le-gnu@4.31.0':
+ '@tailwindcss/oxide-darwin-x64@4.0.16':
optional: true
- '@rollup/rollup-linux-riscv64-gnu@4.31.0':
+ '@tailwindcss/oxide-freebsd-x64@4.0.16':
optional: true
- '@rollup/rollup-linux-s390x-gnu@4.31.0':
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.16':
optional: true
- '@rollup/rollup-linux-x64-gnu@4.31.0':
+ '@tailwindcss/oxide-linux-arm64-gnu@4.0.16':
optional: true
- '@rollup/rollup-linux-x64-musl@4.31.0':
+ '@tailwindcss/oxide-linux-arm64-musl@4.0.16':
optional: true
- '@rollup/rollup-win32-arm64-msvc@4.31.0':
+ '@tailwindcss/oxide-linux-x64-gnu@4.0.16':
optional: true
- '@rollup/rollup-win32-ia32-msvc@4.31.0':
+ '@tailwindcss/oxide-linux-x64-musl@4.0.16':
optional: true
- '@rollup/rollup-win32-x64-msvc@4.31.0':
+ '@tailwindcss/oxide-win32-arm64-msvc@4.0.16':
optional: true
- '@rushstack/eslint-patch@1.10.4': {}
+ '@tailwindcss/oxide-win32-x64-msvc@4.0.16':
+ optional: true
- '@tsconfig/node22@22.0.0': {}
+ '@tailwindcss/oxide@4.0.16':
+ optionalDependencies:
+ '@tailwindcss/oxide-android-arm64': 4.0.16
+ '@tailwindcss/oxide-darwin-arm64': 4.0.16
+ '@tailwindcss/oxide-darwin-x64': 4.0.16
+ '@tailwindcss/oxide-freebsd-x64': 4.0.16
+ '@tailwindcss/oxide-linux-arm-gnueabihf': 4.0.16
+ '@tailwindcss/oxide-linux-arm64-gnu': 4.0.16
+ '@tailwindcss/oxide-linux-arm64-musl': 4.0.16
+ '@tailwindcss/oxide-linux-x64-gnu': 4.0.16
+ '@tailwindcss/oxide-linux-x64-musl': 4.0.16
+ '@tailwindcss/oxide-win32-arm64-msvc': 4.0.16
+ '@tailwindcss/oxide-win32-x64-msvc': 4.0.16
+
+ '@tailwindcss/vite@4.0.16(vite@6.2.3(@types/node@22.13.13)(jiti@2.4.2)(lightningcss@1.29.2))':
+ dependencies:
+ '@tailwindcss/node': 4.0.16
+ '@tailwindcss/oxide': 4.0.16
+ lightningcss: 1.29.2
+ tailwindcss: 4.0.16
+ vite: 6.2.3(@types/node@22.13.13)(jiti@2.4.2)(lightningcss@1.29.2)
+
+ '@tsconfig/node22@22.0.1': {}
'@types/d3-axis@3.0.6':
dependencies:
'@types/d3-selection': 3.0.11
- '@types/d3-path@3.1.0': {}
+ '@types/d3-path@3.1.1': {}
'@types/d3-selection@3.0.11': {}
- '@types/d3-shape@3.1.6':
+ '@types/d3-shape@3.1.7':
dependencies:
- '@types/d3-path': 3.1.0
+ '@types/d3-path': 3.1.1
'@types/estree@1.0.6': {}
+ '@types/estree@1.0.7': {}
+
'@types/json-schema@7.0.15': {}
- '@types/node@22.8.6':
+ '@types/node@22.13.13':
dependencies:
- undici-types: 6.19.8
+ undici-types: 6.20.0
- '@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3)':
+ '@typescript-eslint/eslint-plugin@8.28.0(@typescript-eslint/parser@8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)':
dependencies:
'@eslint-community/regexpp': 4.12.1
- '@typescript-eslint/parser': 8.12.2(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3)
- '@typescript-eslint/scope-manager': 8.12.2
- '@typescript-eslint/type-utils': 8.12.2(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3)
- '@typescript-eslint/utils': 8.12.2(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3)
- '@typescript-eslint/visitor-keys': 8.12.2
- eslint: 9.14.0(jiti@1.21.6)
+ '@typescript-eslint/parser': 8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)
+ '@typescript-eslint/scope-manager': 8.28.0
+ '@typescript-eslint/type-utils': 8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)
+ '@typescript-eslint/utils': 8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)
+ '@typescript-eslint/visitor-keys': 8.28.0
+ eslint: 9.23.0(jiti@2.4.2)
graphemer: 1.4.0
ignore: 5.3.2
natural-compare: 1.4.0
- ts-api-utils: 1.4.0(typescript@5.6.3)
- optionalDependencies:
- typescript: 5.6.3
+ ts-api-utils: 2.1.0(typescript@5.8.2)
+ typescript: 5.8.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.12.2(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3)':
+ '@typescript-eslint/parser@8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)':
dependencies:
- '@typescript-eslint/scope-manager': 8.12.2
- '@typescript-eslint/types': 8.12.2
- '@typescript-eslint/typescript-estree': 8.12.2(typescript@5.6.3)
- '@typescript-eslint/visitor-keys': 8.12.2
- debug: 4.3.7
- eslint: 9.14.0(jiti@1.21.6)
- optionalDependencies:
- typescript: 5.6.3
+ '@typescript-eslint/scope-manager': 8.28.0
+ '@typescript-eslint/types': 8.28.0
+ '@typescript-eslint/typescript-estree': 8.28.0(typescript@5.8.2)
+ '@typescript-eslint/visitor-keys': 8.28.0
+ debug: 4.4.0
+ eslint: 9.23.0(jiti@2.4.2)
+ typescript: 5.8.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/scope-manager@8.12.2':
+ '@typescript-eslint/scope-manager@8.28.0':
dependencies:
- '@typescript-eslint/types': 8.12.2
- '@typescript-eslint/visitor-keys': 8.12.2
+ '@typescript-eslint/types': 8.28.0
+ '@typescript-eslint/visitor-keys': 8.28.0
- '@typescript-eslint/type-utils@8.12.2(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3)':
+ '@typescript-eslint/type-utils@8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)':
dependencies:
- '@typescript-eslint/typescript-estree': 8.12.2(typescript@5.6.3)
- '@typescript-eslint/utils': 8.12.2(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3)
- debug: 4.3.7
- ts-api-utils: 1.4.0(typescript@5.6.3)
- optionalDependencies:
- typescript: 5.6.3
+ '@typescript-eslint/typescript-estree': 8.28.0(typescript@5.8.2)
+ '@typescript-eslint/utils': 8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)
+ debug: 4.4.0
+ eslint: 9.23.0(jiti@2.4.2)
+ ts-api-utils: 2.1.0(typescript@5.8.2)
+ typescript: 5.8.2
transitivePeerDependencies:
- - eslint
- supports-color
- '@typescript-eslint/types@8.12.2': {}
+ '@typescript-eslint/types@8.28.0': {}
- '@typescript-eslint/typescript-estree@8.12.2(typescript@5.6.3)':
+ '@typescript-eslint/typescript-estree@8.28.0(typescript@5.8.2)':
dependencies:
- '@typescript-eslint/types': 8.12.2
- '@typescript-eslint/visitor-keys': 8.12.2
- debug: 4.3.7
- fast-glob: 3.3.2
+ '@typescript-eslint/types': 8.28.0
+ '@typescript-eslint/visitor-keys': 8.28.0
+ debug: 4.4.0
+ fast-glob: 3.3.3
is-glob: 4.0.3
minimatch: 9.0.5
- semver: 7.6.3
- ts-api-utils: 1.4.0(typescript@5.6.3)
- optionalDependencies:
- typescript: 5.6.3
+ semver: 7.7.1
+ ts-api-utils: 2.1.0(typescript@5.8.2)
+ typescript: 5.8.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.12.2(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3)':
+ '@typescript-eslint/utils@8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)':
dependencies:
- '@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0(jiti@1.21.6))
- '@typescript-eslint/scope-manager': 8.12.2
- '@typescript-eslint/types': 8.12.2
- '@typescript-eslint/typescript-estree': 8.12.2(typescript@5.6.3)
- eslint: 9.14.0(jiti@1.21.6)
+ '@eslint-community/eslint-utils': 4.5.1(eslint@9.23.0(jiti@2.4.2))
+ '@typescript-eslint/scope-manager': 8.28.0
+ '@typescript-eslint/types': 8.28.0
+ '@typescript-eslint/typescript-estree': 8.28.0(typescript@5.8.2)
+ eslint: 9.23.0(jiti@2.4.2)
+ typescript: 5.8.2
transitivePeerDependencies:
- supports-color
- - typescript
- '@typescript-eslint/visitor-keys@8.12.2':
+ '@typescript-eslint/visitor-keys@8.28.0':
dependencies:
- '@typescript-eslint/types': 8.12.2
- eslint-visitor-keys: 3.4.3
+ '@typescript-eslint/types': 8.28.0
+ eslint-visitor-keys: 4.2.0
- '@vitejs/plugin-vue@5.1.4(vite@5.4.12(@types/node@22.8.6))(vue@3.5.12(typescript@5.6.3))':
+ '@vitejs/plugin-vue@5.2.3(vite@6.2.3(@types/node@22.13.13)(jiti@2.4.2)(lightningcss@1.29.2))(vue@3.5.13(typescript@5.8.2))':
dependencies:
- vite: 5.4.12(@types/node@22.8.6)
- vue: 3.5.12(typescript@5.6.3)
+ vite: 6.2.3(@types/node@22.13.13)(jiti@2.4.2)(lightningcss@1.29.2)
+ vue: 3.5.13(typescript@5.8.2)
- '@volar/language-core@2.4.8':
+ '@volar/language-core@2.4.12':
dependencies:
- '@volar/source-map': 2.4.8
+ '@volar/source-map': 2.4.12
- '@volar/source-map@2.4.8': {}
+ '@volar/source-map@2.4.12': {}
- '@volar/typescript@2.4.8':
+ '@volar/typescript@2.4.12':
dependencies:
- '@volar/language-core': 2.4.8
+ '@volar/language-core': 2.4.12
path-browserify: 1.0.1
- vscode-uri: 3.0.8
+ vscode-uri: 3.1.0
- '@vue/compiler-core@3.5.12':
+ '@vue/compiler-core@3.5.13':
dependencies:
- '@babel/parser': 7.26.2
- '@vue/shared': 3.5.12
+ '@babel/parser': 7.27.0
+ '@vue/shared': 3.5.13
entities: 4.5.0
estree-walker: 2.0.2
source-map-js: 1.2.1
- '@vue/compiler-dom@3.5.12':
+ '@vue/compiler-dom@3.5.13':
dependencies:
- '@vue/compiler-core': 3.5.12
- '@vue/shared': 3.5.12
+ '@vue/compiler-core': 3.5.13
+ '@vue/shared': 3.5.13
- '@vue/compiler-sfc@3.5.12':
+ '@vue/compiler-sfc@3.5.13':
dependencies:
- '@babel/parser': 7.26.2
- '@vue/compiler-core': 3.5.12
- '@vue/compiler-dom': 3.5.12
- '@vue/compiler-ssr': 3.5.12
- '@vue/shared': 3.5.12
+ '@babel/parser': 7.27.0
+ '@vue/compiler-core': 3.5.13
+ '@vue/compiler-dom': 3.5.13
+ '@vue/compiler-ssr': 3.5.13
+ '@vue/shared': 3.5.13
estree-walker: 2.0.2
- magic-string: 0.30.12
- postcss: 8.4.47
+ magic-string: 0.30.17
+ postcss: 8.5.3
source-map-js: 1.2.1
- '@vue/compiler-ssr@3.5.12':
+ '@vue/compiler-ssr@3.5.13':
dependencies:
- '@vue/compiler-dom': 3.5.12
- '@vue/shared': 3.5.12
+ '@vue/compiler-dom': 3.5.13
+ '@vue/shared': 3.5.13
'@vue/compiler-vue2@2.7.16':
dependencies:
@@ -2321,73 +2364,93 @@ snapshots:
'@vue/devtools-api@6.6.4': {}
- '@vue/eslint-config-prettier@10.1.0(eslint@9.14.0(jiti@1.21.6))(prettier@3.3.3)':
+ '@vue/devtools-api@7.7.2':
+ dependencies:
+ '@vue/devtools-kit': 7.7.2
+
+ '@vue/devtools-kit@7.7.2':
+ dependencies:
+ '@vue/devtools-shared': 7.7.2
+ birpc: 0.2.19
+ hookable: 5.5.3
+ mitt: 3.0.1
+ perfect-debounce: 1.0.0
+ speakingurl: 14.0.1
+ superjson: 2.2.2
+
+ '@vue/devtools-shared@7.7.2':
+ dependencies:
+ rfdc: 1.4.1
+
+ '@vue/eslint-config-prettier@10.2.0(eslint@9.23.0(jiti@2.4.2))(prettier@3.5.3)':
dependencies:
- eslint: 9.14.0(jiti@1.21.6)
- eslint-config-prettier: 9.1.0(eslint@9.14.0(jiti@1.21.6))
- eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0(eslint@9.14.0(jiti@1.21.6)))(eslint@9.14.0(jiti@1.21.6))(prettier@3.3.3)
- prettier: 3.3.3
+ eslint: 9.23.0(jiti@2.4.2)
+ eslint-config-prettier: 10.1.1(eslint@9.23.0(jiti@2.4.2))
+ eslint-plugin-prettier: 5.2.5(eslint-config-prettier@10.1.1(eslint@9.23.0(jiti@2.4.2)))(eslint@9.23.0(jiti@2.4.2))(prettier@3.5.3)
+ prettier: 3.5.3
transitivePeerDependencies:
- '@types/eslint'
- '@vue/eslint-config-typescript@14.1.3(@typescript-eslint/parser@8.12.2(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3))(eslint-plugin-vue@9.30.0(eslint@9.14.0(jiti@1.21.6)))(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3)':
+ '@vue/eslint-config-typescript@14.5.0(eslint-plugin-vue@10.0.0(eslint@9.23.0(jiti@2.4.2))(vue-eslint-parser@10.1.1(eslint@9.23.0(jiti@2.4.2))))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)':
dependencies:
- '@typescript-eslint/eslint-plugin': 8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3)
- eslint: 9.14.0(jiti@1.21.6)
- eslint-plugin-vue: 9.30.0(eslint@9.14.0(jiti@1.21.6))
- fast-glob: 3.3.2
- typescript-eslint: 8.12.2(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3)
- vue-eslint-parser: 9.4.3(eslint@9.14.0(jiti@1.21.6))
+ '@typescript-eslint/utils': 8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)
+ eslint: 9.23.0(jiti@2.4.2)
+ eslint-plugin-vue: 10.0.0(eslint@9.23.0(jiti@2.4.2))(vue-eslint-parser@10.1.1(eslint@9.23.0(jiti@2.4.2)))
+ fast-glob: 3.3.3
+ typescript-eslint: 8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)
+ vue-eslint-parser: 10.1.1(eslint@9.23.0(jiti@2.4.2))
optionalDependencies:
- typescript: 5.6.3
+ typescript: 5.8.2
transitivePeerDependencies:
- - '@typescript-eslint/parser'
- supports-color
- '@vue/language-core@2.1.10(typescript@5.6.3)':
+ '@vue/language-core@2.2.8(typescript@5.8.2)':
dependencies:
- '@volar/language-core': 2.4.8
- '@vue/compiler-dom': 3.5.12
+ '@volar/language-core': 2.4.12
+ '@vue/compiler-dom': 3.5.13
'@vue/compiler-vue2': 2.7.16
- '@vue/shared': 3.5.12
- alien-signals: 0.2.0
+ '@vue/shared': 3.5.13
+ alien-signals: 1.0.8
minimatch: 9.0.5
muggle-string: 0.4.1
path-browserify: 1.0.1
optionalDependencies:
- typescript: 5.6.3
+ typescript: 5.8.2
- '@vue/reactivity@3.5.12':
+ '@vue/reactivity@3.5.13':
dependencies:
- '@vue/shared': 3.5.12
+ '@vue/shared': 3.5.13
- '@vue/runtime-core@3.5.12':
+ '@vue/runtime-core@3.5.13':
dependencies:
- '@vue/reactivity': 3.5.12
- '@vue/shared': 3.5.12
+ '@vue/reactivity': 3.5.13
+ '@vue/shared': 3.5.13
- '@vue/runtime-dom@3.5.12':
+ '@vue/runtime-dom@3.5.13':
dependencies:
- '@vue/reactivity': 3.5.12
- '@vue/runtime-core': 3.5.12
- '@vue/shared': 3.5.12
+ '@vue/reactivity': 3.5.13
+ '@vue/runtime-core': 3.5.13
+ '@vue/shared': 3.5.13
csstype: 3.1.3
- '@vue/server-renderer@3.5.12(vue@3.5.12(typescript@5.6.3))':
+ '@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.8.2))':
dependencies:
- '@vue/compiler-ssr': 3.5.12
- '@vue/shared': 3.5.12
- vue: 3.5.12(typescript@5.6.3)
+ '@vue/compiler-ssr': 3.5.13
+ '@vue/shared': 3.5.13
+ vue: 3.5.13(typescript@5.8.2)
- '@vue/shared@3.5.12': {}
+ '@vue/shared@3.5.13': {}
- '@vue/tsconfig@0.5.1': {}
+ '@vue/tsconfig@0.7.0(typescript@5.8.2)(vue@3.5.13(typescript@5.8.2))':
+ optionalDependencies:
+ typescript: 5.8.2
+ vue: 3.5.13(typescript@5.8.2)
- acorn-jsx@5.3.2(acorn@8.14.0):
+ acorn-jsx@5.3.2(acorn@8.14.1):
dependencies:
- acorn: 8.14.0
+ acorn: 8.14.1
- acorn@8.14.0: {}
+ acorn@8.14.1: {}
ajv@6.12.6:
dependencies:
@@ -2396,11 +2459,7 @@ snapshots:
json-schema-traverse: 0.4.1
uri-js: 4.4.1
- alien-signals@0.2.0: {}
-
- ansi-regex@5.0.1: {}
-
- ansi-regex@6.1.0: {}
+ alien-signals@1.0.8: {}
ansi-styles@3.2.1:
dependencies:
@@ -2410,52 +2469,32 @@ snapshots:
dependencies:
color-convert: 2.0.1
- ansi-styles@6.2.1: {}
-
- any-promise@1.3.0: {}
-
- anymatch@3.1.3:
- dependencies:
- normalize-path: 3.0.0
- picomatch: 2.3.1
-
- arg@5.0.2: {}
-
argparse@2.0.1: {}
- array-buffer-byte-length@1.0.1:
+ array-buffer-byte-length@1.0.2:
dependencies:
- call-bind: 1.0.7
- is-array-buffer: 3.0.4
+ call-bound: 1.0.4
+ is-array-buffer: 3.0.5
- arraybuffer.prototype.slice@1.0.3:
+ arraybuffer.prototype.slice@1.0.4:
dependencies:
- array-buffer-byte-length: 1.0.1
- call-bind: 1.0.7
+ array-buffer-byte-length: 1.0.2
+ call-bind: 1.0.8
define-properties: 1.2.1
- es-abstract: 1.23.3
+ es-abstract: 1.23.9
es-errors: 1.3.0
- get-intrinsic: 1.2.4
- is-array-buffer: 3.0.4
- is-shared-array-buffer: 1.0.3
+ get-intrinsic: 1.3.0
+ is-array-buffer: 3.0.5
- autoprefixer@10.4.20(postcss@8.4.47):
- dependencies:
- browserslist: 4.24.2
- caniuse-lite: 1.0.30001676
- fraction.js: 4.3.7
- normalize-range: 0.1.2
- picocolors: 1.1.1
- postcss: 8.4.47
- postcss-value-parser: 4.2.0
+ async-function@1.0.0: {}
available-typed-arrays@1.0.7:
dependencies:
- possible-typed-array-names: 1.0.0
+ possible-typed-array-names: 1.1.0
balanced-match@1.0.2: {}
- binary-extensions@2.3.0: {}
+ birpc@0.2.19: {}
boolbase@1.0.0: {}
@@ -2472,26 +2511,24 @@ snapshots:
dependencies:
fill-range: 7.1.1
- browserslist@4.24.2:
+ call-bind-apply-helpers@1.0.2:
dependencies:
- caniuse-lite: 1.0.30001676
- electron-to-chromium: 1.5.50
- node-releases: 2.0.18
- update-browserslist-db: 1.1.1(browserslist@4.24.2)
-
- call-bind@1.0.7:
- dependencies:
- es-define-property: 1.0.0
es-errors: 1.3.0
function-bind: 1.1.2
- get-intrinsic: 1.2.4
- set-function-length: 1.2.2
- callsites@3.1.0: {}
+ call-bind@1.0.8:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ es-define-property: 1.0.1
+ get-intrinsic: 1.3.0
+ set-function-length: 1.2.2
- camelcase-css@2.0.1: {}
+ call-bound@1.0.4:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ get-intrinsic: 1.3.0
- caniuse-lite@1.0.30001676: {}
+ callsites@3.1.0: {}
chalk@2.4.2:
dependencies:
@@ -2504,18 +2541,6 @@ snapshots:
ansi-styles: 4.3.0
supports-color: 7.2.0
- chokidar@3.6.0:
- dependencies:
- anymatch: 3.1.3
- braces: 3.0.3
- glob-parent: 5.1.2
- is-binary-path: 2.1.0
- is-glob: 4.0.3
- normalize-path: 3.0.0
- readdirp: 3.6.0
- optionalDependencies:
- fsevents: 2.3.3
-
color-convert@1.9.3:
dependencies:
color-name: 1.1.3
@@ -2528,10 +2553,12 @@ snapshots:
color-name@1.1.4: {}
- commander@4.1.1: {}
-
concat-map@0.0.1: {}
+ copy-anything@3.0.5:
+ dependencies:
+ is-what: 4.1.16
+
cross-spawn@6.0.6:
dependencies:
nice-try: 1.0.5
@@ -2540,7 +2567,7 @@ snapshots:
shebang-command: 1.2.0
which: 1.3.1
- cross-spawn@7.0.3:
+ cross-spawn@7.0.6:
dependencies:
path-key: 3.1.1
shebang-command: 2.0.0
@@ -2590,27 +2617,27 @@ snapshots:
dependencies:
d3-array: 3.2.4
- data-view-buffer@1.0.1:
+ data-view-buffer@1.0.2:
dependencies:
- call-bind: 1.0.7
+ call-bound: 1.0.4
es-errors: 1.3.0
- is-data-view: 1.0.1
+ is-data-view: 1.0.2
- data-view-byte-length@1.0.1:
+ data-view-byte-length@1.0.2:
dependencies:
- call-bind: 1.0.7
+ call-bound: 1.0.4
es-errors: 1.3.0
- is-data-view: 1.0.1
+ is-data-view: 1.0.2
- data-view-byte-offset@1.0.0:
+ data-view-byte-offset@1.0.1:
dependencies:
- call-bind: 1.0.7
+ call-bound: 1.0.4
es-errors: 1.3.0
- is-data-view: 1.0.1
+ is-data-view: 1.0.2
de-indent@1.0.2: {}
- debug@4.3.7:
+ debug@4.4.0:
dependencies:
ms: 2.1.3
@@ -2618,9 +2645,9 @@ snapshots:
define-data-property@1.1.4:
dependencies:
- es-define-property: 1.0.0
+ es-define-property: 1.0.1
es-errors: 1.3.0
- gopd: 1.0.1
+ gopd: 1.2.0
define-properties@1.2.1:
dependencies:
@@ -2628,17 +2655,18 @@ snapshots:
has-property-descriptors: 1.0.2
object-keys: 1.1.1
- didyoumean@1.2.2: {}
-
- dlv@1.1.3: {}
-
- eastasianwidth@0.2.0: {}
+ detect-libc@2.0.3: {}
- electron-to-chromium@1.5.50: {}
-
- emoji-regex@8.0.0: {}
+ dunder-proto@1.0.1:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ es-errors: 1.3.0
+ gopd: 1.2.0
- emoji-regex@9.2.2: {}
+ enhanced-resolve@5.18.1:
+ dependencies:
+ graceful-fs: 4.2.11
+ tapable: 2.2.1
entities@4.5.0: {}
@@ -2646,142 +2674,138 @@ snapshots:
dependencies:
is-arrayish: 0.2.1
- es-abstract@1.23.3:
+ es-abstract@1.23.9:
dependencies:
- array-buffer-byte-length: 1.0.1
- arraybuffer.prototype.slice: 1.0.3
+ array-buffer-byte-length: 1.0.2
+ arraybuffer.prototype.slice: 1.0.4
available-typed-arrays: 1.0.7
- call-bind: 1.0.7
- data-view-buffer: 1.0.1
- data-view-byte-length: 1.0.1
- data-view-byte-offset: 1.0.0
- es-define-property: 1.0.0
+ call-bind: 1.0.8
+ call-bound: 1.0.4
+ data-view-buffer: 1.0.2
+ data-view-byte-length: 1.0.2
+ data-view-byte-offset: 1.0.1
+ es-define-property: 1.0.1
es-errors: 1.3.0
- es-object-atoms: 1.0.0
- es-set-tostringtag: 2.0.3
- es-to-primitive: 1.2.1
- function.prototype.name: 1.1.6
- get-intrinsic: 1.2.4
- get-symbol-description: 1.0.2
+ es-object-atoms: 1.1.1
+ es-set-tostringtag: 2.1.0
+ es-to-primitive: 1.3.0
+ function.prototype.name: 1.1.8
+ get-intrinsic: 1.3.0
+ get-proto: 1.0.1
+ get-symbol-description: 1.1.0
globalthis: 1.0.4
- gopd: 1.0.1
+ gopd: 1.2.0
has-property-descriptors: 1.0.2
- has-proto: 1.0.3
- has-symbols: 1.0.3
+ has-proto: 1.2.0
+ has-symbols: 1.1.0
hasown: 2.0.2
- internal-slot: 1.0.7
- is-array-buffer: 3.0.4
+ internal-slot: 1.1.0
+ is-array-buffer: 3.0.5
is-callable: 1.2.7
- is-data-view: 1.0.1
- is-negative-zero: 2.0.3
- is-regex: 1.1.4
- is-shared-array-buffer: 1.0.3
- is-string: 1.0.7
- is-typed-array: 1.1.13
- is-weakref: 1.0.2
- object-inspect: 1.13.2
+ is-data-view: 1.0.2
+ is-regex: 1.2.1
+ is-shared-array-buffer: 1.0.4
+ is-string: 1.1.1
+ is-typed-array: 1.1.15
+ is-weakref: 1.1.1
+ math-intrinsics: 1.1.0
+ object-inspect: 1.13.4
object-keys: 1.1.1
- object.assign: 4.1.5
- regexp.prototype.flags: 1.5.3
- safe-array-concat: 1.1.2
- safe-regex-test: 1.0.3
- string.prototype.trim: 1.2.9
- string.prototype.trimend: 1.0.8
+ object.assign: 4.1.7
+ own-keys: 1.0.1
+ regexp.prototype.flags: 1.5.4
+ safe-array-concat: 1.1.3
+ safe-push-apply: 1.0.0
+ safe-regex-test: 1.1.0
+ set-proto: 1.0.0
+ string.prototype.trim: 1.2.10
+ string.prototype.trimend: 1.0.9
string.prototype.trimstart: 1.0.8
- typed-array-buffer: 1.0.2
- typed-array-byte-length: 1.0.1
- typed-array-byte-offset: 1.0.2
- typed-array-length: 1.0.6
- unbox-primitive: 1.0.2
- which-typed-array: 1.1.15
+ typed-array-buffer: 1.0.3
+ typed-array-byte-length: 1.0.3
+ typed-array-byte-offset: 1.0.4
+ typed-array-length: 1.0.7
+ unbox-primitive: 1.1.0
+ which-typed-array: 1.1.19
- es-define-property@1.0.0:
- dependencies:
- get-intrinsic: 1.2.4
+ es-define-property@1.0.1: {}
es-errors@1.3.0: {}
- es-object-atoms@1.0.0:
+ es-object-atoms@1.1.1:
dependencies:
es-errors: 1.3.0
- es-set-tostringtag@2.0.3:
+ es-set-tostringtag@2.1.0:
dependencies:
- get-intrinsic: 1.2.4
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
has-tostringtag: 1.0.2
hasown: 2.0.2
- es-to-primitive@1.2.1:
+ es-to-primitive@1.3.0:
dependencies:
is-callable: 1.2.7
- is-date-object: 1.0.5
- is-symbol: 1.0.4
+ is-date-object: 1.1.0
+ is-symbol: 1.1.1
- esbuild@0.21.5:
+ esbuild@0.25.1:
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
-
- escalade@3.2.0: {}
+ '@esbuild/aix-ppc64': 0.25.1
+ '@esbuild/android-arm': 0.25.1
+ '@esbuild/android-arm64': 0.25.1
+ '@esbuild/android-x64': 0.25.1
+ '@esbuild/darwin-arm64': 0.25.1
+ '@esbuild/darwin-x64': 0.25.1
+ '@esbuild/freebsd-arm64': 0.25.1
+ '@esbuild/freebsd-x64': 0.25.1
+ '@esbuild/linux-arm': 0.25.1
+ '@esbuild/linux-arm64': 0.25.1
+ '@esbuild/linux-ia32': 0.25.1
+ '@esbuild/linux-loong64': 0.25.1
+ '@esbuild/linux-mips64el': 0.25.1
+ '@esbuild/linux-ppc64': 0.25.1
+ '@esbuild/linux-riscv64': 0.25.1
+ '@esbuild/linux-s390x': 0.25.1
+ '@esbuild/linux-x64': 0.25.1
+ '@esbuild/netbsd-arm64': 0.25.1
+ '@esbuild/netbsd-x64': 0.25.1
+ '@esbuild/openbsd-arm64': 0.25.1
+ '@esbuild/openbsd-x64': 0.25.1
+ '@esbuild/sunos-x64': 0.25.1
+ '@esbuild/win32-arm64': 0.25.1
+ '@esbuild/win32-ia32': 0.25.1
+ '@esbuild/win32-x64': 0.25.1
escape-string-regexp@1.0.5: {}
escape-string-regexp@4.0.0: {}
- eslint-config-prettier@9.1.0(eslint@9.14.0(jiti@1.21.6)):
+ eslint-config-prettier@10.1.1(eslint@9.23.0(jiti@2.4.2)):
dependencies:
- eslint: 9.14.0(jiti@1.21.6)
+ eslint: 9.23.0(jiti@2.4.2)
- eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@9.14.0(jiti@1.21.6)))(eslint@9.14.0(jiti@1.21.6))(prettier@3.3.3):
+ eslint-plugin-prettier@5.2.5(eslint-config-prettier@10.1.1(eslint@9.23.0(jiti@2.4.2)))(eslint@9.23.0(jiti@2.4.2))(prettier@3.5.3):
dependencies:
- eslint: 9.14.0(jiti@1.21.6)
- prettier: 3.3.3
+ eslint: 9.23.0(jiti@2.4.2)
+ prettier: 3.5.3
prettier-linter-helpers: 1.0.0
- synckit: 0.9.2
+ synckit: 0.10.3
optionalDependencies:
- eslint-config-prettier: 9.1.0(eslint@9.14.0(jiti@1.21.6))
+ eslint-config-prettier: 10.1.1(eslint@9.23.0(jiti@2.4.2))
- eslint-plugin-vue@9.30.0(eslint@9.14.0(jiti@1.21.6)):
+ eslint-plugin-vue@10.0.0(eslint@9.23.0(jiti@2.4.2))(vue-eslint-parser@10.1.1(eslint@9.23.0(jiti@2.4.2))):
dependencies:
- '@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0(jiti@1.21.6))
- eslint: 9.14.0(jiti@1.21.6)
- globals: 13.24.0
+ '@eslint-community/eslint-utils': 4.5.1(eslint@9.23.0(jiti@2.4.2))
+ eslint: 9.23.0(jiti@2.4.2)
natural-compare: 1.4.0
nth-check: 2.1.1
postcss-selector-parser: 6.1.2
- semver: 7.6.3
- vue-eslint-parser: 9.4.3(eslint@9.14.0(jiti@1.21.6))
+ semver: 7.7.1
+ vue-eslint-parser: 10.1.1(eslint@9.23.0(jiti@2.4.2))
xml-name-validator: 4.0.0
- transitivePeerDependencies:
- - supports-color
-
- eslint-scope@7.2.2:
- dependencies:
- esrecurse: 4.3.0
- estraverse: 5.3.0
- eslint-scope@8.2.0:
+ eslint-scope@8.3.0:
dependencies:
esrecurse: 4.3.0
estraverse: 5.3.0
@@ -2790,26 +2814,27 @@ snapshots:
eslint-visitor-keys@4.2.0: {}
- eslint@9.14.0(jiti@1.21.6):
+ eslint@9.23.0(jiti@2.4.2):
dependencies:
- '@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0(jiti@1.21.6))
+ '@eslint-community/eslint-utils': 4.5.1(eslint@9.23.0(jiti@2.4.2))
'@eslint-community/regexpp': 4.12.1
- '@eslint/config-array': 0.18.0
- '@eslint/core': 0.7.0
- '@eslint/eslintrc': 3.1.0
- '@eslint/js': 9.14.0
- '@eslint/plugin-kit': 0.2.3
+ '@eslint/config-array': 0.19.2
+ '@eslint/config-helpers': 0.2.0
+ '@eslint/core': 0.12.0
+ '@eslint/eslintrc': 3.3.1
+ '@eslint/js': 9.23.0
+ '@eslint/plugin-kit': 0.2.7
'@humanfs/node': 0.16.6
'@humanwhocodes/module-importer': 1.0.1
- '@humanwhocodes/retry': 0.4.0
- '@types/estree': 1.0.6
+ '@humanwhocodes/retry': 0.4.2
+ '@types/estree': 1.0.7
'@types/json-schema': 7.0.15
ajv: 6.12.6
chalk: 4.1.2
- cross-spawn: 7.0.3
- debug: 4.3.7
+ cross-spawn: 7.0.6
+ debug: 4.4.0
escape-string-regexp: 4.0.0
- eslint-scope: 8.2.0
+ eslint-scope: 8.3.0
eslint-visitor-keys: 4.2.0
espree: 10.3.0
esquery: 1.6.0
@@ -2826,24 +2851,17 @@ snapshots:
minimatch: 3.1.2
natural-compare: 1.4.0
optionator: 0.9.4
- text-table: 0.2.0
optionalDependencies:
- jiti: 1.21.6
+ jiti: 2.4.2
transitivePeerDependencies:
- supports-color
espree@10.3.0:
dependencies:
- acorn: 8.14.0
- acorn-jsx: 5.3.2(acorn@8.14.0)
+ acorn: 8.14.1
+ acorn-jsx: 5.3.2(acorn@8.14.1)
eslint-visitor-keys: 4.2.0
- espree@9.6.1:
- dependencies:
- acorn: 8.14.0
- acorn-jsx: 5.3.2(acorn@8.14.0)
- eslint-visitor-keys: 3.4.3
-
esquery@1.6.0:
dependencies:
estraverse: 5.3.0
@@ -2862,7 +2880,7 @@ snapshots:
fast-diff@1.3.0: {}
- fast-glob@3.3.2:
+ fast-glob@3.3.3:
dependencies:
'@nodelib/fs.stat': 2.0.5
'@nodelib/fs.walk': 1.2.8
@@ -2874,9 +2892,9 @@ snapshots:
fast-levenshtein@2.0.6: {}
- fastq@1.17.1:
+ fastq@1.19.1:
dependencies:
- reusify: 1.0.4
+ reusify: 1.1.0
file-entry-cache@8.0.0:
dependencies:
@@ -2893,49 +2911,54 @@ snapshots:
flat-cache@4.0.1:
dependencies:
- flatted: 3.3.1
+ flatted: 3.3.3
keyv: 4.5.4
- flatted@3.3.1: {}
+ flatted@3.3.3: {}
- for-each@0.3.3:
+ for-each@0.3.5:
dependencies:
is-callable: 1.2.7
- foreground-child@3.3.0:
- dependencies:
- cross-spawn: 7.0.3
- signal-exit: 4.1.0
-
- fraction.js@4.3.7: {}
-
fsevents@2.3.3:
optional: true
function-bind@1.1.2: {}
- function.prototype.name@1.1.6:
+ function.prototype.name@1.1.8:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
+ call-bound: 1.0.4
define-properties: 1.2.1
- es-abstract: 1.23.3
functions-have-names: 1.2.3
+ hasown: 2.0.2
+ is-callable: 1.2.7
functions-have-names@1.2.3: {}
- get-intrinsic@1.2.4:
+ get-intrinsic@1.3.0:
dependencies:
+ call-bind-apply-helpers: 1.0.2
+ es-define-property: 1.0.1
es-errors: 1.3.0
+ es-object-atoms: 1.1.1
function-bind: 1.1.2
- has-proto: 1.0.3
- has-symbols: 1.0.3
+ get-proto: 1.0.1
+ gopd: 1.2.0
+ has-symbols: 1.1.0
hasown: 2.0.2
+ math-intrinsics: 1.1.0
+
+ get-proto@1.0.1:
+ dependencies:
+ dunder-proto: 1.0.1
+ es-object-atoms: 1.1.1
- get-symbol-description@1.0.2:
+ get-symbol-description@1.1.0:
dependencies:
- call-bind: 1.0.7
+ call-bound: 1.0.4
es-errors: 1.3.0
- get-intrinsic: 1.2.4
+ get-intrinsic: 1.3.0
glob-parent@5.1.2:
dependencies:
@@ -2945,35 +2968,20 @@ snapshots:
dependencies:
is-glob: 4.0.3
- glob@10.4.5:
- dependencies:
- foreground-child: 3.3.0
- jackspeak: 3.4.3
- minimatch: 9.0.5
- minipass: 7.1.2
- package-json-from-dist: 1.0.1
- path-scurry: 1.11.1
-
- globals@13.24.0:
- dependencies:
- type-fest: 0.20.2
-
globals@14.0.0: {}
globalthis@1.0.4:
dependencies:
define-properties: 1.2.1
- gopd: 1.0.1
+ gopd: 1.2.0
- gopd@1.0.1:
- dependencies:
- get-intrinsic: 1.2.4
+ gopd@1.2.0: {}
graceful-fs@4.2.11: {}
graphemer@1.4.0: {}
- has-bigints@1.0.2: {}
+ has-bigints@1.1.0: {}
has-flag@3.0.0: {}
@@ -2981,15 +2989,17 @@ snapshots:
has-property-descriptors@1.0.2:
dependencies:
- es-define-property: 1.0.0
+ es-define-property: 1.0.1
- has-proto@1.0.3: {}
+ has-proto@1.2.0:
+ dependencies:
+ dunder-proto: 1.0.1
- has-symbols@1.0.3: {}
+ has-symbols@1.1.0: {}
has-tostringtag@1.0.2:
dependencies:
- has-symbols: 1.0.3
+ has-symbols: 1.1.0
hasown@2.0.2:
dependencies:
@@ -2997,111 +3007,141 @@ snapshots:
he@1.2.0: {}
+ hookable@5.5.3: {}
+
hosted-git-info@2.8.9: {}
ignore@5.3.2: {}
- import-fresh@3.3.0:
+ import-fresh@3.3.1:
dependencies:
parent-module: 1.0.1
resolve-from: 4.0.0
imurmurhash@0.1.4: {}
- internal-slot@1.0.7:
+ internal-slot@1.1.0:
dependencies:
es-errors: 1.3.0
hasown: 2.0.2
- side-channel: 1.0.6
+ side-channel: 1.1.0
internmap@2.0.3: {}
- is-array-buffer@3.0.4:
+ is-array-buffer@3.0.5:
dependencies:
- call-bind: 1.0.7
- get-intrinsic: 1.2.4
+ call-bind: 1.0.8
+ call-bound: 1.0.4
+ get-intrinsic: 1.3.0
is-arrayish@0.2.1: {}
- is-bigint@1.0.4:
+ is-async-function@2.1.1:
dependencies:
- has-bigints: 1.0.2
+ async-function: 1.0.0
+ call-bound: 1.0.4
+ get-proto: 1.0.1
+ has-tostringtag: 1.0.2
+ safe-regex-test: 1.1.0
- is-binary-path@2.1.0:
+ is-bigint@1.1.0:
dependencies:
- binary-extensions: 2.3.0
+ has-bigints: 1.1.0
- is-boolean-object@1.1.2:
+ is-boolean-object@1.2.2:
dependencies:
- call-bind: 1.0.7
+ call-bound: 1.0.4
has-tostringtag: 1.0.2
is-callable@1.2.7: {}
- is-core-module@2.15.1:
+ is-core-module@2.16.1:
dependencies:
hasown: 2.0.2
- is-data-view@1.0.1:
+ is-data-view@1.0.2:
dependencies:
- is-typed-array: 1.1.13
+ call-bound: 1.0.4
+ get-intrinsic: 1.3.0
+ is-typed-array: 1.1.15
- is-date-object@1.0.5:
+ is-date-object@1.1.0:
dependencies:
+ call-bound: 1.0.4
has-tostringtag: 1.0.2
is-extglob@2.1.1: {}
- is-fullwidth-code-point@3.0.0: {}
+ is-finalizationregistry@1.1.1:
+ dependencies:
+ call-bound: 1.0.4
+
+ is-generator-function@1.1.0:
+ dependencies:
+ call-bound: 1.0.4
+ get-proto: 1.0.1
+ has-tostringtag: 1.0.2
+ safe-regex-test: 1.1.0
is-glob@4.0.3:
dependencies:
is-extglob: 2.1.1
- is-negative-zero@2.0.3: {}
+ is-map@2.0.3: {}
- is-number-object@1.0.7:
+ is-number-object@1.1.1:
dependencies:
+ call-bound: 1.0.4
has-tostringtag: 1.0.2
is-number@7.0.0: {}
- is-regex@1.1.4:
+ is-regex@1.2.1:
dependencies:
- call-bind: 1.0.7
+ call-bound: 1.0.4
+ gopd: 1.2.0
has-tostringtag: 1.0.2
+ hasown: 2.0.2
- is-shared-array-buffer@1.0.3:
+ is-set@2.0.3: {}
+
+ is-shared-array-buffer@1.0.4:
dependencies:
- call-bind: 1.0.7
+ call-bound: 1.0.4
- is-string@1.0.7:
+ is-string@1.1.1:
dependencies:
+ call-bound: 1.0.4
has-tostringtag: 1.0.2
- is-symbol@1.0.4:
+ is-symbol@1.1.1:
+ dependencies:
+ call-bound: 1.0.4
+ has-symbols: 1.1.0
+ safe-regex-test: 1.1.0
+
+ is-typed-array@1.1.15:
dependencies:
- has-symbols: 1.0.3
+ which-typed-array: 1.1.19
+
+ is-weakmap@2.0.2: {}
- is-typed-array@1.1.13:
+ is-weakref@1.1.1:
dependencies:
- which-typed-array: 1.1.15
+ call-bound: 1.0.4
- is-weakref@1.0.2:
+ is-weakset@2.0.4:
dependencies:
- call-bind: 1.0.7
+ call-bound: 1.0.4
+ get-intrinsic: 1.3.0
+
+ is-what@4.1.16: {}
isarray@2.0.5: {}
isexe@2.0.0: {}
- jackspeak@3.4.3:
- dependencies:
- '@isaacs/cliui': 8.0.2
- optionalDependencies:
- '@pkgjs/parseargs': 0.11.0
-
- jiti@1.21.6: {}
+ jiti@2.4.2: {}
js-yaml@4.1.0:
dependencies:
@@ -3124,11 +3164,50 @@ snapshots:
prelude-ls: 1.2.1
type-check: 0.4.0
- lilconfig@2.1.0: {}
+ lightningcss-darwin-arm64@1.29.2:
+ optional: true
+
+ lightningcss-darwin-x64@1.29.2:
+ optional: true
+
+ lightningcss-freebsd-x64@1.29.2:
+ optional: true
+
+ lightningcss-linux-arm-gnueabihf@1.29.2:
+ optional: true
+
+ lightningcss-linux-arm64-gnu@1.29.2:
+ optional: true
+
+ lightningcss-linux-arm64-musl@1.29.2:
+ optional: true
+
+ lightningcss-linux-x64-gnu@1.29.2:
+ optional: true
+
+ lightningcss-linux-x64-musl@1.29.2:
+ optional: true
+
+ lightningcss-win32-arm64-msvc@1.29.2:
+ optional: true
- lilconfig@3.1.2: {}
+ lightningcss-win32-x64-msvc@1.29.2:
+ optional: true
- lines-and-columns@1.2.4: {}
+ lightningcss@1.29.2:
+ dependencies:
+ detect-libc: 2.0.3
+ optionalDependencies:
+ lightningcss-darwin-arm64: 1.29.2
+ lightningcss-darwin-x64: 1.29.2
+ lightningcss-freebsd-x64: 1.29.2
+ lightningcss-linux-arm-gnueabihf: 1.29.2
+ lightningcss-linux-arm64-gnu: 1.29.2
+ lightningcss-linux-arm64-musl: 1.29.2
+ lightningcss-linux-x64-gnu: 1.29.2
+ lightningcss-linux-x64-musl: 1.29.2
+ lightningcss-win32-arm64-msvc: 1.29.2
+ lightningcss-win32-x64-msvc: 1.29.2
load-json-file@4.0.0:
dependencies:
@@ -3145,14 +3224,14 @@ snapshots:
lodash@4.17.21: {}
- lru-cache@10.4.3: {}
-
- magic-string@0.30.12:
+ magic-string@0.30.17:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.0
mande@2.0.9: {}
+ math-intrinsics@1.1.0: {}
+
memorystream@0.3.1: {}
merge2@1.4.1: {}
@@ -3170,37 +3249,25 @@ snapshots:
dependencies:
brace-expansion: 2.0.1
- minipass@7.1.2: {}
+ mitt@3.0.1: {}
ms@2.1.3: {}
muggle-string@0.4.1: {}
- mz@2.7.0:
- dependencies:
- any-promise: 1.3.0
- object-assign: 4.1.1
- thenify-all: 1.6.0
-
- nanoid@3.3.8: {}
+ nanoid@3.3.11: {}
natural-compare@1.4.0: {}
nice-try@1.0.5: {}
- node-releases@2.0.18: {}
-
normalize-package-data@2.5.0:
dependencies:
hosted-git-info: 2.8.9
- resolve: 1.22.8
+ resolve: 1.22.10
semver: 5.7.2
validate-npm-package-license: 3.0.4
- normalize-path@3.0.0: {}
-
- normalize-range@0.1.2: {}
-
npm-run-all@4.1.5:
dependencies:
ansi-styles: 3.2.1
@@ -3210,26 +3277,24 @@ snapshots:
minimatch: 3.1.2
pidtree: 0.3.1
read-pkg: 3.0.0
- shell-quote: 1.8.1
+ shell-quote: 1.8.2
string.prototype.padend: 3.1.6
nth-check@2.1.1:
dependencies:
boolbase: 1.0.0
- object-assign@4.1.1: {}
-
- object-hash@3.0.0: {}
-
- object-inspect@1.13.2: {}
+ object-inspect@1.13.4: {}
object-keys@1.1.1: {}
- object.assign@4.1.5:
+ object.assign@4.1.7:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
+ call-bound: 1.0.4
define-properties: 1.2.1
- has-symbols: 1.0.3
+ es-object-atoms: 1.1.1
+ has-symbols: 1.1.0
object-keys: 1.1.1
optionator@0.9.4:
@@ -3241,6 +3306,12 @@ snapshots:
type-check: 0.4.0
word-wrap: 1.2.5
+ own-keys@1.0.1:
+ dependencies:
+ get-intrinsic: 1.3.0
+ object-keys: 1.1.1
+ safe-push-apply: 1.0.0
+
p-limit@3.1.0:
dependencies:
yocto-queue: 0.1.0
@@ -3249,8 +3320,6 @@ snapshots:
dependencies:
p-limit: 3.1.0
- package-json-from-dist@1.0.1: {}
-
parent-module@1.0.1:
dependencies:
callsites: 3.1.0
@@ -3270,71 +3339,37 @@ snapshots:
path-parse@1.0.7: {}
- path-scurry@1.11.1:
- dependencies:
- lru-cache: 10.4.3
- minipass: 7.1.2
-
path-type@3.0.0:
dependencies:
pify: 3.0.0
+ perfect-debounce@1.0.0: {}
+
picocolors@1.1.1: {}
picomatch@2.3.1: {}
pidtree@0.3.1: {}
- pify@2.3.0: {}
-
pify@3.0.0: {}
- pinia@2.2.5(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3)):
- dependencies:
- '@vue/devtools-api': 6.6.4
- vue: 3.5.12(typescript@5.6.3)
- vue-demi: 0.14.10(vue@3.5.12(typescript@5.6.3))
- optionalDependencies:
- typescript: 5.6.3
-
- pirates@4.0.6: {}
-
- possible-typed-array-names@1.0.0: {}
-
- postcss-import@15.1.0(postcss@8.4.47):
- dependencies:
- postcss: 8.4.47
- postcss-value-parser: 4.2.0
- read-cache: 1.0.0
- resolve: 1.22.8
-
- postcss-js@4.0.1(postcss@8.4.47):
- dependencies:
- camelcase-css: 2.0.1
- postcss: 8.4.47
-
- postcss-load-config@4.0.2(postcss@8.4.47):
+ pinia@3.0.1(typescript@5.8.2)(vue@3.5.13(typescript@5.8.2)):
dependencies:
- lilconfig: 3.1.2
- yaml: 2.6.0
+ '@vue/devtools-api': 7.7.2
+ vue: 3.5.13(typescript@5.8.2)
optionalDependencies:
- postcss: 8.4.47
+ typescript: 5.8.2
- postcss-nested@6.2.0(postcss@8.4.47):
- dependencies:
- postcss: 8.4.47
- postcss-selector-parser: 6.1.2
+ possible-typed-array-names@1.1.0: {}
postcss-selector-parser@6.1.2:
dependencies:
cssesc: 3.0.0
util-deprecate: 1.0.2
- postcss-value-parser@4.2.0: {}
-
- postcss@8.4.47:
+ postcss@8.5.3:
dependencies:
- nanoid: 3.3.8
+ nanoid: 3.3.11
picocolors: 1.1.1
source-map-js: 1.2.1
@@ -3344,7 +3379,7 @@ snapshots:
dependencies:
fast-diff: 1.3.0
- prettier@3.3.3: {}
+ prettier@3.5.3: {}
punycode@2.3.1: {}
@@ -3352,90 +3387,104 @@ snapshots:
ramda@0.28.0: {}
- read-cache@1.0.0:
- dependencies:
- pify: 2.3.0
-
read-pkg@3.0.0:
dependencies:
load-json-file: 4.0.0
normalize-package-data: 2.5.0
path-type: 3.0.0
- readdirp@3.6.0:
+ reflect.getprototypeof@1.0.10:
dependencies:
- picomatch: 2.3.1
+ call-bind: 1.0.8
+ define-properties: 1.2.1
+ es-abstract: 1.23.9
+ es-errors: 1.3.0
+ es-object-atoms: 1.1.1
+ get-intrinsic: 1.3.0
+ get-proto: 1.0.1
+ which-builtin-type: 1.2.1
- regexp.prototype.flags@1.5.3:
+ regexp.prototype.flags@1.5.4:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
define-properties: 1.2.1
es-errors: 1.3.0
+ get-proto: 1.0.1
+ gopd: 1.2.0
set-function-name: 2.0.2
resolve-from@4.0.0: {}
- resolve@1.22.8:
+ resolve@1.22.10:
dependencies:
- is-core-module: 2.15.1
+ is-core-module: 2.16.1
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
- reusify@1.0.4: {}
+ reusify@1.1.0: {}
+
+ rfdc@1.4.1: {}
- rollup@4.31.0:
+ rollup@4.37.0:
dependencies:
'@types/estree': 1.0.6
optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.31.0
- '@rollup/rollup-android-arm64': 4.31.0
- '@rollup/rollup-darwin-arm64': 4.31.0
- '@rollup/rollup-darwin-x64': 4.31.0
- '@rollup/rollup-freebsd-arm64': 4.31.0
- '@rollup/rollup-freebsd-x64': 4.31.0
- '@rollup/rollup-linux-arm-gnueabihf': 4.31.0
- '@rollup/rollup-linux-arm-musleabihf': 4.31.0
- '@rollup/rollup-linux-arm64-gnu': 4.31.0
- '@rollup/rollup-linux-arm64-musl': 4.31.0
- '@rollup/rollup-linux-loongarch64-gnu': 4.31.0
- '@rollup/rollup-linux-powerpc64le-gnu': 4.31.0
- '@rollup/rollup-linux-riscv64-gnu': 4.31.0
- '@rollup/rollup-linux-s390x-gnu': 4.31.0
- '@rollup/rollup-linux-x64-gnu': 4.31.0
- '@rollup/rollup-linux-x64-musl': 4.31.0
- '@rollup/rollup-win32-arm64-msvc': 4.31.0
- '@rollup/rollup-win32-ia32-msvc': 4.31.0
- '@rollup/rollup-win32-x64-msvc': 4.31.0
+ '@rollup/rollup-android-arm-eabi': 4.37.0
+ '@rollup/rollup-android-arm64': 4.37.0
+ '@rollup/rollup-darwin-arm64': 4.37.0
+ '@rollup/rollup-darwin-x64': 4.37.0
+ '@rollup/rollup-freebsd-arm64': 4.37.0
+ '@rollup/rollup-freebsd-x64': 4.37.0
+ '@rollup/rollup-linux-arm-gnueabihf': 4.37.0
+ '@rollup/rollup-linux-arm-musleabihf': 4.37.0
+ '@rollup/rollup-linux-arm64-gnu': 4.37.0
+ '@rollup/rollup-linux-arm64-musl': 4.37.0
+ '@rollup/rollup-linux-loongarch64-gnu': 4.37.0
+ '@rollup/rollup-linux-powerpc64le-gnu': 4.37.0
+ '@rollup/rollup-linux-riscv64-gnu': 4.37.0
+ '@rollup/rollup-linux-riscv64-musl': 4.37.0
+ '@rollup/rollup-linux-s390x-gnu': 4.37.0
+ '@rollup/rollup-linux-x64-gnu': 4.37.0
+ '@rollup/rollup-linux-x64-musl': 4.37.0
+ '@rollup/rollup-win32-arm64-msvc': 4.37.0
+ '@rollup/rollup-win32-ia32-msvc': 4.37.0
+ '@rollup/rollup-win32-x64-msvc': 4.37.0
fsevents: 2.3.3
run-parallel@1.2.0:
dependencies:
queue-microtask: 1.2.3
- safe-array-concat@1.1.2:
+ safe-array-concat@1.1.3:
+ dependencies:
+ call-bind: 1.0.8
+ call-bound: 1.0.4
+ get-intrinsic: 1.3.0
+ has-symbols: 1.1.0
+ isarray: 2.0.5
+
+ safe-push-apply@1.0.0:
dependencies:
- call-bind: 1.0.7
- get-intrinsic: 1.2.4
- has-symbols: 1.0.3
+ es-errors: 1.3.0
isarray: 2.0.5
- safe-regex-test@1.0.3:
+ safe-regex-test@1.1.0:
dependencies:
- call-bind: 1.0.7
+ call-bound: 1.0.4
es-errors: 1.3.0
- is-regex: 1.1.4
+ is-regex: 1.2.1
semver@5.7.2: {}
- semver@7.6.3: {}
+ semver@7.7.1: {}
set-function-length@1.2.2:
dependencies:
define-data-property: 1.1.4
es-errors: 1.3.0
function-bind: 1.1.2
- get-intrinsic: 1.2.4
- gopd: 1.0.1
+ get-intrinsic: 1.3.0
+ gopd: 1.2.0
has-property-descriptors: 1.0.2
set-function-name@2.0.2:
@@ -3445,6 +3494,12 @@ snapshots:
functions-have-names: 1.2.3
has-property-descriptors: 1.0.2
+ set-proto@1.0.0:
+ dependencies:
+ dunder-proto: 1.0.1
+ es-errors: 1.3.0
+ es-object-atoms: 1.1.1
+
shebang-command@1.2.0:
dependencies:
shebang-regex: 1.0.0
@@ -3457,16 +3512,35 @@ snapshots:
shebang-regex@3.0.0: {}
- shell-quote@1.8.1: {}
+ shell-quote@1.8.2: {}
+
+ side-channel-list@1.0.0:
+ dependencies:
+ es-errors: 1.3.0
+ object-inspect: 1.13.4
+
+ side-channel-map@1.0.1:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
+ object-inspect: 1.13.4
- side-channel@1.0.6:
+ side-channel-weakmap@1.0.2:
dependencies:
- call-bind: 1.0.7
+ call-bound: 1.0.4
es-errors: 1.3.0
- get-intrinsic: 1.2.4
- object-inspect: 1.13.2
+ get-intrinsic: 1.3.0
+ object-inspect: 1.13.4
+ side-channel-map: 1.0.1
- signal-exit@4.1.0: {}
+ side-channel@1.1.0:
+ dependencies:
+ es-errors: 1.3.0
+ object-inspect: 1.13.4
+ side-channel-list: 1.0.0
+ side-channel-map: 1.0.1
+ side-channel-weakmap: 1.0.2
sortablejs@1.15.0: {}
@@ -3475,76 +3549,56 @@ snapshots:
spdx-correct@3.2.0:
dependencies:
spdx-expression-parse: 3.0.1
- spdx-license-ids: 3.0.20
+ spdx-license-ids: 3.0.21
spdx-exceptions@2.5.0: {}
spdx-expression-parse@3.0.1:
dependencies:
spdx-exceptions: 2.5.0
- spdx-license-ids: 3.0.20
-
- spdx-license-ids@3.0.20: {}
+ spdx-license-ids: 3.0.21
- string-width@4.2.3:
- dependencies:
- emoji-regex: 8.0.0
- is-fullwidth-code-point: 3.0.0
- strip-ansi: 6.0.1
+ spdx-license-ids@3.0.21: {}
- string-width@5.1.2:
- dependencies:
- eastasianwidth: 0.2.0
- emoji-regex: 9.2.2
- strip-ansi: 7.1.0
+ speakingurl@14.0.1: {}
string.prototype.padend@3.1.6:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
define-properties: 1.2.1
- es-abstract: 1.23.3
- es-object-atoms: 1.0.0
+ es-abstract: 1.23.9
+ es-object-atoms: 1.1.1
- string.prototype.trim@1.2.9:
+ string.prototype.trim@1.2.10:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
+ call-bound: 1.0.4
+ define-data-property: 1.1.4
define-properties: 1.2.1
- es-abstract: 1.23.3
- es-object-atoms: 1.0.0
+ es-abstract: 1.23.9
+ es-object-atoms: 1.1.1
+ has-property-descriptors: 1.0.2
- string.prototype.trimend@1.0.8:
+ string.prototype.trimend@1.0.9:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
+ call-bound: 1.0.4
define-properties: 1.2.1
- es-object-atoms: 1.0.0
+ es-object-atoms: 1.1.1
string.prototype.trimstart@1.0.8:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
define-properties: 1.2.1
- es-object-atoms: 1.0.0
-
- strip-ansi@6.0.1:
- dependencies:
- ansi-regex: 5.0.1
-
- strip-ansi@7.1.0:
- dependencies:
- ansi-regex: 6.1.0
+ es-object-atoms: 1.1.1
strip-bom@3.0.0: {}
strip-json-comments@3.1.1: {}
- sucrase@3.35.0:
+ superjson@2.2.2:
dependencies:
- '@jridgewell/gen-mapping': 0.3.5
- commander: 4.1.1
- glob: 10.4.5
- lines-and-columns: 1.2.4
- mz: 2.7.0
- pirates: 4.0.6
- ts-interface-checker: 0.1.13
+ copy-anything: 3.0.5
supports-color@5.5.0:
dependencies:
@@ -3556,57 +3610,22 @@ snapshots:
supports-preserve-symlinks-flag@1.0.0: {}
- synckit@0.9.2:
+ synckit@0.10.3:
dependencies:
- '@pkgr/core': 0.1.1
+ '@pkgr/core': 0.2.0
tslib: 2.8.1
- tailwindcss@3.4.14:
- dependencies:
- '@alloc/quick-lru': 5.2.0
- arg: 5.0.2
- chokidar: 3.6.0
- didyoumean: 1.2.2
- dlv: 1.1.3
- fast-glob: 3.3.2
- glob-parent: 6.0.2
- is-glob: 4.0.3
- jiti: 1.21.6
- lilconfig: 2.1.0
- micromatch: 4.0.8
- normalize-path: 3.0.0
- object-hash: 3.0.0
- picocolors: 1.1.1
- postcss: 8.4.47
- postcss-import: 15.1.0(postcss@8.4.47)
- postcss-js: 4.0.1(postcss@8.4.47)
- postcss-load-config: 4.0.2(postcss@8.4.47)
- postcss-nested: 6.2.0(postcss@8.4.47)
- postcss-selector-parser: 6.1.2
- resolve: 1.22.8
- sucrase: 3.35.0
- transitivePeerDependencies:
- - ts-node
-
- text-table@0.2.0: {}
-
- thenify-all@1.6.0:
- dependencies:
- thenify: 3.3.1
+ tailwindcss@4.0.16: {}
- thenify@3.3.1:
- dependencies:
- any-promise: 1.3.0
+ tapable@2.2.1: {}
to-regex-range@5.0.1:
dependencies:
is-number: 7.0.0
- ts-api-utils@1.4.0(typescript@5.6.3):
+ ts-api-utils@2.1.0(typescript@5.8.2):
dependencies:
- typescript: 5.6.3
-
- ts-interface-checker@0.1.13: {}
+ typescript: 5.8.2
tslib@2.8.1: {}
@@ -3614,67 +3633,59 @@ snapshots:
dependencies:
prelude-ls: 1.2.1
- type-fest@0.20.2: {}
-
- typed-array-buffer@1.0.2:
+ typed-array-buffer@1.0.3:
dependencies:
- call-bind: 1.0.7
+ call-bound: 1.0.4
es-errors: 1.3.0
- is-typed-array: 1.1.13
+ is-typed-array: 1.1.15
- typed-array-byte-length@1.0.1:
+ typed-array-byte-length@1.0.3:
dependencies:
- call-bind: 1.0.7
- for-each: 0.3.3
- gopd: 1.0.1
- has-proto: 1.0.3
- is-typed-array: 1.1.13
+ call-bind: 1.0.8
+ for-each: 0.3.5
+ gopd: 1.2.0
+ has-proto: 1.2.0
+ is-typed-array: 1.1.15
- typed-array-byte-offset@1.0.2:
+ typed-array-byte-offset@1.0.4:
dependencies:
available-typed-arrays: 1.0.7
- call-bind: 1.0.7
- for-each: 0.3.3
- gopd: 1.0.1
- has-proto: 1.0.3
- is-typed-array: 1.1.13
-
- typed-array-length@1.0.6:
- dependencies:
- call-bind: 1.0.7
- for-each: 0.3.3
- gopd: 1.0.1
- has-proto: 1.0.3
- is-typed-array: 1.1.13
- possible-typed-array-names: 1.0.0
-
- typescript-eslint@8.12.2(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3):
- dependencies:
- '@typescript-eslint/eslint-plugin': 8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3)
- '@typescript-eslint/parser': 8.12.2(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3)
- '@typescript-eslint/utils': 8.12.2(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3)
- optionalDependencies:
- typescript: 5.6.3
+ call-bind: 1.0.8
+ for-each: 0.3.5
+ gopd: 1.2.0
+ has-proto: 1.2.0
+ is-typed-array: 1.1.15
+ reflect.getprototypeof: 1.0.10
+
+ typed-array-length@1.0.7:
+ dependencies:
+ call-bind: 1.0.8
+ for-each: 0.3.5
+ gopd: 1.2.0
+ is-typed-array: 1.1.15
+ possible-typed-array-names: 1.1.0
+ reflect.getprototypeof: 1.0.10
+
+ typescript-eslint@8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2):
+ dependencies:
+ '@typescript-eslint/eslint-plugin': 8.28.0(@typescript-eslint/parser@8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)
+ '@typescript-eslint/parser': 8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)
+ '@typescript-eslint/utils': 8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)
+ eslint: 9.23.0(jiti@2.4.2)
+ typescript: 5.8.2
transitivePeerDependencies:
- - eslint
- supports-color
- typescript@5.6.3: {}
+ typescript@5.8.2: {}
- unbox-primitive@1.0.2:
+ unbox-primitive@1.1.0:
dependencies:
- call-bind: 1.0.7
- has-bigints: 1.0.2
- has-symbols: 1.0.3
- which-boxed-primitive: 1.0.2
+ call-bound: 1.0.4
+ has-bigints: 1.1.0
+ has-symbols: 1.1.0
+ which-boxed-primitive: 1.1.1
- undici-types@6.19.8: {}
-
- update-browserslist-db@1.1.1(browserslist@4.24.2):
- dependencies:
- browserslist: 4.24.2
- escalade: 3.2.0
- picocolors: 1.1.1
+ undici-types@6.20.0: {}
uri-js@4.4.1:
dependencies:
@@ -3687,56 +3698,53 @@ snapshots:
spdx-correct: 3.2.0
spdx-expression-parse: 3.0.1
- vite@5.4.12(@types/node@22.8.6):
+ vite@6.2.3(@types/node@22.13.13)(jiti@2.4.2)(lightningcss@1.29.2):
dependencies:
- esbuild: 0.21.5
- postcss: 8.4.47
- rollup: 4.31.0
+ esbuild: 0.25.1
+ postcss: 8.5.3
+ rollup: 4.37.0
optionalDependencies:
- '@types/node': 22.8.6
+ '@types/node': 22.13.13
fsevents: 2.3.3
+ jiti: 2.4.2
+ lightningcss: 1.29.2
- vscode-uri@3.0.8: {}
-
- vue-demi@0.14.10(vue@3.5.12(typescript@5.6.3)):
- dependencies:
- vue: 3.5.12(typescript@5.6.3)
+ vscode-uri@3.1.0: {}
- vue-draggable-next@2.2.1(sortablejs@1.15.0)(vue@3.5.12(typescript@5.6.3)):
+ vue-draggable-next@2.2.1(sortablejs@1.15.0)(vue@3.5.13(typescript@5.8.2)):
dependencies:
sortablejs: 1.15.0
- vue: 3.5.12(typescript@5.6.3)
+ vue: 3.5.13(typescript@5.8.2)
- vue-eslint-parser@9.4.3(eslint@9.14.0(jiti@1.21.6)):
+ vue-eslint-parser@10.1.1(eslint@9.23.0(jiti@2.4.2)):
dependencies:
- debug: 4.3.7
- eslint: 9.14.0(jiti@1.21.6)
- eslint-scope: 7.2.2
- eslint-visitor-keys: 3.4.3
- espree: 9.6.1
+ debug: 4.4.0
+ eslint: 9.23.0(jiti@2.4.2)
+ eslint-scope: 8.3.0
+ eslint-visitor-keys: 4.2.0
+ espree: 10.3.0
esquery: 1.6.0
lodash: 4.17.21
- semver: 7.6.3
+ semver: 7.7.1
transitivePeerDependencies:
- supports-color
- vue-router@4.4.5(vue@3.5.12(typescript@5.6.3)):
+ vue-router@4.5.0(vue@3.5.13(typescript@5.8.2)):
dependencies:
'@vue/devtools-api': 6.6.4
- vue: 3.5.12(typescript@5.6.3)
+ vue: 3.5.13(typescript@5.8.2)
- vue-toastification@2.0.0-rc.5(vue@3.5.12(typescript@5.6.3)):
+ vue-toastification@2.0.0-rc.5(vue@3.5.13(typescript@5.8.2)):
dependencies:
- vue: 3.5.12(typescript@5.6.3)
+ vue: 3.5.13(typescript@5.8.2)
- vue-tsc@2.1.10(typescript@5.6.3):
+ vue-tsc@2.2.8(typescript@5.8.2):
dependencies:
- '@volar/typescript': 2.4.8
- '@vue/language-core': 2.1.10(typescript@5.6.3)
- semver: 7.6.3
- typescript: 5.6.3
+ '@volar/typescript': 2.4.12
+ '@vue/language-core': 2.2.8(typescript@5.8.2)
+ typescript: 5.8.2
- vue3-charts@1.1.33(vue@3.5.12(typescript@5.6.3)):
+ vue3-charts@1.1.33(vue@3.5.13(typescript@5.8.2)):
dependencies:
d3-array: 3.2.4
d3-axis: 3.0.0
@@ -3747,32 +3755,57 @@ snapshots:
d3-selection: 3.0.0
d3-shape: 3.2.0
ramda: 0.28.0
- vue: 3.5.12(typescript@5.6.3)
+ vue: 3.5.13(typescript@5.8.2)
- vue@3.5.12(typescript@5.6.3):
+ vue@3.5.13(typescript@5.8.2):
dependencies:
- '@vue/compiler-dom': 3.5.12
- '@vue/compiler-sfc': 3.5.12
- '@vue/runtime-dom': 3.5.12
- '@vue/server-renderer': 3.5.12(vue@3.5.12(typescript@5.6.3))
- '@vue/shared': 3.5.12
+ '@vue/compiler-dom': 3.5.13
+ '@vue/compiler-sfc': 3.5.13
+ '@vue/runtime-dom': 3.5.13
+ '@vue/server-renderer': 3.5.13(vue@3.5.13(typescript@5.8.2))
+ '@vue/shared': 3.5.13
optionalDependencies:
- typescript: 5.6.3
+ typescript: 5.8.2
+
+ which-boxed-primitive@1.1.1:
+ dependencies:
+ is-bigint: 1.1.0
+ is-boolean-object: 1.2.2
+ is-number-object: 1.1.1
+ is-string: 1.1.1
+ is-symbol: 1.1.1
+
+ which-builtin-type@1.2.1:
+ dependencies:
+ call-bound: 1.0.4
+ function.prototype.name: 1.1.8
+ has-tostringtag: 1.0.2
+ is-async-function: 2.1.1
+ is-date-object: 1.1.0
+ is-finalizationregistry: 1.1.1
+ is-generator-function: 1.1.0
+ is-regex: 1.2.1
+ is-weakref: 1.1.1
+ isarray: 2.0.5
+ which-boxed-primitive: 1.1.1
+ which-collection: 1.0.2
+ which-typed-array: 1.1.19
- which-boxed-primitive@1.0.2:
+ which-collection@1.0.2:
dependencies:
- is-bigint: 1.0.4
- is-boolean-object: 1.1.2
- is-number-object: 1.0.7
- is-string: 1.0.7
- is-symbol: 1.0.4
+ is-map: 2.0.3
+ is-set: 2.0.3
+ is-weakmap: 2.0.2
+ is-weakset: 2.0.4
- which-typed-array@1.1.15:
+ which-typed-array@1.1.19:
dependencies:
available-typed-arrays: 1.0.7
- call-bind: 1.0.7
- for-each: 0.3.3
- gopd: 1.0.1
+ call-bind: 1.0.8
+ call-bound: 1.0.4
+ for-each: 0.3.5
+ get-proto: 1.0.1
+ gopd: 1.2.0
has-tostringtag: 1.0.2
which@1.3.1:
@@ -3785,20 +3818,6 @@ snapshots:
word-wrap@1.2.5: {}
- wrap-ansi@7.0.0:
- dependencies:
- ansi-styles: 4.3.0
- string-width: 4.2.3
- strip-ansi: 6.0.1
-
- wrap-ansi@8.1.0:
- dependencies:
- ansi-styles: 6.2.1
- string-width: 5.1.2
- strip-ansi: 7.1.0
-
xml-name-validator@4.0.0: {}
- yaml@2.6.0: {}
-
yocto-queue@0.1.0: {}
diff --git a/Frontend/src/styles/tailwind.css b/Frontend/src/styles/tailwind.css
index 1aa3f39..5e1ee4d 100644
--- a/Frontend/src/styles/tailwind.css
+++ b/Frontend/src/styles/tailwind.css
@@ -1,6 +1,4 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
+@import "tailwindcss";
.btn {
@apply font-bold py-2 px-4 rounded;
diff --git a/Frontend/vite.config.ts b/Frontend/vite.config.ts
index 109c18c..0b6790a 100644
--- a/Frontend/vite.config.ts
+++ b/Frontend/vite.config.ts
@@ -2,12 +2,11 @@ import { fileURLToPath, URL } from 'node:url'
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
-import tailwindcss from "tailwindcss";
-import autoprefixer from "autoprefixer";
+import tailwindcss from "@tailwindcss/vite";
// https://vitejs.dev/config/
export default defineConfig({
- plugins: [vue()],
+ plugins: [vue(), tailwindcss()],
server: {
port: 9090
},
@@ -17,11 +16,6 @@ export default defineConfig({
},
extensions: ['.js', '.json', '.jsx', '.mjs', '.ts', '.tsx', '.vue']
},
- css: {
- postcss: {
- plugins: [tailwindcss, autoprefixer]
- }
- },
build: {
outDir: '../Backend/bootstrap/src/main/resources/static'
}
diff --git a/README.md b/README.md
index b67aeaf..a151704 100644
--- a/README.md
+++ b/README.md
@@ -23,7 +23,7 @@ cd Frontend
# Install NPM dependencies
pnpm i
# Start dev server
-pnpm serve
+pnpm dev
# Build for prod
pnpm build
# Run linter
diff --git a/build.gradle.kts b/build.gradle.kts
index 616ecf0..37a2735 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -7,8 +7,8 @@ buildscript {
plugins {
alias(libs.plugins.kotlin.jvm) apply false
alias(libs.plugins.kotlin.serialization) apply false
- alias(libs.plugins.kover)
- alias(libs.plugins.versions)
+ alias(testLibs.plugins.kover)
+ alias(testLibs.plugins.versions)
}
allprojects {
@@ -32,7 +32,7 @@ kover {
reports {
filters {
excludes {
- packages("dev.honegger.jasstracker.data.database", "dev.honegger.jasstracker.bootstrap.*")
+ packages("dev.honegger.jasstracker.data.database", "dev.honegger.jasstracker.bootstrap", "dev.honegger.jasstracker.bootstrap.plugins")
}
}
verify {
diff --git a/docker-compose.yml b/docker-compose.yml
index 6c1453b..40a3c01 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1,5 +1,3 @@
-version: '3.8'
-
volumes:
postgresql_data:
@@ -21,7 +19,7 @@ services:
DB_PASSWORD: password
database:
- image: postgres:16-alpine
+ image: postgres:17-alpine
restart: on-failure
environment:
POSTGRES_USER: jasstracker
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
new file mode 100644
index 0000000..dccfe15
--- /dev/null
+++ b/gradle/libs.versions.toml
@@ -0,0 +1,45 @@
+[versions]
+kotlin = "2.1.20"
+ktor = "3.1.1"
+logback = "1.5.18"
+shadow = "8.1.1"
+kotlinxDatetime = "0.6.2"
+kotlinLogging = "7.0.5"
+flyway = "11.5.0"
+postgresql = "42.7.5"
+jooq = "3.20.2"
+jooqPlugin = "10.0"
+javaJwt = "4.5.0" # Equal to java-jwt-version from https://github.com/ktorio/ktor/blob/main/gradle/libs.versions.toml
+slf4j = "2.0.13"
+argon2 = "2.12"
+
+[libraries]
+ktor-server-core = { module = "io.ktor:ktor-server-core-jvm", version.ref = "ktor" }
+ktor-server-host-common = { module = "io.ktor:ktor-server-host-common-jvm", version.ref = "ktor" }
+ktor-server-auto-head-response = { module = "io.ktor:ktor-server-auto-head-response-jvm", version.ref = "ktor" }
+ktor-server-call-logging = { module = "io.ktor:ktor-server-call-logging", version.ref = "ktor" }
+ktor-server-content-negotiation = { module = "io.ktor:ktor-server-content-negotiation-jvm", version.ref = "ktor" }
+ktor-server-cors = { module = "io.ktor:ktor-server-cors-jvm", version.ref = "ktor" }
+ktor-serialization-kotlinx-json = { module = "io.ktor:ktor-serialization-kotlinx-json-jvm", version.ref = "ktor" }
+ktor-server-cio = { module = "io.ktor:ktor-server-cio", version.ref = "ktor" }
+ktor-client-content-negotiation = { module = "io.ktor:ktor-client-content-negotiation", version.ref = "ktor" }
+ktor-server-auth = { module = "io.ktor:ktor-server-auth", version.ref = "ktor" }
+ktor-server-auth-jwt = { module = "io.ktor:ktor-server-auth-jwt", version.ref = "ktor" }
+ktor-server-status-pages = { module = "io.ktor:ktor-server-status-pages", version.ref = "ktor" }
+kotlinx-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime-jvm", version.ref = "kotlinxDatetime" }
+logback = { module = "ch.qos.logback:logback-classic", version.ref = "logback" }
+slf4j = { module = "org.slf4j:slf4j-simple", version.ref = "slf4j" }
+kotlin-logging = { module = "io.github.oshai:kotlin-logging-jvm", version.ref = "kotlinLogging" }
+flyway-core = { module = "org.flywaydb:flyway-core", version.ref = "flyway" }
+flyway-postgresql = { module = "org.flywaydb:flyway-database-postgresql", version.ref = "flyway" }
+postgresql = { module = "org.postgresql:postgresql", version.ref = "postgresql" }
+jooq = { module = "org.jooq:jooq", version.ref = "jooq" }
+java-jwt = { module = "com.auth0:java-jwt", version.ref = "javaJwt" }
+argon2-jvm = { module = "de.mkammerer:argon2-jvm", version.ref = "argon2" }
+kotlin-reflect = { module = "org.jetbrains.kotlin:kotlin-reflect", version.ref = "kotlin" }
+
+[plugins]
+kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
+kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
+shadow = { id = "com.github.johnrengelman.shadow", version.ref = "shadow" }
+jooq = { id = "nu.studer.jooq", version.ref = "jooqPlugin" }
diff --git a/gradle/test-libs.versions.toml b/gradle/test-libs.versions.toml
new file mode 100644
index 0000000..e1d285a
--- /dev/null
+++ b/gradle/test-libs.versions.toml
@@ -0,0 +1,19 @@
+[versions]
+kotlin = "2.1.20"
+ktor = "3.1.2"
+mockk = "1.13.17"
+testcontainers = "1.20.6"
+kover = "0.9.1"
+versions = "0.52.0"
+
+[libraries]
+kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test-junit5", version.ref = "kotlin" }
+ktor-server-tests = { module = "io.ktor:ktor-server-test-host", version.ref = "ktor" }
+mockk = { module = "io.mockk:mockk", version.ref = "mockk" }
+testcontainers = { module = "org.testcontainers:testcontainers", version.ref = "testcontainers" }
+testcontainers-junit = { module = "org.testcontainers:junit-jupiter", version.ref = "testcontainers" }
+testcontainers-postgresql = { module = "org.testcontainers:postgresql", version.ref = "testcontainers" }
+
+[plugins]
+kover = { id = "org.jetbrains.kotlinx.kover", version.ref = "kover" }
+versions = { id = "com.github.ben-manes.versions", version.ref = "versions" }
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 94113f2..37f853b 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.11-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
diff --git a/settings.gradle.kts b/settings.gradle.kts
index 2a54873..95a8845 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -6,71 +6,13 @@ include(":Backend:web-api")
include(":Backend:security")
plugins {
- id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0"
+ id("org.gradle.toolchains.foojay-resolver-convention") version "0.9.0"
}
dependencyResolutionManagement {
versionCatalogs {
- val kotlin = "2.1.0-RC"
- val mockk = "1.13.13"
- val ktor = "3.0.1"
- val logback = "1.5.12"
- val shadow = "8.1.1"
- val kotlinxDatetime = "0.6.1"
- val kotlinLogging = "6.0.9"
- val flyway = "10.20.1"
- val postgresql = "42.7.4"
- val jooq = "3.19.8"
- val jooqPlugin = "8.2.1"
- val kover = "0.8.3"
- val testcontainers = "1.20.3"
- val javaJwt = "4.4.0" // Equal to java-jwt-version from https://github.com/ktorio/ktor/blob/main/gradle/libs.versions.toml
- val slf4j = "2.0.13"
- val argon2 = "2.11"
- val versions = "0.51.0"
-
- create("libs") {
- library("ktor-server-core", "io.ktor", "ktor-server-core-jvm").version(ktor)
- library("ktor-server-host-common", "io.ktor", "ktor-server-host-common-jvm").version(ktor)
- library("ktor-server-auto-head-response", "io.ktor", "ktor-server-auto-head-response-jvm").version(ktor)
- library("ktor-server-call-logging", "io.ktor", "ktor-server-call-logging").version(ktor)
- library("ktor-server-content-negotiation", "io.ktor", "ktor-server-content-negotiation-jvm").version(ktor)
- library("ktor-server-cors", "io.ktor", "ktor-server-cors-jvm").version(ktor)
- library("ktor-serialization-kotlinx-json", "io.ktor", "ktor-serialization-kotlinx-json-jvm").version(ktor)
- library("ktor-server-netty", "io.ktor", "ktor-server-netty-jvm").version(ktor)
- library("ktor-client-content-negotiation", "io.ktor", "ktor-client-content-negotiation").version(ktor)
- library("ktor-server-auth", "io.ktor", "ktor-server-auth").version(ktor)
- library("ktor-server-auth-jwt", "io.ktor", "ktor-server-auth-jwt").version(ktor)
- library("ktor-server-status-pages", "io.ktor", "ktor-server-status-pages").version(ktor)
- library("kotlinx-datetime", "org.jetbrains.kotlinx", "kotlinx-datetime-jvm").version(kotlinxDatetime)
- library("logback", "ch.qos.logback", "logback-classic").version(logback)
- library("slf4j", "org.slf4j", "slf4j-simple").version(slf4j)
- library("kotlin-logging", "io.github.oshai", "kotlin-logging-jvm").version(kotlinLogging)
- library("flyway-core", "org.flywaydb", "flyway-core").version(flyway)
- library("flyway-postgresql", "org.flywaydb", "flyway-database-postgresql").version(flyway)
- library("postgresql", "org.postgresql", "postgresql").version(postgresql)
- library("jooq", "org.jooq", "jooq").version(jooq)
- library("java-jwt", "com.auth0", "java-jwt").version(javaJwt)
- library("argon2-jvm-nolibs", "de.mkammerer", "argon2-jvm-nolibs").version(argon2)
- library("argon2-jvm", "de.mkammerer", "argon2-jvm").version(argon2)
- library("kotlin-reflect", "org.jetbrains.kotlin", "kotlin-reflect").version(kotlin)
-
- version("jooq", jooq)
-
- plugin("kotlin-jvm", "org.jetbrains.kotlin.jvm").version(kotlin)
- plugin("kotlin-serialization", "org.jetbrains.kotlin.plugin.serialization").version(kotlin)
- plugin("shadow", "com.github.johnrengelman.shadow").version(shadow)
- plugin("jooq", "nu.studer.jooq").version(jooqPlugin)
- plugin("kover", "org.jetbrains.kotlinx.kover").version(kover)
- plugin("versions", "com.github.ben-manes.versions").version(versions)
- }
create("testLibs") {
- library("kotlin-test", "org.jetbrains.kotlin", "kotlin-test-junit5").version(kotlin)
- library("ktor-server-tests", "io.ktor", "ktor-server-test-host").version(ktor)
- library("mockk", "io.mockk", "mockk").version(mockk)
- library("testcontainers", "org.testcontainers", "testcontainers").version(testcontainers)
- library("testcontainers-junit", "org.testcontainers", "junit-jupiter").version(testcontainers)
- library("testcontainers-postgresql", "org.testcontainers", "postgresql").version(testcontainers)
+ from(files("gradle/test-libs.versions.toml"))
}
}
}