From 5708f5cea710c3daa8065cd7b6603e726a6c5597 Mon Sep 17 00:00:00 2001 From: BoD Date: Mon, 26 May 2025 19:15:54 +0200 Subject: [PATCH 1/3] Bump sqldelight --- build-logic/build.gradle.kts | 3 ++- gradle/libs.versions.toml | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- .../api/android/normalized-cache-sqlite.api | 8 ++++---- .../api/jvm/normalized-cache-sqlite.api | 8 ++++---- .../api/normalized-cache-sqlite.klib.api | 8 ++++---- 6 files changed, 16 insertions(+), 15 deletions(-) diff --git a/build-logic/build.gradle.kts b/build-logic/build.gradle.kts index 6ad9598d..414fee76 100644 --- a/build-logic/build.gradle.kts +++ b/build-logic/build.gradle.kts @@ -1,3 +1,4 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile import org.jetbrains.kotlin.samWithReceiver.gradle.SamWithReceiverExtension import org.jetbrains.kotlin.samWithReceiver.gradle.SamWithReceiverGradleSubplugin @@ -32,7 +33,7 @@ tasks.withType().configureEach { } tasks.withType(KotlinJvmCompile::class.java).configureEach { - kotlinOptions.jvmTarget = "17" + compilerOptions.jvmTarget.set(JvmTarget.JVM_17) } gradlePlugin { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 1581c782..00398a5d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,7 +4,7 @@ android-plugin = "8.7.0" apollo = "4.2.0" okio = "3.9.0" atomicfu = "0.23.1" # Must be the same version as the one used by apollo-testing-support or native compilation will fail -sqldelight = "2.0.1" +sqldelight = "2.1.0" androidx-sqlite = "2.3.1" librarian = "0.0.8-SNAPSHOT-cd822254de75426f8f047a50bae467da872cc912" kotlinx-coroutines = "1.9.0" diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index df97d72b..002b867c 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.10.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/normalized-cache-sqlite/api/android/normalized-cache-sqlite.api b/normalized-cache-sqlite/api/android/normalized-cache-sqlite.api index 8adc0fe0..b0b7dfac 100644 --- a/normalized-cache-sqlite/api/android/normalized-cache-sqlite.api +++ b/normalized-cache-sqlite/api/android/normalized-cache-sqlite.api @@ -57,14 +57,14 @@ public final class com/apollographql/cache/normalized/sql/internal/record/Record public fun (Lapp/cash/sqldelight/db/SqlDriver;)V public final fun changes ()Lapp/cash/sqldelight/ExecutableQuery; public final fun count ()Lapp/cash/sqldelight/Query; - public final fun deleteAllRecords ()V - public final fun deleteRecords (Ljava/util/Collection;)V - public final fun insertOrUpdateRecord (Ljava/lang/String;[BJ)V + public final fun deleteAllRecords ()Lapp/cash/sqldelight/db/QueryResult; + public final fun deleteRecords (Ljava/util/Collection;)Lapp/cash/sqldelight/db/QueryResult; + public final fun insertOrUpdateRecord (Ljava/lang/String;[BJ)Lapp/cash/sqldelight/db/QueryResult; public final fun selectAllRecords ()Lapp/cash/sqldelight/Query; public final fun selectAllRecords (Lkotlin/jvm/functions/Function2;)Lapp/cash/sqldelight/Query; public final fun selectRecords (Ljava/util/Collection;)Lapp/cash/sqldelight/Query; public final fun selectRecords (Ljava/util/Collection;Lkotlin/jvm/functions/Function2;)Lapp/cash/sqldelight/Query; - public final fun trimByUpdatedDate (J)V + public final fun trimByUpdatedDate (J)Lapp/cash/sqldelight/db/QueryResult; } public final class com/apollographql/cache/normalized/sql/internal/record/SelectAllRecords { diff --git a/normalized-cache-sqlite/api/jvm/normalized-cache-sqlite.api b/normalized-cache-sqlite/api/jvm/normalized-cache-sqlite.api index de11d7e4..62997077 100644 --- a/normalized-cache-sqlite/api/jvm/normalized-cache-sqlite.api +++ b/normalized-cache-sqlite/api/jvm/normalized-cache-sqlite.api @@ -42,14 +42,14 @@ public final class com/apollographql/cache/normalized/sql/internal/record/Record public fun (Lapp/cash/sqldelight/db/SqlDriver;)V public final fun changes ()Lapp/cash/sqldelight/ExecutableQuery; public final fun count ()Lapp/cash/sqldelight/Query; - public final fun deleteAllRecords ()V - public final fun deleteRecords (Ljava/util/Collection;)V - public final fun insertOrUpdateRecord (Ljava/lang/String;[BJ)V + public final fun deleteAllRecords ()Lapp/cash/sqldelight/db/QueryResult; + public final fun deleteRecords (Ljava/util/Collection;)Lapp/cash/sqldelight/db/QueryResult; + public final fun insertOrUpdateRecord (Ljava/lang/String;[BJ)Lapp/cash/sqldelight/db/QueryResult; public final fun selectAllRecords ()Lapp/cash/sqldelight/Query; public final fun selectAllRecords (Lkotlin/jvm/functions/Function2;)Lapp/cash/sqldelight/Query; public final fun selectRecords (Ljava/util/Collection;)Lapp/cash/sqldelight/Query; public final fun selectRecords (Ljava/util/Collection;Lkotlin/jvm/functions/Function2;)Lapp/cash/sqldelight/Query; - public final fun trimByUpdatedDate (J)V + public final fun trimByUpdatedDate (J)Lapp/cash/sqldelight/db/QueryResult; } public final class com/apollographql/cache/normalized/sql/internal/record/SelectAllRecords { diff --git a/normalized-cache-sqlite/api/normalized-cache-sqlite.klib.api b/normalized-cache-sqlite/api/normalized-cache-sqlite.klib.api index 7f22099b..cc5cd29a 100644 --- a/normalized-cache-sqlite/api/normalized-cache-sqlite.klib.api +++ b/normalized-cache-sqlite/api/normalized-cache-sqlite.klib.api @@ -44,12 +44,12 @@ final class com.apollographql.cache.normalized.sql.internal.record/RecordQueries final fun <#A1: kotlin/Any> selectRecords(kotlin.collections/Collection, kotlin/Function2): app.cash.sqldelight/Query<#A1> // com.apollographql.cache.normalized.sql.internal.record/RecordQueries.selectRecords|selectRecords(kotlin.collections.Collection;kotlin.Function2){0ยง}[0] final fun changes(): app.cash.sqldelight/ExecutableQuery // com.apollographql.cache.normalized.sql.internal.record/RecordQueries.changes|changes(){}[0] final fun count(): app.cash.sqldelight/Query // com.apollographql.cache.normalized.sql.internal.record/RecordQueries.count|count(){}[0] - final fun deleteAllRecords() // com.apollographql.cache.normalized.sql.internal.record/RecordQueries.deleteAllRecords|deleteAllRecords(){}[0] - final fun deleteRecords(kotlin.collections/Collection) // com.apollographql.cache.normalized.sql.internal.record/RecordQueries.deleteRecords|deleteRecords(kotlin.collections.Collection){}[0] - final fun insertOrUpdateRecord(kotlin/String, kotlin/ByteArray, kotlin/Long) // com.apollographql.cache.normalized.sql.internal.record/RecordQueries.insertOrUpdateRecord|insertOrUpdateRecord(kotlin.String;kotlin.ByteArray;kotlin.Long){}[0] + final fun deleteAllRecords(): app.cash.sqldelight.db/QueryResult // com.apollographql.cache.normalized.sql.internal.record/RecordQueries.deleteAllRecords|deleteAllRecords(){}[0] + final fun deleteRecords(kotlin.collections/Collection): app.cash.sqldelight.db/QueryResult // com.apollographql.cache.normalized.sql.internal.record/RecordQueries.deleteRecords|deleteRecords(kotlin.collections.Collection){}[0] + final fun insertOrUpdateRecord(kotlin/String, kotlin/ByteArray, kotlin/Long): app.cash.sqldelight.db/QueryResult // com.apollographql.cache.normalized.sql.internal.record/RecordQueries.insertOrUpdateRecord|insertOrUpdateRecord(kotlin.String;kotlin.ByteArray;kotlin.Long){}[0] final fun selectAllRecords(): app.cash.sqldelight/Query // com.apollographql.cache.normalized.sql.internal.record/RecordQueries.selectAllRecords|selectAllRecords(){}[0] final fun selectRecords(kotlin.collections/Collection): app.cash.sqldelight/Query // com.apollographql.cache.normalized.sql.internal.record/RecordQueries.selectRecords|selectRecords(kotlin.collections.Collection){}[0] - final fun trimByUpdatedDate(kotlin/Long) // com.apollographql.cache.normalized.sql.internal.record/RecordQueries.trimByUpdatedDate|trimByUpdatedDate(kotlin.Long){}[0] + final fun trimByUpdatedDate(kotlin/Long): app.cash.sqldelight.db/QueryResult // com.apollographql.cache.normalized.sql.internal.record/RecordQueries.trimByUpdatedDate|trimByUpdatedDate(kotlin.Long){}[0] } final class com.apollographql.cache.normalized.sql.internal.record/SelectAllRecords { // com.apollographql.cache.normalized.sql.internal.record/SelectAllRecords|null[0] From 500c931b865721c8a79e107f9da6f1e75e3f7201 Mon Sep 17 00:00:00 2001 From: BoD Date: Fri, 30 May 2025 19:06:08 +0200 Subject: [PATCH 2/3] Differentiate Node and Browser environments --- build-logic/src/main/kotlin/Kmp.kt | 57 +- gradle/libs.versions.toml | 2 + kotlin-js-store/yarn.lock | 1567 +++++++++++++++- normalized-cache-sqlite/build.gradle.kts | 8 +- normalized-cache/build.gradle.kts | 17 +- normalized-cache/webpack.config.d/config.js | 9 + test-utils/api/test-utils.api | 16 - test-utils/api/test-utils.klib.api | 9 - test-utils/build.gradle.kts | 13 +- .../normalized/testing/readFile.apple.kt | 5 - .../normalized/testing/FilesystemCommon.kt | 32 - .../cache/normalized/testing/channels.kt | 6 +- .../cache/normalized/testing/readFile.kt | 17 - .../normalized/testing/readFile.concurrent.kt | 10 - .../cache/normalized/testing/readFile.js.kt | 11 - .../cache/normalized/testing/readFile.jvm.kt | 14 - .../normalized/testing/readFile.wasmJs.kt | 20 - tests/cache-control/build.gradle.kts | 4 +- .../build.gradle.kts | 4 +- .../webpack.config.d/config.js | 8 + tests/defer/build.gradle.kts | 4 +- tests/garbage-collection/build.gradle.kts | 4 +- .../build.gradle.kts | 5 +- .../src/commonTest/kotlin/IncludeTest.kt | 8 - .../webpack.config.d/config.js | 8 + tests/kotlin-js-store/yarn.lock | 1569 ++++++++++++++++- tests/migration/build.gradle.kts | 4 +- .../json/HeroAndFriendsNamesWithIDs.json | 26 - .../json/HeroAndFriendsWithTypename.json | 26 - .../json/HeroHumanOrDroid.json | 9 - .../json/HeroParentTypeDependentField.json | 25 - .../json/MergedFieldWithSameShape_Droid.json | 8 - .../json/MergedFieldWithSameShape_Human.json | 8 - .../json/OperationJsonWriter.json | 968 ---------- .../build.gradle.kts | 4 +- .../src/commonTest/kotlin/Utils.kt | 4 - .../commonTest/kotlin/fixtures/fixtures.kt | 110 ++ .../src/commonTest/kotlin/test/BasicTest.kt | 14 +- .../src/commonTest/kotlin/test/StoreTest.kt | 7 +- tests/models-operation-based/build.gradle.kts | 4 +- .../src/commonTest/kotlin/Utils.kt | 4 - .../commonTest/kotlin/fixtures/fixtures.kt | 110 ++ .../src/commonTest/kotlin/test/BasicTest.kt | 14 +- .../src/commonTest/kotlin/test/StoreTest.kt | 7 +- tests/models-response-based/build.gradle.kts | 4 +- .../src/commonTest/kotlin/Utils.kt | 4 - .../commonTest/kotlin/fixtures/fixtures.kt | 122 ++ .../src/commonTest/kotlin/test/BasicTest.kt | 17 +- .../src/commonTest/kotlin/test/StoreTest.kt | 7 +- tests/normalization-tests/build.gradle.kts | 4 +- tests/normalized-cache/build.gradle.kts | 4 +- .../src/commonTest/kotlin/BasicTest.kt | 33 +- .../src/commonTest/kotlin/CancelTest.kt | 5 +- .../src/commonTest/kotlin/JsonScalarTest.kt | 6 +- .../src/commonTest/kotlin/NormalizerTest.kt | 47 +- .../commonTest/kotlin/OptimisticCacheTest.kt | 21 +- .../src/commonTest/kotlin/OtherCacheTest.kt | 11 +- .../src/commonTest/kotlin/Utils.kt | 10 - .../kotlin/WatcherErrorHandlingTest.kt | 10 +- .../commonTest/kotlin/fixtures/fixtures.kt} | 470 ++++- .../kotlin/WriteToCacheAsynchronouslyTest.kt | 5 +- .../AllPlanetsListOfObjectWithNullObject.json | 47 - .../testFixtures/AllPlanetsNullableField.json | 1073 ----------- .../testFixtures/EpisodeHeroNameResponse.json | 8 - .../EpisodeHeroNameResponseNameChange.json | 9 - .../EpisodeHeroNameResponseWithId.json | 9 - .../HeroAndFriendsConnectionResponse.json | 36 - .../HeroAndFriendsNameResponse.json | 22 - ...dFriendsNameWithIdsParentOnlyResponse.json | 23 - .../HeroAndFriendsNameWithIdsResponse.json | 26 - .../testFixtures/HeroAppearsInResponse.json | 12 - .../HeroAppearsInResponseWithNulls.json | 15 - .../testFixtures/HeroNameResponse.json | 19 - .../testFixtures/HeroNameWithIdResponse.json | 9 - ...ParentTypeDependentFieldDroidResponse.json | 25 - ...ParentTypeDependentFieldHumanResponse.json | 28 - ...HeroTypeDependentAliasedFieldResponse.json | 8 - ...ypeDependentAliasedFieldResponseHuman.json | 8 - .../testFixtures/JsonScalar.json | 14 - .../testFixtures/JsonScalarModified.json | 9 - .../ReviewsEmpireEpisodeResponse.json | 24 - .../testFixtures/SameHeroTwiceResponse.json | 16 - .../testFixtures/StarshipByIdResponse.json | 23 - .../testFixtures/UpdateReviewResponse.json | 10 - tests/number-scalar/build.gradle.kts | 4 +- .../number-scalar/webpack.config.d/config.js | 9 + tests/optimistic-data/build.gradle.kts | 4 +- tests/pagination/build.gradle.kts | 4 +- tests/partial-results/build.gradle.kts | 4 +- tests/schema-changes/build.gradle.kts | 4 +- tests/store-errors/build.gradle.kts | 4 +- 91 files changed, 4201 insertions(+), 2864 deletions(-) create mode 100644 normalized-cache/webpack.config.d/config.js delete mode 100644 test-utils/src/appleMain/kotlin/com/apollographql/cache/normalized/testing/readFile.apple.kt delete mode 100644 test-utils/src/commonMain/kotlin/com/apollographql/cache/normalized/testing/FilesystemCommon.kt delete mode 100644 test-utils/src/commonMain/kotlin/com/apollographql/cache/normalized/testing/readFile.kt delete mode 100644 test-utils/src/concurrentMain/kotlin/com/apollographql/cache/normalized/testing/readFile.concurrent.kt delete mode 100644 test-utils/src/jsMain/kotlin/com/apollographql/cache/normalized/testing/readFile.js.kt delete mode 100644 test-utils/src/jvmMain/kotlin/com/apollographql/cache/normalized/testing/readFile.jvm.kt delete mode 100644 test-utils/src/wasmJsMain/kotlin/com/apollographql/cache/normalized/testing/readFile.wasmJs.kt create mode 100644 tests/cache-variables-arguments/webpack.config.d/config.js create mode 100644 tests/include-skip-operation-based/webpack.config.d/config.js delete mode 100644 tests/models-fixtures/json/HeroAndFriendsNamesWithIDs.json delete mode 100644 tests/models-fixtures/json/HeroAndFriendsWithTypename.json delete mode 100644 tests/models-fixtures/json/HeroHumanOrDroid.json delete mode 100644 tests/models-fixtures/json/HeroParentTypeDependentField.json delete mode 100644 tests/models-fixtures/json/MergedFieldWithSameShape_Droid.json delete mode 100644 tests/models-fixtures/json/MergedFieldWithSameShape_Human.json delete mode 100644 tests/models-fixtures/json/OperationJsonWriter.json delete mode 100644 tests/models-operation-based-with-interfaces/src/commonTest/kotlin/Utils.kt create mode 100644 tests/models-operation-based-with-interfaces/src/commonTest/kotlin/fixtures/fixtures.kt delete mode 100644 tests/models-operation-based/src/commonTest/kotlin/Utils.kt create mode 100644 tests/models-operation-based/src/commonTest/kotlin/fixtures/fixtures.kt delete mode 100644 tests/models-response-based/src/commonTest/kotlin/Utils.kt create mode 100644 tests/models-response-based/src/commonTest/kotlin/fixtures/fixtures.kt delete mode 100644 tests/normalized-cache/src/commonTest/kotlin/Utils.kt rename tests/{models-fixtures/json/AllPlanets.json => normalized-cache/src/commonTest/kotlin/fixtures/fixtures.kt} (77%) delete mode 100644 tests/normalized-cache/testFixtures/AllPlanetsListOfObjectWithNullObject.json delete mode 100644 tests/normalized-cache/testFixtures/AllPlanetsNullableField.json delete mode 100644 tests/normalized-cache/testFixtures/EpisodeHeroNameResponse.json delete mode 100644 tests/normalized-cache/testFixtures/EpisodeHeroNameResponseNameChange.json delete mode 100644 tests/normalized-cache/testFixtures/EpisodeHeroNameResponseWithId.json delete mode 100644 tests/normalized-cache/testFixtures/HeroAndFriendsConnectionResponse.json delete mode 100644 tests/normalized-cache/testFixtures/HeroAndFriendsNameResponse.json delete mode 100644 tests/normalized-cache/testFixtures/HeroAndFriendsNameWithIdsParentOnlyResponse.json delete mode 100644 tests/normalized-cache/testFixtures/HeroAndFriendsNameWithIdsResponse.json delete mode 100644 tests/normalized-cache/testFixtures/HeroAppearsInResponse.json delete mode 100644 tests/normalized-cache/testFixtures/HeroAppearsInResponseWithNulls.json delete mode 100644 tests/normalized-cache/testFixtures/HeroNameResponse.json delete mode 100644 tests/normalized-cache/testFixtures/HeroNameWithIdResponse.json delete mode 100644 tests/normalized-cache/testFixtures/HeroParentTypeDependentFieldDroidResponse.json delete mode 100644 tests/normalized-cache/testFixtures/HeroParentTypeDependentFieldHumanResponse.json delete mode 100644 tests/normalized-cache/testFixtures/HeroTypeDependentAliasedFieldResponse.json delete mode 100644 tests/normalized-cache/testFixtures/HeroTypeDependentAliasedFieldResponseHuman.json delete mode 100644 tests/normalized-cache/testFixtures/JsonScalar.json delete mode 100644 tests/normalized-cache/testFixtures/JsonScalarModified.json delete mode 100644 tests/normalized-cache/testFixtures/ReviewsEmpireEpisodeResponse.json delete mode 100644 tests/normalized-cache/testFixtures/SameHeroTwiceResponse.json delete mode 100644 tests/normalized-cache/testFixtures/StarshipByIdResponse.json delete mode 100644 tests/normalized-cache/testFixtures/UpdateReviewResponse.json create mode 100644 tests/number-scalar/webpack.config.d/config.js diff --git a/build-logic/src/main/kotlin/Kmp.kt b/build-logic/src/main/kotlin/Kmp.kt index d0e29e53..b4f3a2e6 100644 --- a/build-logic/src/main/kotlin/Kmp.kt +++ b/build-logic/src/main/kotlin/Kmp.kt @@ -7,11 +7,16 @@ enum class AppleTargets { Host, } +enum class JsAndWasmEnvironment { + Node, + Browser, +} + fun KotlinMultiplatformExtension.configureKmp( - withJs: Boolean, - withWasm: Boolean, + withJs: Set, + withWasm: Set, withAndroid: Boolean, - withApple: AppleTargets = AppleTargets.All, + withApple: AppleTargets, ) { jvm() when (withApple) { @@ -37,22 +42,46 @@ fun KotlinMultiplatformExtension.configureKmp( } } } - if (withJs) { + if (withJs.isNotEmpty()) { js(IR) { - nodejs { - testTask { - useMocha { - // Override default 2s timeout - timeout = "120s" + if (withJs.contains(JsAndWasmEnvironment.Browser)) { + browser { + testTask { + useKarma { + useChromeHeadless() + } + } + } + } + if (withJs.contains(JsAndWasmEnvironment.Node)) { + nodejs { + testTask { + useMocha { + // Override default 2s timeout + timeout = "120s" + } } } } } } - if (withWasm) { + if (withWasm.isNotEmpty()) { @OptIn(ExperimentalWasmDsl::class) wasmJs { - nodejs() + if (withWasm.contains(JsAndWasmEnvironment.Browser)) { + browser { + testTask { + useKarma { + useChromeHeadless() + } + } + } + } + if (withWasm.contains(JsAndWasmEnvironment.Node)) { + // Mocha test framework for Wasm target is not supported + // See https://youtrack.jetbrains.com/issue/KT-74612 + nodejs() + } } } if (withAndroid) { @@ -75,14 +104,14 @@ fun KotlinMultiplatformExtension.configureKmp( } } } - if (withJs || withWasm) { + if (withJs.isNotEmpty() || withWasm.isNotEmpty()) { group("jsCommon") { - if (withJs) { + if (withJs.isNotEmpty()) { group("js") { withJs() } } - if (withWasm) { + if (withWasm.isNotEmpty()) { group("wasmJs") { withWasmJs() } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 00398a5d..16cb839a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -37,6 +37,8 @@ slf4j-nop = "org.slf4j:slf4j-nop:2.0.13" androidx-sqlite = { group = "androidx.sqlite", name = "sqlite", version.ref = "androidx-sqlite" } androidx-sqlite-framework = { group = "androidx.sqlite", name = "sqlite-framework", version.ref = "androidx-sqlite" } androidx-startup-runtime = "androidx.startup:startup-runtime:1.1.1" +kotlin-stdlib-js = { group = "org.jetbrains.kotlin", name = "kotlin-stdlib-js", version.ref = "kotlin-plugin" } +kotlin-stdlib-wasm-js = { group = "org.jetbrains.kotlin", name = "kotlin-stdlib-wasm-js", version.ref = "kotlin-plugin" } kotlin-poet = { group = "com.squareup", name = "kotlinpoet", version = "1.18.1" } kotlin-plugin = { group = "org.jetbrains.kotlin", name = "kotlin-gradle-plugin", version.ref = "kotlin-plugin" } kotlinx-coroutines-test = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref = "kotlinx-coroutines" } diff --git a/kotlin-js-store/yarn.lock b/kotlin-js-store/yarn.lock index 92448e94..f6d4edc4 100644 --- a/kotlin-js-store/yarn.lock +++ b/kotlin-js-store/yarn.lock @@ -2,6 +2,231 @@ # yarn lockfile v1 +"@colors/colors@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== + +"@discoveryjs/json-ext@^0.5.0": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== + +"@jridgewell/gen-mapping@^0.3.5": + version "0.3.8" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz#4f0e06362e01362f823d348f1872b08f666d8142" + integrity sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA== + dependencies: + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== + +"@jridgewell/source-map@^0.3.3": + version "0.3.6" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.6.tgz#9d71ca886e32502eb9362c9a74a46787c36df81a" + integrity sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ== + dependencies: + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== + +"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": + version "0.3.25" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@socket.io/component-emitter@~3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz#821f8442f4175d8f0467b9daf26e3a18e2d02af2" + integrity sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA== + +"@types/cors@^2.8.12": + version "2.8.18" + resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.18.tgz#101e033b3ca06695f3d73c587cd7f9eb348135d1" + integrity sha512-nX3d0sxJW41CqQvfOzVG1NCTXfFDrDWIghCZncpHeWlVFd81zxB/DLhg7avFg6eHLCRX7ckBmoIIcqa++upvJA== + dependencies: + "@types/node" "*" + +"@types/estree@^1.0.5": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.7.tgz#4158d3105276773d5b7695cd4834b1722e4f37a8" + integrity sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ== + +"@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + +"@types/node@*", "@types/node@>=10.0.0": + version "22.15.23" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.15.23.tgz#a0b7c03f951f1ffe381a6a345c68d80e48043dd0" + integrity sha512-7Ec1zaFPF4RJ0eXu1YT/xgiebqwqoJz8rYPDi/O2BcZ++Wpt0Kq9cl0eg6NN6bYbPnR67ZLo7St5Q3UK0SnARw== + dependencies: + undici-types "~6.21.0" + +"@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.12.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.14.1.tgz#a9f6a07f2b03c95c8d38c4536a1fdfb521ff55b6" + integrity sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ== + dependencies: + "@webassemblyjs/helper-numbers" "1.13.2" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + +"@webassemblyjs/floating-point-hex-parser@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz#fcca1eeddb1cc4e7b6eed4fc7956d6813b21b9fb" + integrity sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA== + +"@webassemblyjs/helper-api-error@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz#e0a16152248bc38daee76dd7e21f15c5ef3ab1e7" + integrity sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ== + +"@webassemblyjs/helper-buffer@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz#822a9bc603166531f7d5df84e67b5bf99b72b96b" + integrity sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA== + +"@webassemblyjs/helper-numbers@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz#dbd932548e7119f4b8a7877fd5a8d20e63490b2d" + integrity sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.13.2" + "@webassemblyjs/helper-api-error" "1.13.2" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-wasm-bytecode@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz#e556108758f448aae84c850e593ce18a0eb31e0b" + integrity sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA== + +"@webassemblyjs/helper-wasm-section@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz#9629dda9c4430eab54b591053d6dc6f3ba050348" + integrity sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/wasm-gen" "1.14.1" + +"@webassemblyjs/ieee754@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz#1c5eaace1d606ada2c7fd7045ea9356c59ee0dba" + integrity sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz#57c5c3deb0105d02ce25fa3fd74f4ebc9fd0bbb0" + integrity sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz#917a20e93f71ad5602966c2d685ae0c6c21f60f1" + integrity sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ== + +"@webassemblyjs/wasm-edit@^1.12.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz#ac6689f502219b59198ddec42dcd496b1004d597" + integrity sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/helper-wasm-section" "1.14.1" + "@webassemblyjs/wasm-gen" "1.14.1" + "@webassemblyjs/wasm-opt" "1.14.1" + "@webassemblyjs/wasm-parser" "1.14.1" + "@webassemblyjs/wast-printer" "1.14.1" + +"@webassemblyjs/wasm-gen@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz#991e7f0c090cb0bb62bbac882076e3d219da9570" + integrity sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/ieee754" "1.13.2" + "@webassemblyjs/leb128" "1.13.2" + "@webassemblyjs/utf8" "1.13.2" + +"@webassemblyjs/wasm-opt@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz#e6f71ed7ccae46781c206017d3c14c50efa8106b" + integrity sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/wasm-gen" "1.14.1" + "@webassemblyjs/wasm-parser" "1.14.1" + +"@webassemblyjs/wasm-parser@1.14.1", "@webassemblyjs/wasm-parser@^1.12.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz#b3e13f1893605ca78b52c68e54cf6a865f90b9fb" + integrity sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-api-error" "1.13.2" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/ieee754" "1.13.2" + "@webassemblyjs/leb128" "1.13.2" + "@webassemblyjs/utf8" "1.13.2" + +"@webassemblyjs/wast-printer@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz#3bb3e9638a8ae5fdaf9610e7a06b4d9f9aa6fe07" + integrity sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@xtuc/long" "4.2.2" + +"@webpack-cli/configtest@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-2.1.1.tgz#3b2f852e91dac6e3b85fb2a314fb8bef46d94646" + integrity sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw== + +"@webpack-cli/info@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-2.0.2.tgz#cc3fbf22efeb88ff62310cf885c5b09f44ae0fdd" + integrity sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A== + +"@webpack-cli/serve@^2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-2.0.5.tgz#325db42395cd49fe6c14057f9a900e427df8810e" + integrity sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ== + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + abort-controller@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" @@ -9,6 +234,63 @@ abort-controller@3.0.0: dependencies: event-target-shim "^5.0.0" +accepts@~1.3.4: + version "1.3.8" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn-import-attributes@^1.9.5: + version "1.9.5" + resolved "https://registry.yarnpkg.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz#7eb1557b1ba05ef18b5ed0ec67591bfab04688ef" + integrity sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ== + +acorn@^8.14.0, acorn@^8.7.1: + version "8.14.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.1.tgz#721d5dc10f7d5b5609a891773d47731796935dfb" + integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== + +ajv-formats@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== + dependencies: + ajv "^8.0.0" + +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv-keywords@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" + integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== + dependencies: + fast-deep-equal "^3.1.3" + +ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.0, ajv@^8.9.0: + version "8.17.1" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6" + integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== + dependencies: + fast-deep-equal "^3.1.3" + fast-uri "^3.0.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + ansi-colors@^4.1.3: version "4.1.3" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" @@ -44,11 +326,42 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== +base64id@2.0.0, base64id@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/base64id/-/base64id-2.0.0.tgz#2770ac6bc47d312af97a8bf9a634342e0cd25cb6" + integrity sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog== + binary-extensions@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== +body-parser@^1.19.0: + version "1.20.3" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.3.tgz#1953431221c6fb5cd63c4b36d53fab0928e548c6" + integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g== + dependencies: + bytes "3.1.2" + content-type "~1.0.5" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.13.0" + raw-body "2.5.2" + type-is "~1.6.18" + unpipe "1.0.0" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + brace-expansion@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" @@ -56,7 +369,7 @@ brace-expansion@^2.0.1: dependencies: balanced-match "^1.0.0" -braces@~3.0.2: +braces@^3.0.2, braces@~3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== @@ -68,16 +381,52 @@ browser-stdout@^1.3.1: resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== +browserslist@^4.21.10: + version "4.24.5" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.5.tgz#aa0f5b8560fe81fde84c6dcb38f759bafba0e11b" + integrity sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw== + dependencies: + caniuse-lite "^1.0.30001716" + electron-to-chromium "^1.5.149" + node-releases "^2.0.19" + update-browserslist-db "^1.1.3" + buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" + integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + +call-bound@^1.0.2, call-bound@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a" + integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== + dependencies: + call-bind-apply-helpers "^1.0.2" + get-intrinsic "^1.3.0" + camelcase@^6.0.0: version "6.3.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== +caniuse-lite@^1.0.30001716: + version "1.0.30001718" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001718.tgz#dae13a9c80d517c30c6197515a96131c194d8f82" + integrity sha512-AflseV1ahcSunK53NfEs9gFWgOEmzr0f+kaMFA4xiLZlr9Hzt7HxcSpIFcnNCUkz6R6dWKa54rUz3HUmI3nVcw== + chalk@^4.1.0: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" @@ -86,7 +435,7 @@ chalk@^4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chokidar@^3.5.3: +chokidar@^3.5.1, chokidar@^3.5.3: version "3.6.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== @@ -101,6 +450,11 @@ chokidar@^3.5.3: optionalDependencies: fsevents "~2.3.2" +chrome-trace-event@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz#05bffd7ff928465093314708c93bdfa9bd1f0f5b" + integrity sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ== + cliui@^7.0.2: version "7.0.4" resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" @@ -110,6 +464,15 @@ cliui@^7.0.2: strip-ansi "^6.0.0" wrap-ansi "^7.0.0" +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + color-convert@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" @@ -122,7 +485,88 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -debug@^4.3.5: +colorette@^2.0.14: + version "2.0.20" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== + +commander@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" + integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +connect@^3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/connect/-/connect-3.7.0.tgz#5d49348910caa5e07a01800b030d0c35f20484f8" + integrity sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ== + dependencies: + debug "2.6.9" + finalhandler "1.1.2" + parseurl "~1.3.3" + utils-merge "1.0.1" + +content-type@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== + +cookie@~0.7.2: + version "0.7.2" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.2.tgz#556369c472a2ba910f2979891b526b3436237ed7" + integrity sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w== + +cors@~2.8.5: + version "2.8.5" + resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" + integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== + dependencies: + object-assign "^4" + vary "^1" + +cross-spawn@^7.0.3: + version "7.0.6" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +custom-event@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425" + integrity sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg== + +date-format@^4.0.14: + version "4.0.14" + resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.14.tgz#7a8e584434fb169a521c8b7aa481f355810d9400" + integrity sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg== + +debug@2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^4.3.4: + version "4.4.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b" + integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ== + dependencies: + ms "^2.1.3" + +debug@^4.3.5, debug@~4.3.1, debug@~4.3.2, debug@~4.3.4: version "4.3.7" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== @@ -134,31 +578,215 @@ decamelize@^4.0.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== +depd@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +di@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz#806649326ceaa7caa3306d75d985ea2748ba913c" + integrity sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA== + diff@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== +dom-serialize@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz#562ae8999f44be5ea3076f5419dcd59eb43ac95b" + integrity sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ== + dependencies: + custom-event "~1.0.0" + ent "~2.2.0" + extend "^3.0.0" + void-elements "^2.0.0" + +dunder-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== + dependencies: + call-bind-apply-helpers "^1.0.1" + es-errors "^1.3.0" + gopd "^1.2.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +electron-to-chromium@^1.5.149: + version "1.5.159" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.159.tgz#b909c4a5dbd00674f18419199f71c945a199effe" + integrity sha512-CEvHptWAMV5p6GJ0Lq8aheyvVbfzVrv5mmidu1D3pidoVNkB3tTBsTMVtPJ+rzRK5oV229mCLz9Zj/hNvU8GBA== + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== + +engine.io-parser@~5.2.1: + version "5.2.3" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.2.3.tgz#00dc5b97b1f233a23c9398d0209504cf5f94d92f" + integrity sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q== + +engine.io@~6.6.0: + version "6.6.4" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.6.4.tgz#0a89a3e6b6c1d4b0c2a2a637495e7c149ec8d8ee" + integrity sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g== + dependencies: + "@types/cors" "^2.8.12" + "@types/node" ">=10.0.0" + accepts "~1.3.4" + base64id "2.0.0" + cookie "~0.7.2" + cors "~2.8.5" + debug "~4.3.1" + engine.io-parser "~5.2.1" + ws "~8.17.1" + +enhanced-resolve@^5.17.1: + version "5.18.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz#728ab082f8b7b6836de51f1637aab5d3b9568faf" + integrity sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +ent@~2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.2.tgz#22a5ed2fd7ce0cbcff1d1474cf4909a44bdb6e85" + integrity sha512-kKvD1tO6BM+oK9HzCPpUdRb4vKFQY/FPTFmurMvh6LlN68VMrdj77w8yp51/kDbpkFOS9J8w5W6zIzgM2H8/hw== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + punycode "^1.4.1" + safe-regex-test "^1.1.0" + +envinfo@^7.7.3: + version "7.14.0" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.14.0.tgz#26dac5db54418f2a4c1159153a0b2ae980838aae" + integrity sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg== + +es-define-property@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== + +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-module-lexer@^1.2.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.7.0.tgz#9159601561880a85f2734560a9099b2c31e5372a" + integrity sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA== + +es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" + integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== + dependencies: + es-errors "^1.3.0" + escalade@^3.1.1: version "3.1.2" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== +escalade@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + escape-string-regexp@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== +eslint-scope@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + event-target-shim@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +extend@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-uri@^3.0.1: + version "3.0.6" + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.6.tgz#88f130b77cfaea2378d56bf970dea21257a68748" + integrity sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw== + +fastest-levenshtein@^1.0.12: + version "1.0.16" + resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" + integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== + fill-range@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" @@ -166,6 +794,27 @@ fill-range@^7.1.1: dependencies: to-regex-range "^5.0.1" +finalhandler@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.3" + statuses "~1.5.0" + unpipe "~1.0.0" + +find-up@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + find-up@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" @@ -179,11 +828,30 @@ flat@^5.0.2: resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== +flatted@^3.2.7: + version "3.3.3" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.3.tgz#67c8fad95454a7c7abebf74bb78ee74a44023358" + integrity sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg== + +follow-redirects@^1.0.0: + version "1.15.9" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" + integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== + format-util@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/format-util/-/format-util-1.0.5.tgz#1ffb450c8a03e7bccffe40643180918cc297d271" integrity sha512-varLbTj0e0yVyRpqQhuWV+8hlePAgaoFRhNFj50BNjEIrw1/DphHSObtqwskVCPWNgzwPoQrZAbfa/SBiicNeg== +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" @@ -194,11 +862,40 @@ fsevents@~2.3.2: resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-intrinsic@^1.2.5, get-intrinsic@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" + integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== + 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" + 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: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" + integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== + dependencies: + dunder-proto "^1.0.1" + es-object-atoms "^1.0.0" + glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -206,6 +903,23 @@ glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +glob@^7.1.3, glob@^7.1.7: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + glob@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" @@ -217,16 +931,87 @@ glob@^8.1.0: minimatch "^5.0.1" once "^1.3.0" +gopd@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.10, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + has-flag@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== +has-symbols@^1.0.3, has-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== + +has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + +hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + he@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +iconv-lite@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +import-local@^3.0.2: + version "3.2.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260" + integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -235,11 +1020,16 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2: +inherits@2, inherits@2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== +interpret@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-3.1.1.tgz#5be0ceed67ca79c6c4bc5cf0d7ee843dcea110c4" + integrity sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ== + is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" @@ -247,6 +1037,13 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" +is-core-module@^2.16.0: + version "2.16.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" + integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== + dependencies: + hasown "^2.0.2" + is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -274,11 +1071,52 @@ is-plain-obj@^2.1.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-regex@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.2.1.tgz#76d70a3ed10ef9be48eb577887d74205bf0cad22" + integrity sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g== + dependencies: + call-bound "^1.0.2" + gopd "^1.2.0" + has-tostringtag "^1.0.2" + hasown "^2.0.2" + is-unicode-supported@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== +isbinaryfile@^4.0.8: + version "4.0.10" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz#0c5b5e30c2557a2f06febd37b7322946aaee42b3" + integrity sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + js-yaml@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" @@ -286,6 +1124,93 @@ js-yaml@^4.1.0: dependencies: argparse "^2.0.1" +json-parse-even-better-errors@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== + optionalDependencies: + graceful-fs "^4.1.6" + +karma-chrome-launcher@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz#eb9c95024f2d6dfbb3748d3415ac9b381906b9a9" + integrity sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q== + dependencies: + which "^1.2.1" + +karma-mocha@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/karma-mocha/-/karma-mocha-2.0.1.tgz#4b0254a18dfee71bdbe6188d9a6861bf86b0cd7d" + integrity sha512-Tzd5HBjm8his2OA4bouAsATYEpZrp9vC7z5E5j4C5Of5Rrs1jY67RAwXNcVmd/Bnk1wgvQRou0zGVLey44G4tQ== + dependencies: + minimist "^1.2.3" + +karma-sourcemap-loader@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/karma-sourcemap-loader/-/karma-sourcemap-loader-0.4.0.tgz#b01d73f8f688f533bcc8f5d273d43458e13b5488" + integrity sha512-xCRL3/pmhAYF3I6qOrcn0uhbQevitc2DERMPH82FMnG+4WReoGcGFZb1pURf2a5apyrOHRdvD+O6K7NljqKHyA== + dependencies: + graceful-fs "^4.2.10" + +karma-webpack@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/karma-webpack/-/karma-webpack-5.0.1.tgz#4eafd31bbe684a747a6e8f3e4ad373e53979ced4" + integrity sha512-oo38O+P3W2mSPCSUrQdySSPv1LvPpXP+f+bBimNomS5sW+1V4SuhCuW8TfJzV+rDv921w2fDSDw0xJbPe6U+kQ== + dependencies: + glob "^7.1.3" + minimatch "^9.0.3" + webpack-merge "^4.1.5" + +karma@6.4.4: + version "6.4.4" + resolved "https://registry.yarnpkg.com/karma/-/karma-6.4.4.tgz#dfa5a426cf5a8b53b43cd54ef0d0d09742351492" + integrity sha512-LrtUxbdvt1gOpo3gxG+VAJlJAEMhbWlM4YrFQgql98FwF7+K8K12LYO4hnDdUkNjeztYrOXEMqgTajSWgmtI/w== + dependencies: + "@colors/colors" "1.5.0" + body-parser "^1.19.0" + braces "^3.0.2" + chokidar "^3.5.1" + connect "^3.7.0" + di "^0.0.1" + dom-serialize "^2.2.1" + glob "^7.1.7" + graceful-fs "^4.2.6" + http-proxy "^1.18.1" + isbinaryfile "^4.0.8" + lodash "^4.17.21" + log4js "^6.4.1" + mime "^2.5.2" + minimatch "^3.0.4" + mkdirp "^0.5.5" + qjobs "^1.2.0" + range-parser "^1.2.1" + rimraf "^3.0.2" + socket.io "^4.7.2" + source-map "^0.6.1" + tmp "^0.2.1" + ua-parser-js "^0.7.30" + yargs "^16.1.1" + +kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + kotlin-web-helpers@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/kotlin-web-helpers/-/kotlin-web-helpers-2.0.0.tgz#b112096b273c1e733e0b86560998235c09a19286" @@ -293,6 +1218,18 @@ kotlin-web-helpers@2.0.0: dependencies: format-util "^1.0.5" +loader-runner@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + locate-path@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" @@ -300,6 +1237,11 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" +lodash@^4.17.15, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + log-symbols@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" @@ -308,6 +1250,56 @@ log-symbols@^4.1.0: chalk "^4.1.0" is-unicode-supported "^0.1.0" +log4js@^6.4.1: + version "6.9.1" + resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.9.1.tgz#aba5a3ff4e7872ae34f8b4c533706753709e38b6" + integrity sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g== + dependencies: + date-format "^4.0.14" + debug "^4.3.4" + flatted "^3.2.7" + rfdc "^1.3.0" + streamroller "^3.1.5" + +math-intrinsics@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.27, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@^2.5.2: + version "2.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" + integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== + +minimatch@^3.0.4, minimatch@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + minimatch@^5.0.1, minimatch@^5.1.6: version "5.1.6" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" @@ -315,6 +1307,25 @@ minimatch@^5.0.1, minimatch@^5.1.6: dependencies: brace-expansion "^2.0.1" +minimatch@^9.0.3: + version "9.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.3, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +mkdirp@^0.5.5: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + mocha@10.7.3: version "10.7.3" resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.7.3.tgz#ae32003cabbd52b59aece17846056a68eb4b0752" @@ -341,11 +1352,26 @@ mocha@10.7.3: yargs-parser "^20.2.9" yargs-unparser "^2.0.0" +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + node-fetch@2.6.7: version "2.6.7" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" @@ -360,11 +1386,40 @@ node-fetch@2.7.0: dependencies: whatwg-url "^5.0.0" +node-releases@^2.0.19: + version "2.0.19" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314" + integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== + normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== +object-assign@^4: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.13.3: + version "1.13.4" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213" + integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww== + dependencies: + ee-first "1.1.1" + once@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -372,6 +1427,13 @@ once@^1.3.0: dependencies: wrappy "1" +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + p-limit@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" @@ -379,6 +1441,13 @@ p-limit@^3.0.2: dependencies: yocto-queue "^0.1.0" +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + p-locate@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" @@ -386,16 +1455,75 @@ p-locate@^5.0.0: dependencies: p-limit "^3.0.2" +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + path-exists@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +picocolors@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== + picomatch@^2.0.4, picomatch@^2.2.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== +pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== + +punycode@^2.1.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +qjobs@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/qjobs/-/qjobs-1.2.0.tgz#c45e9c61800bd087ef88d7e256423bdd49e5d071" + integrity sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg== + +qs@6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906" + integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== + dependencies: + side-channel "^1.0.6" + randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -403,6 +1531,21 @@ randombytes@^2.1.0: dependencies: safe-buffer "^5.1.0" +range-parser@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" + integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + readdirp@~3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" @@ -410,16 +1553,99 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" +rechoir@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.8.0.tgz#49f866e0d32146142da3ad8f0eff352b3215ff22" + integrity sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ== + dependencies: + resolve "^1.20.0" + require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve@^1.20.0: + version "1.22.10" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" + integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== + dependencies: + is-core-module "^2.16.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +rfdc@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.4.1.tgz#778f76c4fb731d93414e8f925fbecf64cce7f6ca" + integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + safe-buffer@^5.1.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== +safe-regex-test@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.1.0.tgz#7f87dfb67a3150782eaaf18583ff5d1711ac10c1" + integrity sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + is-regex "^1.2.1" + +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +schema-utils@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +schema-utils@^4.3.0: + version "4.3.2" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.3.2.tgz#0c10878bf4a73fd2b1dfd14b9462b26788c806ae" + integrity sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ== + dependencies: + "@types/json-schema" "^7.0.9" + ajv "^8.9.0" + ajv-formats "^2.1.1" + ajv-keywords "^5.1.0" + serialize-javascript@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" @@ -427,7 +1653,113 @@ serialize-javascript@^6.0.2: dependencies: randombytes "^2.1.0" -source-map-support@0.5.21: +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +side-channel-list@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad" + integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + +side-channel-map@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42" + integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + +side-channel-weakmap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea" + integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + side-channel-map "^1.0.1" + +side-channel@^1.0.6: + version "1.1.0" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9" + integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + side-channel-list "^1.0.0" + side-channel-map "^1.0.1" + side-channel-weakmap "^1.0.2" + +socket.io-adapter@~2.5.2: + version "2.5.5" + resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz#c7a1f9c703d7756844751b6ff9abfc1780664082" + integrity sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg== + dependencies: + debug "~4.3.4" + ws "~8.17.1" + +socket.io-parser@~4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.4.tgz#c806966cf7270601e47469ddeec30fbdfda44c83" + integrity sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew== + dependencies: + "@socket.io/component-emitter" "~3.1.0" + debug "~4.3.1" + +socket.io@^4.7.2: + version "4.8.1" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.8.1.tgz#fa0eaff965cc97fdf4245e8d4794618459f7558a" + integrity sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg== + dependencies: + accepts "~1.3.4" + base64id "~2.0.0" + cors "~2.8.5" + debug "~4.3.2" + engine.io "~6.6.0" + socket.io-adapter "~2.5.2" + socket.io-parser "~4.2.4" + +source-map-js@^1.0.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" + integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== + +source-map-loader@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-5.0.0.tgz#f593a916e1cc54471cfc8851b905c8a845fc7e38" + integrity sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA== + dependencies: + iconv-lite "^0.6.3" + source-map-js "^1.0.2" + +source-map-support@0.5.21, source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -435,11 +1767,30 @@ source-map-support@0.5.21: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@^0.6.0: +source-map@^0.6.0, source-map@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +statuses@~1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== + +streamroller@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.1.5.tgz#1263182329a45def1ffaef58d31b15d13d2ee7ff" + integrity sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw== + dependencies: + date-format "^4.0.14" + debug "^4.3.4" + fs-extra "^8.1.0" + string-width@^4.1.0, string-width@^4.2.0: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" @@ -468,13 +1819,49 @@ supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -supports-color@^8.1.1: +supports-color@^8.0.0, supports-color@^8.1.1: version "8.1.1" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: has-flag "^4.0.0" +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +tapable@^2.1.1, tapable@^2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.2.tgz#ab4984340d30cb9989a490032f086dbb8b56d872" + integrity sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg== + +terser-webpack-plugin@^5.3.10: + version "5.3.14" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz#9031d48e57ab27567f02ace85c7d690db66c3e06" + integrity sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw== + dependencies: + "@jridgewell/trace-mapping" "^0.3.25" + jest-worker "^27.4.5" + schema-utils "^4.3.0" + serialize-javascript "^6.0.2" + terser "^5.31.1" + +terser@^5.31.1: + version "5.40.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.40.0.tgz#839a80db42bfee8340085f44ea99b5cba36c55c8" + integrity sha512-cfeKl/jjwSR5ar7d0FGmave9hFGJT8obyo0z+CrQOylLDbk7X81nPU6vq9VORa5jU30SkDnT2FXjLbR8HLP+xA== + dependencies: + "@jridgewell/source-map" "^0.3.3" + acorn "^8.14.0" + commander "^2.20.0" + source-map-support "~0.5.20" + +tmp@^0.2.1: + version "0.2.3" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.3.tgz#eb783cc22bc1e8bebd0671476d46ea4eb32a79ae" + integrity sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== + to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -482,21 +1869,161 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + tr46@~0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + typescript@5.5.4: version "5.5.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.4.tgz#d9852d6c82bad2d2eda4fd74a5762a8f5909e9ba" integrity sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q== +ua-parser-js@^0.7.30: + version "0.7.40" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.40.tgz#c87d83b7bb25822ecfa6397a0da5903934ea1562" + integrity sha512-us1E3K+3jJppDBa3Tl0L3MOJiGhe1C6P0+nIvQAFYbxlMAx0h81eOwLmU57xgqToduDDPx3y5QsdjPfDu+FgOQ== + +undici-types@~6.21.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" + integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +update-browserslist-db@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420" + integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw== + dependencies: + escalade "^3.2.0" + picocolors "^1.1.1" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +vary@^1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +void-elements@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" + integrity sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung== + +watchpack@^2.4.1: + version "2.4.4" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.4.tgz#473bda72f0850453da6425081ea46fc0d7602947" + integrity sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== +webpack-cli@5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-5.1.4.tgz#c8e046ba7eaae4911d7e71e2b25b776fcc35759b" + integrity sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg== + dependencies: + "@discoveryjs/json-ext" "^0.5.0" + "@webpack-cli/configtest" "^2.1.1" + "@webpack-cli/info" "^2.0.2" + "@webpack-cli/serve" "^2.0.5" + colorette "^2.0.14" + commander "^10.0.1" + cross-spawn "^7.0.3" + envinfo "^7.7.3" + fastest-levenshtein "^1.0.12" + import-local "^3.0.2" + interpret "^3.1.1" + rechoir "^0.8.0" + webpack-merge "^5.7.3" + +webpack-merge@^4.1.5: + version "4.2.2" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d" + integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g== + dependencies: + lodash "^4.17.15" + +webpack-merge@^5.7.3: + version "5.10.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.10.0.tgz#a3ad5d773241e9c682803abf628d4cd62b8a4177" + integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== + dependencies: + clone-deep "^4.0.1" + flat "^5.0.2" + wildcard "^2.0.0" + +webpack-sources@^3.2.3: + version "3.3.0" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.3.0.tgz#8d3449f1ed3f254e722a529a0a344a37d2d17048" + integrity sha512-77R0RDmJfj9dyv5p3bM5pOHa+X8/ZkO9c7kpDstigkC4nIDobadsfSGCwB4bKhMVxqAok8tajaoR8rirM7+VFQ== + +webpack@5.94.0: + version "5.94.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.94.0.tgz#77a6089c716e7ab90c1c67574a28da518a20970f" + integrity sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg== + dependencies: + "@types/estree" "^1.0.5" + "@webassemblyjs/ast" "^1.12.1" + "@webassemblyjs/wasm-edit" "^1.12.1" + "@webassemblyjs/wasm-parser" "^1.12.1" + acorn "^8.7.1" + acorn-import-attributes "^1.9.5" + browserslist "^4.21.10" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.17.1" + es-module-lexer "^1.2.1" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.11" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.2.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.3.10" + watchpack "^2.4.1" + webpack-sources "^3.2.3" + whatwg-url@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" @@ -505,6 +2032,25 @@ whatwg-url@^5.0.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" +which@^1.2.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wildcard@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" + integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== + workerpool@^6.5.1: version "6.5.1" resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.5.1.tgz#060f73b39d0caf97c6db64da004cd01b4c099544" @@ -529,6 +2075,11 @@ ws@8.5.0: resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f" integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg== +ws@~8.17.1: + version "8.17.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" + integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== + y18n@^5.0.5: version "5.0.8" resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" @@ -549,7 +2100,7 @@ yargs-unparser@^2.0.0: flat "^5.0.2" is-plain-obj "^2.1.0" -yargs@^16.2.0: +yargs@^16.1.1, yargs@^16.2.0: version "16.2.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== diff --git a/normalized-cache-sqlite/build.gradle.kts b/normalized-cache-sqlite/build.gradle.kts index 07032fff..23acae2a 100644 --- a/normalized-cache-sqlite/build.gradle.kts +++ b/normalized-cache-sqlite/build.gradle.kts @@ -10,9 +10,10 @@ Librarian.module(project) kotlin { configureKmp( - withJs = false, - withWasm = false, + withJs = emptySet(), + withWasm = emptySet(), withAndroid = true, + withApple = AppleTargets.All, ) } @@ -78,11 +79,14 @@ kotlin { implementation(libs.androidx.startup.runtime) } } + + getByName("androidUnitTest") { dependencies { implementation(libs.kotlin.test.junit) } } + getByName("commonTest") { dependencies { implementation(libs.kotlin.test) diff --git a/normalized-cache/build.gradle.kts b/normalized-cache/build.gradle.kts index 5a27cde7..69fafb8d 100644 --- a/normalized-cache/build.gradle.kts +++ b/normalized-cache/build.gradle.kts @@ -9,9 +9,10 @@ Librarian.module(project) kotlin { configureKmp( - withJs = true, - withWasm = true, + withJs = setOf(JsAndWasmEnvironment.Node, JsAndWasmEnvironment.Browser), + withWasm = setOf(JsAndWasmEnvironment.Node, JsAndWasmEnvironment.Browser), withAndroid = false, + withApple = AppleTargets.All, ) sourceSets { @@ -25,6 +26,18 @@ kotlin { } } + getByName("jsMain") { + dependencies { + api(libs.kotlin.stdlib.js) + } + } + + getByName("wasmJsMain") { + dependencies { + api(libs.kotlin.stdlib.wasm.js) + } + } + getByName("commonTest") { dependencies { implementation(libs.kotlin.test) diff --git a/normalized-cache/webpack.config.d/config.js b/normalized-cache/webpack.config.d/config.js new file mode 100644 index 00000000..dbbfd834 --- /dev/null +++ b/normalized-cache/webpack.config.d/config.js @@ -0,0 +1,9 @@ +// Silence warning about references to NodeJS symbols that don't exist in the browser. +// See https://kotlinlang.org/docs/js-project-setup.html#webpack-configuration-file +config.resolve = { + fallback: { + fs: false, + os: false, + path: false + } +}; diff --git a/test-utils/api/test-utils.api b/test-utils/api/test-utils.api index 4867b3e4..fe9c6e1a 100644 --- a/test-utils/api/test-utils.api +++ b/test-utils/api/test-utils.api @@ -1,8 +1,3 @@ -public final class com/apollographql/cache/normalized/testing/-FileSystemCommon { - public static final fun pathToJsonReader (Ljava/lang/String;)Lcom/apollographql/apollo/api/json/JsonReader; - public static final fun pathToUtf8 (Ljava/lang/String;)Ljava/lang/String; -} - public final class com/apollographql/cache/normalized/testing/CacheKeyKt { public static final fun append-eNSUWrY (Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String; public static final fun fieldKey-eNSUWrY (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; @@ -12,8 +7,6 @@ public final class com/apollographql/cache/normalized/testing/CacheKeyKt { public final class com/apollographql/cache/normalized/testing/ChannelsKt { public static final fun assertNoElement (Lkotlinx/coroutines/channels/Channel;JLkotlin/coroutines/Continuation;)Ljava/lang/Object; public static synthetic fun assertNoElement$default (Lkotlinx/coroutines/channels/Channel;JLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; - public static final fun awaitElement (Lkotlinx/coroutines/channels/Channel;JLkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static synthetic fun awaitElement$default (Lkotlinx/coroutines/channels/Channel;JLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; } public final class com/apollographql/cache/normalized/testing/CurrentThreadId_jvmCommonKt { @@ -39,15 +32,6 @@ public final class com/apollographql/cache/normalized/testing/Platform_jvmCommon public static final fun platform ()Lcom/apollographql/cache/normalized/testing/Platform; } -public final class com/apollographql/cache/normalized/testing/ReadFile_concurrentKt { - public static final fun getHostFileSystem ()Lokio/FileSystem; -} - -public final class com/apollographql/cache/normalized/testing/ReadFile_jvmKt { - public static final fun getTestsPath ()Ljava/lang/String; - public static final fun shouldUpdateTestFixtures ()Z -} - public final class com/apollographql/cache/normalized/testing/RunTestKt { public static final fun runTest (Lkotlin/jvm/functions/Function2;)V public static final fun runTest (Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;)V diff --git a/test-utils/api/test-utils.klib.api b/test-utils/api/test-utils.klib.api index 366049c2..5268d73c 100644 --- a/test-utils/api/test-utils.klib.api +++ b/test-utils/api/test-utils.klib.api @@ -20,23 +20,14 @@ final enum class com.apollographql.cache.normalized.testing/Platform : kotlin/En final fun values(): kotlin/Array // com.apollographql.cache.normalized.testing/Platform.values|values#static(){}[0] } -final val com.apollographql.cache.normalized.testing/HostFileSystem // com.apollographql.cache.normalized.testing/HostFileSystem|{}HostFileSystem[0] - final fun (): okio/FileSystem // com.apollographql.cache.normalized.testing/HostFileSystem.|(){}[0] -final val com.apollographql.cache.normalized.testing/testsPath // com.apollographql.cache.normalized.testing/testsPath|{}testsPath[0] - final fun (): kotlin/String // com.apollographql.cache.normalized.testing/testsPath.|(){}[0] - final fun (com.apollographql.cache.normalized.api/CacheKey).com.apollographql.cache.normalized.testing/append(kotlin/Array...): com.apollographql.cache.normalized.api/CacheKey // com.apollographql.cache.normalized.testing/append|append@com.apollographql.cache.normalized.api.CacheKey(kotlin.Array...){}[0] final fun (com.apollographql.cache.normalized.api/CacheKey).com.apollographql.cache.normalized.testing/fieldKey(kotlin/String): kotlin/String // com.apollographql.cache.normalized.testing/fieldKey|fieldKey@com.apollographql.cache.normalized.api.CacheKey(kotlin.String){}[0] final fun (com.apollographql.cache.normalized.api/CacheKey).com.apollographql.cache.normalized.testing/keyToString(): kotlin/String // com.apollographql.cache.normalized.testing/keyToString|keyToString@com.apollographql.cache.normalized.api.CacheKey(){}[0] final fun com.apollographql.cache.normalized.testing/assertErrorsEquals(com.apollographql.apollo.api/Error?, com.apollographql.apollo.api/Error?) // com.apollographql.cache.normalized.testing/assertErrorsEquals|assertErrorsEquals(com.apollographql.apollo.api.Error?;com.apollographql.apollo.api.Error?){}[0] final fun com.apollographql.cache.normalized.testing/assertErrorsEquals(kotlin.collections/Iterable?, kotlin.collections/Iterable?) // com.apollographql.cache.normalized.testing/assertErrorsEquals|assertErrorsEquals(kotlin.collections.Iterable?;kotlin.collections.Iterable?){}[0] final fun com.apollographql.cache.normalized.testing/currentThreadId(): kotlin/String // com.apollographql.cache.normalized.testing/currentThreadId|currentThreadId(){}[0] -final fun com.apollographql.cache.normalized.testing/pathToJsonReader(kotlin/String): com.apollographql.apollo.api.json/JsonReader // com.apollographql.cache.normalized.testing/pathToJsonReader|pathToJsonReader(kotlin.String){}[0] -final fun com.apollographql.cache.normalized.testing/pathToUtf8(kotlin/String): kotlin/String // com.apollographql.cache.normalized.testing/pathToUtf8|pathToUtf8(kotlin.String){}[0] final fun com.apollographql.cache.normalized.testing/platform(): com.apollographql.cache.normalized.testing/Platform // com.apollographql.cache.normalized.testing/platform|platform(){}[0] -final fun com.apollographql.cache.normalized.testing/shouldUpdateTestFixtures(): kotlin/Boolean // com.apollographql.cache.normalized.testing/shouldUpdateTestFixtures|shouldUpdateTestFixtures(){}[0] final suspend fun <#A: kotlin/Any?> (kotlinx.coroutines.channels/Channel<#A>).com.apollographql.cache.normalized.testing/assertNoElement(kotlin/Long = ...) // com.apollographql.cache.normalized.testing/assertNoElement|assertNoElement@kotlinx.coroutines.channels.Channel<0:0>(kotlin.Long){0ยง}[0] -final suspend fun <#A: kotlin/Any?> (kotlinx.coroutines.channels/Channel<#A>).com.apollographql.cache.normalized.testing/awaitElement(kotlin/Long = ...): #A // com.apollographql.cache.normalized.testing/awaitElement|awaitElement@kotlinx.coroutines.channels.Channel<0:0>(kotlin.Long){0ยง}[0] // Targets: [apple] final fun com.apollographql.cache.normalized.testing/runTest(kotlin.coroutines/SuspendFunction1 = ..., kotlin.coroutines/SuspendFunction1 = ..., kotlin.coroutines/SuspendFunction1) // com.apollographql.cache.normalized.testing/runTest|runTest(kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1){}[0] diff --git a/test-utils/build.gradle.kts b/test-utils/build.gradle.kts index e6062638..41f561fa 100644 --- a/test-utils/build.gradle.kts +++ b/test-utils/build.gradle.kts @@ -6,9 +6,10 @@ group = "com.apollographql.cache" kotlin { configureKmp( - withJs = true, - withWasm = true, + withJs = setOf(JsAndWasmEnvironment.Node), + withWasm = setOf(JsAndWasmEnvironment.Node), withAndroid = false, + withApple = AppleTargets.All, ) sourceSets { @@ -21,7 +22,13 @@ kotlin { } getByName("jsMain") { dependencies { - api(libs.okio.nodefilesystem) + api(libs.kotlin.stdlib.js) + } + } + + getByName("wasmJsMain") { + dependencies { + api(libs.kotlin.stdlib.wasm.js) } } } diff --git a/test-utils/src/appleMain/kotlin/com/apollographql/cache/normalized/testing/readFile.apple.kt b/test-utils/src/appleMain/kotlin/com/apollographql/cache/normalized/testing/readFile.apple.kt deleted file mode 100644 index ae3a502c..00000000 --- a/test-utils/src/appleMain/kotlin/com/apollographql/cache/normalized/testing/readFile.apple.kt +++ /dev/null @@ -1,5 +0,0 @@ -package com.apollographql.cache.normalized.testing - -actual fun shouldUpdateTestFixtures(): Boolean = false - -actual val testsPath: String = "../" diff --git a/test-utils/src/commonMain/kotlin/com/apollographql/cache/normalized/testing/FilesystemCommon.kt b/test-utils/src/commonMain/kotlin/com/apollographql/cache/normalized/testing/FilesystemCommon.kt deleted file mode 100644 index 17ec45ec..00000000 --- a/test-utils/src/commonMain/kotlin/com/apollographql/cache/normalized/testing/FilesystemCommon.kt +++ /dev/null @@ -1,32 +0,0 @@ -@file:JvmName("-FileSystemCommon") - -package com.apollographql.cache.normalized.testing - -import com.apollographql.apollo.api.json.JsonReader -import com.apollographql.apollo.api.json.jsonReader -import okio.Path -import okio.Path.Companion.toPath -import okio.buffer -import kotlin.jvm.JvmName - - -private fun String.toTestsPath(): Path { - @Suppress("DEPRECATION") - return testsPath.toPath().resolve(this.toPath()) -} - -/** - * @param path: the path to the file, from the "tests" directory - */ -fun pathToUtf8(path: String): String { - @Suppress("DEPRECATION") - return HostFileSystem.openReadOnly(path.toTestsPath()).source().buffer().readUtf8() -} - -/** - * @param path: the path to the file, from the "tests" directory - */ -fun pathToJsonReader(path: String): JsonReader { - @Suppress("DEPRECATION") - return HostFileSystem.openReadOnly(path.toTestsPath()).source().buffer().jsonReader() -} diff --git a/test-utils/src/commonMain/kotlin/com/apollographql/cache/normalized/testing/channels.kt b/test-utils/src/commonMain/kotlin/com/apollographql/cache/normalized/testing/channels.kt index a52728a4..608ec384 100644 --- a/test-utils/src/commonMain/kotlin/com/apollographql/cache/normalized/testing/channels.kt +++ b/test-utils/src/commonMain/kotlin/com/apollographql/cache/normalized/testing/channels.kt @@ -4,11 +4,7 @@ import kotlinx.coroutines.TimeoutCancellationException import kotlinx.coroutines.channels.Channel import kotlinx.coroutines.withTimeout -suspend fun Channel.awaitElement(timeoutMillis: Long = 30000) = withTimeout(timeoutMillis) { - receive() -} - -suspend fun Channel.assertNoElement(timeoutMillis: Long = 300): Unit { +suspend fun Channel.assertNoElement(timeoutMillis: Long = 300) { try { withTimeout(timeoutMillis) { receive() diff --git a/test-utils/src/commonMain/kotlin/com/apollographql/cache/normalized/testing/readFile.kt b/test-utils/src/commonMain/kotlin/com/apollographql/cache/normalized/testing/readFile.kt deleted file mode 100644 index 00746f70..00000000 --- a/test-utils/src/commonMain/kotlin/com/apollographql/cache/normalized/testing/readFile.kt +++ /dev/null @@ -1,17 +0,0 @@ -package com.apollographql.cache.normalized.testing - -import okio.FileSystem - -/** - * The host filesystem - */ -expect val HostFileSystem: FileSystem - -expect fun shouldUpdateTestFixtures(): Boolean - -/** - * The path to the "tests" directory. This assumes all tests are run from a predictable place relative to "tests" - * We need this for JS tests where the CWD is not properly set at the beginning of tests - */ -expect val testsPath: String - diff --git a/test-utils/src/concurrentMain/kotlin/com/apollographql/cache/normalized/testing/readFile.concurrent.kt b/test-utils/src/concurrentMain/kotlin/com/apollographql/cache/normalized/testing/readFile.concurrent.kt deleted file mode 100644 index 66fffad8..00000000 --- a/test-utils/src/concurrentMain/kotlin/com/apollographql/cache/normalized/testing/readFile.concurrent.kt +++ /dev/null @@ -1,10 +0,0 @@ -package com.apollographql.cache.normalized.testing - -import okio.FileSystem -import okio.SYSTEM - -/** - * The host filesystem - */ -actual val HostFileSystem: FileSystem - get() = FileSystem.SYSTEM diff --git a/test-utils/src/jsMain/kotlin/com/apollographql/cache/normalized/testing/readFile.js.kt b/test-utils/src/jsMain/kotlin/com/apollographql/cache/normalized/testing/readFile.js.kt deleted file mode 100644 index 9da61d51..00000000 --- a/test-utils/src/jsMain/kotlin/com/apollographql/cache/normalized/testing/readFile.js.kt +++ /dev/null @@ -1,11 +0,0 @@ -package com.apollographql.cache.normalized.testing - -import okio.FileSystem -import okio.NodeJsFileSystem - -actual val HostFileSystem: FileSystem = NodeJsFileSystem - -actual fun shouldUpdateTestFixtures(): Boolean = false - -// Workaround for https://youtrack.jetbrains.com/issue/KT-49125 -actual val testsPath: String = "../../../../../tests/" diff --git a/test-utils/src/jvmMain/kotlin/com/apollographql/cache/normalized/testing/readFile.jvm.kt b/test-utils/src/jvmMain/kotlin/com/apollographql/cache/normalized/testing/readFile.jvm.kt deleted file mode 100644 index 0bb2759a..00000000 --- a/test-utils/src/jvmMain/kotlin/com/apollographql/cache/normalized/testing/readFile.jvm.kt +++ /dev/null @@ -1,14 +0,0 @@ -package com.apollographql.cache.normalized.testing - -actual fun shouldUpdateTestFixtures(): Boolean { - if (System.getenv("updateTestFixtures") != null) { - return true - } - - return when (System.getProperty("updateTestFixtures")?.trim()) { - "on", "true", "1" -> true - else -> false - } -} - -actual val testsPath: String = "../" diff --git a/test-utils/src/wasmJsMain/kotlin/com/apollographql/cache/normalized/testing/readFile.wasmJs.kt b/test-utils/src/wasmJsMain/kotlin/com/apollographql/cache/normalized/testing/readFile.wasmJs.kt deleted file mode 100644 index ea0b2e2a..00000000 --- a/test-utils/src/wasmJsMain/kotlin/com/apollographql/cache/normalized/testing/readFile.wasmJs.kt +++ /dev/null @@ -1,20 +0,0 @@ -package com.apollographql.cache.normalized.testing - -import okio.FileSystem - -/** - * The host filesystem - */ -actual val HostFileSystem: FileSystem - get() = TODO("Not yet implemented") - -actual fun shouldUpdateTestFixtures(): Boolean { - TODO("Not yet implemented") -} - -/** - * The path to the "tests" directory. This assumes all tests are run from a predictable place relative to "tests" - * We need this for JS tests where the CWD is not properly set at the beginning of tests - */ -actual val testsPath: String - get() = TODO("Not yet implemented") diff --git a/tests/cache-control/build.gradle.kts b/tests/cache-control/build.gradle.kts index 40290b5f..6c6d01e0 100644 --- a/tests/cache-control/build.gradle.kts +++ b/tests/cache-control/build.gradle.kts @@ -7,8 +7,8 @@ plugins { kotlin { configureKmp( - withJs = false, - withWasm = false, + withJs = emptySet(), + withWasm = emptySet(), withAndroid = false, withApple = AppleTargets.Host, ) diff --git a/tests/cache-variables-arguments/build.gradle.kts b/tests/cache-variables-arguments/build.gradle.kts index 89b16229..d7a4e6a1 100644 --- a/tests/cache-variables-arguments/build.gradle.kts +++ b/tests/cache-variables-arguments/build.gradle.kts @@ -5,8 +5,8 @@ plugins { kotlin { configureKmp( - withJs = true, - withWasm = true, + withJs = setOf(JsAndWasmEnvironment.Node, JsAndWasmEnvironment.Browser), + withWasm = setOf(JsAndWasmEnvironment.Node, JsAndWasmEnvironment.Browser), withAndroid = false, withApple = AppleTargets.Host, ) diff --git a/tests/cache-variables-arguments/webpack.config.d/config.js b/tests/cache-variables-arguments/webpack.config.d/config.js new file mode 100644 index 00000000..ca871e86 --- /dev/null +++ b/tests/cache-variables-arguments/webpack.config.d/config.js @@ -0,0 +1,8 @@ +// Silence warning about references to NodeJS symbols that don't exist in the browser. +// See https://kotlinlang.org/docs/js-project-setup.html#webpack-configuration-file +config.resolve = { + fallback: { + os: false, + path: false + } +}; diff --git a/tests/defer/build.gradle.kts b/tests/defer/build.gradle.kts index 61f8ee25..51055cba 100644 --- a/tests/defer/build.gradle.kts +++ b/tests/defer/build.gradle.kts @@ -5,8 +5,8 @@ plugins { kotlin { configureKmp( - withJs = true, - withWasm = false, + withJs = setOf(JsAndWasmEnvironment.Node), + withWasm = emptySet(), withAndroid = false, withApple = AppleTargets.Host, ) diff --git a/tests/garbage-collection/build.gradle.kts b/tests/garbage-collection/build.gradle.kts index 488bd716..673c5090 100644 --- a/tests/garbage-collection/build.gradle.kts +++ b/tests/garbage-collection/build.gradle.kts @@ -7,8 +7,8 @@ plugins { kotlin { configureKmp( - withJs = false, - withWasm = false, + withJs = emptySet(), + withWasm = emptySet(), withAndroid = false, withApple = AppleTargets.Host, ) diff --git a/tests/include-skip-operation-based/build.gradle.kts b/tests/include-skip-operation-based/build.gradle.kts index c078e524..fd5916bc 100644 --- a/tests/include-skip-operation-based/build.gradle.kts +++ b/tests/include-skip-operation-based/build.gradle.kts @@ -7,8 +7,8 @@ plugins { kotlin { configureKmp( - withJs = true, - withWasm = true, + withJs = setOf(JsAndWasmEnvironment.Node, JsAndWasmEnvironment.Browser), + withWasm = setOf(JsAndWasmEnvironment.Node, JsAndWasmEnvironment.Browser), withAndroid = false, withApple = AppleTargets.Host, ) @@ -25,7 +25,6 @@ kotlin { dependencies { implementation(libs.kotlin.test) implementation("com.apollographql.cache:test-utils") - implementation(libs.apollo.mockserver) } } } diff --git a/tests/include-skip-operation-based/src/commonTest/kotlin/IncludeTest.kt b/tests/include-skip-operation-based/src/commonTest/kotlin/IncludeTest.kt index 4273f5e2..8d7a247f 100644 --- a/tests/include-skip-operation-based/src/commonTest/kotlin/IncludeTest.kt +++ b/tests/include-skip-operation-based/src/commonTest/kotlin/IncludeTest.kt @@ -1,9 +1,5 @@ -import com.apollographql.apollo.api.ApolloResponse -import com.apollographql.apollo.api.Operation import com.apollographql.apollo.api.Optional -import com.apollographql.apollo.api.json.MapJsonReader -import com.apollographql.apollo.api.toApolloResponse import com.apollographql.cache.normalized.api.CacheKey import com.apollographql.cache.normalized.internal.normalized import com.apollographql.cache.normalized.testing.runTest @@ -15,10 +11,6 @@ import kotlin.test.Test import kotlin.test.assertNull class IncludeTest { - private fun Operation.parseData(data: Map): ApolloResponse { - return MapJsonReader(mapOf("data" to data)).toApolloResponse(this) - } - @Test fun getCatIncludeVariableWithDefaultQuery() = runTest { val operation = GetCatIncludeVariableWithDefaultQuery() diff --git a/tests/include-skip-operation-based/webpack.config.d/config.js b/tests/include-skip-operation-based/webpack.config.d/config.js new file mode 100644 index 00000000..ca871e86 --- /dev/null +++ b/tests/include-skip-operation-based/webpack.config.d/config.js @@ -0,0 +1,8 @@ +// Silence warning about references to NodeJS symbols that don't exist in the browser. +// See https://kotlinlang.org/docs/js-project-setup.html#webpack-configuration-file +config.resolve = { + fallback: { + os: false, + path: false + } +}; diff --git a/tests/kotlin-js-store/yarn.lock b/tests/kotlin-js-store/yarn.lock index 93768e2f..1ee8ee90 100644 --- a/tests/kotlin-js-store/yarn.lock +++ b/tests/kotlin-js-store/yarn.lock @@ -2,6 +2,236 @@ # yarn lockfile v1 +"@colors/colors@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== + +"@discoveryjs/json-ext@^0.5.0": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== + +"@jridgewell/gen-mapping@^0.3.5": + version "0.3.8" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz#4f0e06362e01362f823d348f1872b08f666d8142" + integrity sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA== + dependencies: + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== + +"@jridgewell/source-map@^0.3.3": + version "0.3.6" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.6.tgz#9d71ca886e32502eb9362c9a74a46787c36df81a" + integrity sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ== + dependencies: + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== + +"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": + version "0.3.25" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@js-joda/core@3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@js-joda/core/-/core-3.2.0.tgz#3e61e21b7b2b8a6be746df1335cf91d70db2a273" + integrity sha512-PMqgJ0sw5B7FKb2d5bWYIoxjri+QlW/Pys7+Rw82jSH0QN3rB05jZ/VrrsUdh1w4+i2kw9JOejXGq/KhDOX7Kg== + +"@socket.io/component-emitter@~3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz#821f8442f4175d8f0467b9daf26e3a18e2d02af2" + integrity sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA== + +"@types/cors@^2.8.12": + version "2.8.18" + resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.18.tgz#101e033b3ca06695f3d73c587cd7f9eb348135d1" + integrity sha512-nX3d0sxJW41CqQvfOzVG1NCTXfFDrDWIghCZncpHeWlVFd81zxB/DLhg7avFg6eHLCRX7ckBmoIIcqa++upvJA== + dependencies: + "@types/node" "*" + +"@types/estree@^1.0.5": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.7.tgz#4158d3105276773d5b7695cd4834b1722e4f37a8" + integrity sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ== + +"@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + +"@types/node@*", "@types/node@>=10.0.0": + version "22.15.28" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.15.28.tgz#97d851fda6db030612fa0b472577bbc0fe0bc668" + integrity sha512-I0okKVDmyKR281I0UIFV7EWAWRnR0gkuSKob5wVcByyyhr7Px/slhkQapcYX4u00ekzNWaS1gznKZnuzxwo4pw== + dependencies: + undici-types "~6.21.0" + +"@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.12.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.14.1.tgz#a9f6a07f2b03c95c8d38c4536a1fdfb521ff55b6" + integrity sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ== + dependencies: + "@webassemblyjs/helper-numbers" "1.13.2" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + +"@webassemblyjs/floating-point-hex-parser@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz#fcca1eeddb1cc4e7b6eed4fc7956d6813b21b9fb" + integrity sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA== + +"@webassemblyjs/helper-api-error@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz#e0a16152248bc38daee76dd7e21f15c5ef3ab1e7" + integrity sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ== + +"@webassemblyjs/helper-buffer@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz#822a9bc603166531f7d5df84e67b5bf99b72b96b" + integrity sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA== + +"@webassemblyjs/helper-numbers@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz#dbd932548e7119f4b8a7877fd5a8d20e63490b2d" + integrity sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.13.2" + "@webassemblyjs/helper-api-error" "1.13.2" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-wasm-bytecode@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz#e556108758f448aae84c850e593ce18a0eb31e0b" + integrity sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA== + +"@webassemblyjs/helper-wasm-section@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz#9629dda9c4430eab54b591053d6dc6f3ba050348" + integrity sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/wasm-gen" "1.14.1" + +"@webassemblyjs/ieee754@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz#1c5eaace1d606ada2c7fd7045ea9356c59ee0dba" + integrity sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz#57c5c3deb0105d02ce25fa3fd74f4ebc9fd0bbb0" + integrity sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz#917a20e93f71ad5602966c2d685ae0c6c21f60f1" + integrity sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ== + +"@webassemblyjs/wasm-edit@^1.12.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz#ac6689f502219b59198ddec42dcd496b1004d597" + integrity sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/helper-wasm-section" "1.14.1" + "@webassemblyjs/wasm-gen" "1.14.1" + "@webassemblyjs/wasm-opt" "1.14.1" + "@webassemblyjs/wasm-parser" "1.14.1" + "@webassemblyjs/wast-printer" "1.14.1" + +"@webassemblyjs/wasm-gen@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz#991e7f0c090cb0bb62bbac882076e3d219da9570" + integrity sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/ieee754" "1.13.2" + "@webassemblyjs/leb128" "1.13.2" + "@webassemblyjs/utf8" "1.13.2" + +"@webassemblyjs/wasm-opt@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz#e6f71ed7ccae46781c206017d3c14c50efa8106b" + integrity sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/wasm-gen" "1.14.1" + "@webassemblyjs/wasm-parser" "1.14.1" + +"@webassemblyjs/wasm-parser@1.14.1", "@webassemblyjs/wasm-parser@^1.12.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz#b3e13f1893605ca78b52c68e54cf6a865f90b9fb" + integrity sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-api-error" "1.13.2" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/ieee754" "1.13.2" + "@webassemblyjs/leb128" "1.13.2" + "@webassemblyjs/utf8" "1.13.2" + +"@webassemblyjs/wast-printer@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz#3bb3e9638a8ae5fdaf9610e7a06b4d9f9aa6fe07" + integrity sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@xtuc/long" "4.2.2" + +"@webpack-cli/configtest@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-2.1.1.tgz#3b2f852e91dac6e3b85fb2a314fb8bef46d94646" + integrity sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw== + +"@webpack-cli/info@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-2.0.2.tgz#cc3fbf22efeb88ff62310cf885c5b09f44ae0fdd" + integrity sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A== + +"@webpack-cli/serve@^2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-2.0.5.tgz#325db42395cd49fe6c14057f9a900e427df8810e" + integrity sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ== + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + abort-controller@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" @@ -9,6 +239,63 @@ abort-controller@3.0.0: dependencies: event-target-shim "^5.0.0" +accepts@~1.3.4: + version "1.3.8" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn-import-attributes@^1.9.5: + version "1.9.5" + resolved "https://registry.yarnpkg.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz#7eb1557b1ba05ef18b5ed0ec67591bfab04688ef" + integrity sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ== + +acorn@^8.14.0, acorn@^8.7.1: + version "8.14.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.1.tgz#721d5dc10f7d5b5609a891773d47731796935dfb" + integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== + +ajv-formats@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== + dependencies: + ajv "^8.0.0" + +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv-keywords@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" + integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== + dependencies: + fast-deep-equal "^3.1.3" + +ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.0, ajv@^8.9.0: + version "8.17.1" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6" + integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== + dependencies: + fast-deep-equal "^3.1.3" + fast-uri "^3.0.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + ansi-colors@^4.1.3: version "4.1.3" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" @@ -44,11 +331,42 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== +base64id@2.0.0, base64id@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/base64id/-/base64id-2.0.0.tgz#2770ac6bc47d312af97a8bf9a634342e0cd25cb6" + integrity sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog== + binary-extensions@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== +body-parser@^1.19.0: + version "1.20.3" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.3.tgz#1953431221c6fb5cd63c4b36d53fab0928e548c6" + integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g== + dependencies: + bytes "3.1.2" + content-type "~1.0.5" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.13.0" + raw-body "2.5.2" + type-is "~1.6.18" + unpipe "1.0.0" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + brace-expansion@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" @@ -56,7 +374,7 @@ brace-expansion@^2.0.1: dependencies: balanced-match "^1.0.0" -braces@~3.0.2: +braces@^3.0.2, braces@~3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== @@ -68,16 +386,52 @@ browser-stdout@^1.3.1: resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== +browserslist@^4.21.10: + version "4.25.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.25.0.tgz#986aa9c6d87916885da2b50d8eb577ac8d133b2c" + integrity sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA== + dependencies: + caniuse-lite "^1.0.30001718" + electron-to-chromium "^1.5.160" + node-releases "^2.0.19" + update-browserslist-db "^1.1.3" + buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" + integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + +call-bound@^1.0.2, call-bound@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a" + integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== + dependencies: + call-bind-apply-helpers "^1.0.2" + get-intrinsic "^1.3.0" + camelcase@^6.0.0: version "6.3.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== +caniuse-lite@^1.0.30001718: + version "1.0.30001720" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001720.tgz#c138cb6026d362be9d8d7b0e4bcd0183a850edfd" + integrity sha512-Ec/2yV2nNPwb4DnTANEV99ZWwm3ZWfdlfkQbWSDDt+PsXEVYwlhPH8tdMaPunYTKKmz7AnHi2oNEi1GcmKCD8g== + chalk@^4.1.0: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" @@ -86,7 +440,7 @@ chalk@^4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chokidar@^3.5.3: +chokidar@^3.5.1, chokidar@^3.5.3: version "3.6.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== @@ -101,6 +455,11 @@ chokidar@^3.5.3: optionalDependencies: fsevents "~2.3.2" +chrome-trace-event@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz#05bffd7ff928465093314708c93bdfa9bd1f0f5b" + integrity sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ== + cliui@^7.0.2: version "7.0.4" resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" @@ -110,6 +469,15 @@ cliui@^7.0.2: strip-ansi "^6.0.0" wrap-ansi "^7.0.0" +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + color-convert@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" @@ -122,7 +490,88 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -debug@^4.3.5: +colorette@^2.0.14: + version "2.0.20" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== + +commander@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" + integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +connect@^3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/connect/-/connect-3.7.0.tgz#5d49348910caa5e07a01800b030d0c35f20484f8" + integrity sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ== + dependencies: + debug "2.6.9" + finalhandler "1.1.2" + parseurl "~1.3.3" + utils-merge "1.0.1" + +content-type@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== + +cookie@~0.7.2: + version "0.7.2" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.2.tgz#556369c472a2ba910f2979891b526b3436237ed7" + integrity sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w== + +cors@~2.8.5: + version "2.8.5" + resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" + integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== + dependencies: + object-assign "^4" + vary "^1" + +cross-spawn@^7.0.3: + version "7.0.6" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +custom-event@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425" + integrity sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg== + +date-format@^4.0.14: + version "4.0.14" + resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.14.tgz#7a8e584434fb169a521c8b7aa481f355810d9400" + integrity sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg== + +debug@2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^4.3.4: + version "4.4.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b" + integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ== + dependencies: + ms "^2.1.3" + +debug@^4.3.5, debug@~4.3.1, debug@~4.3.2, debug@~4.3.4: version "4.3.7" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== @@ -134,31 +583,210 @@ decamelize@^4.0.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== +depd@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +di@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz#806649326ceaa7caa3306d75d985ea2748ba913c" + integrity sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA== + diff@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== +dom-serialize@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz#562ae8999f44be5ea3076f5419dcd59eb43ac95b" + integrity sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ== + dependencies: + custom-event "~1.0.0" + ent "~2.2.0" + extend "^3.0.0" + void-elements "^2.0.0" + +dunder-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== + dependencies: + call-bind-apply-helpers "^1.0.1" + es-errors "^1.3.0" + gopd "^1.2.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +electron-to-chromium@^1.5.160: + version "1.5.161" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.161.tgz#650376bd3be7ff8e581031409fc2d4f150620b12" + integrity sha512-hwtetwfKNZo/UlwHIVBlKZVdy7o8bIZxxKs0Mv/ROPiQQQmDgdm5a+KvKtBsxM8ZjFzTaCeLoodZ8jiBE3o9rA== + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -escalade@^3.1.1: +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== + +engine.io-parser@~5.2.1: + version "5.2.3" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.2.3.tgz#00dc5b97b1f233a23c9398d0209504cf5f94d92f" + integrity sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q== + +engine.io@~6.6.0: + version "6.6.4" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.6.4.tgz#0a89a3e6b6c1d4b0c2a2a637495e7c149ec8d8ee" + integrity sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g== + dependencies: + "@types/cors" "^2.8.12" + "@types/node" ">=10.0.0" + accepts "~1.3.4" + base64id "2.0.0" + cookie "~0.7.2" + cors "~2.8.5" + debug "~4.3.1" + engine.io-parser "~5.2.1" + ws "~8.17.1" + +enhanced-resolve@^5.17.1: + version "5.18.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz#728ab082f8b7b6836de51f1637aab5d3b9568faf" + integrity sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +ent@~2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.2.tgz#22a5ed2fd7ce0cbcff1d1474cf4909a44bdb6e85" + integrity sha512-kKvD1tO6BM+oK9HzCPpUdRb4vKFQY/FPTFmurMvh6LlN68VMrdj77w8yp51/kDbpkFOS9J8w5W6zIzgM2H8/hw== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + punycode "^1.4.1" + safe-regex-test "^1.1.0" + +envinfo@^7.7.3: + version "7.14.0" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.14.0.tgz#26dac5db54418f2a4c1159153a0b2ae980838aae" + integrity sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg== + +es-define-property@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== + +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-module-lexer@^1.2.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.7.0.tgz#9159601561880a85f2734560a9099b2c31e5372a" + integrity sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA== + +es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" + integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== + dependencies: + es-errors "^1.3.0" + +escalade@^3.1.1, escalade@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + escape-string-regexp@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== +eslint-scope@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + event-target-shim@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +extend@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-uri@^3.0.1: + version "3.0.6" + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.6.tgz#88f130b77cfaea2378d56bf970dea21257a68748" + integrity sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw== + +fastest-levenshtein@^1.0.12: + version "1.0.16" + resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" + integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== + fill-range@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" @@ -166,6 +794,27 @@ fill-range@^7.1.1: dependencies: to-regex-range "^5.0.1" +finalhandler@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.3" + statuses "~1.5.0" + unpipe "~1.0.0" + +find-up@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + find-up@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" @@ -179,11 +828,30 @@ flat@^5.0.2: resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== +flatted@^3.2.7: + version "3.3.3" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.3.tgz#67c8fad95454a7c7abebf74bb78ee74a44023358" + integrity sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg== + +follow-redirects@^1.0.0: + version "1.15.9" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" + integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== + format-util@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/format-util/-/format-util-1.0.5.tgz#1ffb450c8a03e7bccffe40643180918cc297d271" integrity sha512-varLbTj0e0yVyRpqQhuWV+8hlePAgaoFRhNFj50BNjEIrw1/DphHSObtqwskVCPWNgzwPoQrZAbfa/SBiicNeg== +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" @@ -194,11 +862,40 @@ fsevents@~2.3.2: resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-intrinsic@^1.2.5, get-intrinsic@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" + integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== + 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" + 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: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" + integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== + dependencies: + dunder-proto "^1.0.1" + es-object-atoms "^1.0.0" + glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -206,6 +903,23 @@ glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +glob@^7.1.3, glob@^7.1.7: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + glob@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" @@ -217,16 +931,87 @@ glob@^8.1.0: minimatch "^5.0.1" once "^1.3.0" +gopd@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.10, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + has-flag@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== +has-symbols@^1.0.3, has-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== + +has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + +hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + he@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +iconv-lite@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +import-local@^3.0.2: + version "3.2.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260" + integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -235,11 +1020,16 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2: +inherits@2, inherits@2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== +interpret@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-3.1.1.tgz#5be0ceed67ca79c6c4bc5cf0d7ee843dcea110c4" + integrity sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ== + is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" @@ -247,6 +1037,13 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" +is-core-module@^2.16.0: + version "2.16.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" + integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== + dependencies: + hasown "^2.0.2" + is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -274,11 +1071,52 @@ is-plain-obj@^2.1.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-regex@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.2.1.tgz#76d70a3ed10ef9be48eb577887d74205bf0cad22" + integrity sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g== + dependencies: + call-bound "^1.0.2" + gopd "^1.2.0" + has-tostringtag "^1.0.2" + hasown "^2.0.2" + is-unicode-supported@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== +isbinaryfile@^4.0.8: + version "4.0.10" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz#0c5b5e30c2557a2f06febd37b7322946aaee42b3" + integrity sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + js-yaml@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" @@ -286,6 +1124,93 @@ js-yaml@^4.1.0: dependencies: argparse "^2.0.1" +json-parse-even-better-errors@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== + optionalDependencies: + graceful-fs "^4.1.6" + +karma-chrome-launcher@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz#eb9c95024f2d6dfbb3748d3415ac9b381906b9a9" + integrity sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q== + dependencies: + which "^1.2.1" + +karma-mocha@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/karma-mocha/-/karma-mocha-2.0.1.tgz#4b0254a18dfee71bdbe6188d9a6861bf86b0cd7d" + integrity sha512-Tzd5HBjm8his2OA4bouAsATYEpZrp9vC7z5E5j4C5Of5Rrs1jY67RAwXNcVmd/Bnk1wgvQRou0zGVLey44G4tQ== + dependencies: + minimist "^1.2.3" + +karma-sourcemap-loader@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/karma-sourcemap-loader/-/karma-sourcemap-loader-0.4.0.tgz#b01d73f8f688f533bcc8f5d273d43458e13b5488" + integrity sha512-xCRL3/pmhAYF3I6qOrcn0uhbQevitc2DERMPH82FMnG+4WReoGcGFZb1pURf2a5apyrOHRdvD+O6K7NljqKHyA== + dependencies: + graceful-fs "^4.2.10" + +karma-webpack@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/karma-webpack/-/karma-webpack-5.0.1.tgz#4eafd31bbe684a747a6e8f3e4ad373e53979ced4" + integrity sha512-oo38O+P3W2mSPCSUrQdySSPv1LvPpXP+f+bBimNomS5sW+1V4SuhCuW8TfJzV+rDv921w2fDSDw0xJbPe6U+kQ== + dependencies: + glob "^7.1.3" + minimatch "^9.0.3" + webpack-merge "^4.1.5" + +karma@6.4.4: + version "6.4.4" + resolved "https://registry.yarnpkg.com/karma/-/karma-6.4.4.tgz#dfa5a426cf5a8b53b43cd54ef0d0d09742351492" + integrity sha512-LrtUxbdvt1gOpo3gxG+VAJlJAEMhbWlM4YrFQgql98FwF7+K8K12LYO4hnDdUkNjeztYrOXEMqgTajSWgmtI/w== + dependencies: + "@colors/colors" "1.5.0" + body-parser "^1.19.0" + braces "^3.0.2" + chokidar "^3.5.1" + connect "^3.7.0" + di "^0.0.1" + dom-serialize "^2.2.1" + glob "^7.1.7" + graceful-fs "^4.2.6" + http-proxy "^1.18.1" + isbinaryfile "^4.0.8" + lodash "^4.17.21" + log4js "^6.4.1" + mime "^2.5.2" + minimatch "^3.0.4" + mkdirp "^0.5.5" + qjobs "^1.2.0" + range-parser "^1.2.1" + rimraf "^3.0.2" + socket.io "^4.7.2" + source-map "^0.6.1" + tmp "^0.2.1" + ua-parser-js "^0.7.30" + yargs "^16.1.1" + +kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + kotlin-web-helpers@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/kotlin-web-helpers/-/kotlin-web-helpers-2.0.0.tgz#b112096b273c1e733e0b86560998235c09a19286" @@ -293,6 +1218,18 @@ kotlin-web-helpers@2.0.0: dependencies: format-util "^1.0.5" +loader-runner@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + locate-path@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" @@ -300,6 +1237,11 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" +lodash@^4.17.15, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + log-symbols@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" @@ -308,6 +1250,56 @@ log-symbols@^4.1.0: chalk "^4.1.0" is-unicode-supported "^0.1.0" +log4js@^6.4.1: + version "6.9.1" + resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.9.1.tgz#aba5a3ff4e7872ae34f8b4c533706753709e38b6" + integrity sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g== + dependencies: + date-format "^4.0.14" + debug "^4.3.4" + flatted "^3.2.7" + rfdc "^1.3.0" + streamroller "^3.1.5" + +math-intrinsics@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.27, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@^2.5.2: + version "2.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" + integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== + +minimatch@^3.0.4, minimatch@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + minimatch@^5.0.1, minimatch@^5.1.6: version "5.1.6" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" @@ -315,6 +1307,25 @@ minimatch@^5.0.1, minimatch@^5.1.6: dependencies: brace-expansion "^2.0.1" +minimatch@^9.0.3: + version "9.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.3, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +mkdirp@^0.5.5: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + mocha@10.7.3: version "10.7.3" resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.7.3.tgz#ae32003cabbd52b59aece17846056a68eb4b0752" @@ -341,11 +1352,26 @@ mocha@10.7.3: yargs-parser "^20.2.9" yargs-unparser "^2.0.0" +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + node-fetch@2.6.7: version "2.6.7" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" @@ -360,11 +1386,40 @@ node-fetch@2.7.0: dependencies: whatwg-url "^5.0.0" +node-releases@^2.0.19: + version "2.0.19" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314" + integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== + normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== +object-assign@^4: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.13.3: + version "1.13.4" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213" + integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww== + dependencies: + ee-first "1.1.1" + once@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -372,6 +1427,13 @@ once@^1.3.0: dependencies: wrappy "1" +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + p-limit@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" @@ -379,6 +1441,13 @@ p-limit@^3.0.2: dependencies: yocto-queue "^0.1.0" +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + p-locate@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" @@ -386,16 +1455,75 @@ p-locate@^5.0.0: dependencies: p-limit "^3.0.2" +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + path-exists@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +picocolors@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== + picomatch@^2.0.4, picomatch@^2.2.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== +pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== + +punycode@^2.1.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +qjobs@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/qjobs/-/qjobs-1.2.0.tgz#c45e9c61800bd087ef88d7e256423bdd49e5d071" + integrity sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg== + +qs@6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906" + integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== + dependencies: + side-channel "^1.0.6" + randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -403,6 +1531,21 @@ randombytes@^2.1.0: dependencies: safe-buffer "^5.1.0" +range-parser@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" + integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + readdirp@~3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" @@ -410,16 +1553,99 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" +rechoir@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.8.0.tgz#49f866e0d32146142da3ad8f0eff352b3215ff22" + integrity sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ== + dependencies: + resolve "^1.20.0" + require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve@^1.20.0: + version "1.22.10" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" + integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== + dependencies: + is-core-module "^2.16.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +rfdc@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.4.1.tgz#778f76c4fb731d93414e8f925fbecf64cce7f6ca" + integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + safe-buffer@^5.1.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== +safe-regex-test@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.1.0.tgz#7f87dfb67a3150782eaaf18583ff5d1711ac10c1" + integrity sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + is-regex "^1.2.1" + +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +schema-utils@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +schema-utils@^4.3.0: + version "4.3.2" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.3.2.tgz#0c10878bf4a73fd2b1dfd14b9462b26788c806ae" + integrity sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ== + dependencies: + "@types/json-schema" "^7.0.9" + ajv "^8.9.0" + ajv-formats "^2.1.1" + ajv-keywords "^5.1.0" + serialize-javascript@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" @@ -427,7 +1653,113 @@ serialize-javascript@^6.0.2: dependencies: randombytes "^2.1.0" -source-map-support@0.5.21: +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +side-channel-list@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad" + integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + +side-channel-map@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42" + integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + +side-channel-weakmap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea" + integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + side-channel-map "^1.0.1" + +side-channel@^1.0.6: + version "1.1.0" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9" + integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + side-channel-list "^1.0.0" + side-channel-map "^1.0.1" + side-channel-weakmap "^1.0.2" + +socket.io-adapter@~2.5.2: + version "2.5.5" + resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz#c7a1f9c703d7756844751b6ff9abfc1780664082" + integrity sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg== + dependencies: + debug "~4.3.4" + ws "~8.17.1" + +socket.io-parser@~4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.4.tgz#c806966cf7270601e47469ddeec30fbdfda44c83" + integrity sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew== + dependencies: + "@socket.io/component-emitter" "~3.1.0" + debug "~4.3.1" + +socket.io@^4.7.2: + version "4.8.1" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.8.1.tgz#fa0eaff965cc97fdf4245e8d4794618459f7558a" + integrity sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg== + dependencies: + accepts "~1.3.4" + base64id "~2.0.0" + cors "~2.8.5" + debug "~4.3.2" + engine.io "~6.6.0" + socket.io-adapter "~2.5.2" + socket.io-parser "~4.2.4" + +source-map-js@^1.0.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" + integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== + +source-map-loader@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-5.0.0.tgz#f593a916e1cc54471cfc8851b905c8a845fc7e38" + integrity sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA== + dependencies: + iconv-lite "^0.6.3" + source-map-js "^1.0.2" + +source-map-support@0.5.21, source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -435,11 +1767,30 @@ source-map-support@0.5.21: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@^0.6.0: +source-map@^0.6.0, source-map@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +statuses@~1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== + +streamroller@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.1.5.tgz#1263182329a45def1ffaef58d31b15d13d2ee7ff" + integrity sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw== + dependencies: + date-format "^4.0.14" + debug "^4.3.4" + fs-extra "^8.1.0" + string-width@^4.1.0, string-width@^4.2.0: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" @@ -468,13 +1819,49 @@ supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -supports-color@^8.1.1: +supports-color@^8.0.0, supports-color@^8.1.1: version "8.1.1" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: has-flag "^4.0.0" +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +tapable@^2.1.1, tapable@^2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.2.tgz#ab4984340d30cb9989a490032f086dbb8b56d872" + integrity sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg== + +terser-webpack-plugin@^5.3.10: + version "5.3.14" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz#9031d48e57ab27567f02ace85c7d690db66c3e06" + integrity sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw== + dependencies: + "@jridgewell/trace-mapping" "^0.3.25" + jest-worker "^27.4.5" + schema-utils "^4.3.0" + serialize-javascript "^6.0.2" + terser "^5.31.1" + +terser@^5.31.1: + version "5.40.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.40.0.tgz#839a80db42bfee8340085f44ea99b5cba36c55c8" + integrity sha512-cfeKl/jjwSR5ar7d0FGmave9hFGJT8obyo0z+CrQOylLDbk7X81nPU6vq9VORa5jU30SkDnT2FXjLbR8HLP+xA== + dependencies: + "@jridgewell/source-map" "^0.3.3" + acorn "^8.14.0" + commander "^2.20.0" + source-map-support "~0.5.20" + +tmp@^0.2.1: + version "0.2.3" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.3.tgz#eb783cc22bc1e8bebd0671476d46ea4eb32a79ae" + integrity sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== + to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -482,21 +1869,161 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + tr46@~0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + typescript@5.5.4: version "5.5.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.4.tgz#d9852d6c82bad2d2eda4fd74a5762a8f5909e9ba" integrity sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q== +ua-parser-js@^0.7.30: + version "0.7.40" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.40.tgz#c87d83b7bb25822ecfa6397a0da5903934ea1562" + integrity sha512-us1E3K+3jJppDBa3Tl0L3MOJiGhe1C6P0+nIvQAFYbxlMAx0h81eOwLmU57xgqToduDDPx3y5QsdjPfDu+FgOQ== + +undici-types@~6.21.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" + integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +update-browserslist-db@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420" + integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw== + dependencies: + escalade "^3.2.0" + picocolors "^1.1.1" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +vary@^1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +void-elements@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" + integrity sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung== + +watchpack@^2.4.1: + version "2.4.4" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.4.tgz#473bda72f0850453da6425081ea46fc0d7602947" + integrity sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== +webpack-cli@5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-5.1.4.tgz#c8e046ba7eaae4911d7e71e2b25b776fcc35759b" + integrity sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg== + dependencies: + "@discoveryjs/json-ext" "^0.5.0" + "@webpack-cli/configtest" "^2.1.1" + "@webpack-cli/info" "^2.0.2" + "@webpack-cli/serve" "^2.0.5" + colorette "^2.0.14" + commander "^10.0.1" + cross-spawn "^7.0.3" + envinfo "^7.7.3" + fastest-levenshtein "^1.0.12" + import-local "^3.0.2" + interpret "^3.1.1" + rechoir "^0.8.0" + webpack-merge "^5.7.3" + +webpack-merge@^4.1.5: + version "4.2.2" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d" + integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g== + dependencies: + lodash "^4.17.15" + +webpack-merge@^5.7.3: + version "5.10.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.10.0.tgz#a3ad5d773241e9c682803abf628d4cd62b8a4177" + integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== + dependencies: + clone-deep "^4.0.1" + flat "^5.0.2" + wildcard "^2.0.0" + +webpack-sources@^3.2.3: + version "3.3.0" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.3.0.tgz#8d3449f1ed3f254e722a529a0a344a37d2d17048" + integrity sha512-77R0RDmJfj9dyv5p3bM5pOHa+X8/ZkO9c7kpDstigkC4nIDobadsfSGCwB4bKhMVxqAok8tajaoR8rirM7+VFQ== + +webpack@5.94.0: + version "5.94.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.94.0.tgz#77a6089c716e7ab90c1c67574a28da518a20970f" + integrity sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg== + dependencies: + "@types/estree" "^1.0.5" + "@webassemblyjs/ast" "^1.12.1" + "@webassemblyjs/wasm-edit" "^1.12.1" + "@webassemblyjs/wasm-parser" "^1.12.1" + acorn "^8.7.1" + acorn-import-attributes "^1.9.5" + browserslist "^4.21.10" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.17.1" + es-module-lexer "^1.2.1" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.11" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.2.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.3.10" + watchpack "^2.4.1" + webpack-sources "^3.2.3" + whatwg-url@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" @@ -505,6 +2032,25 @@ whatwg-url@^5.0.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" +which@^1.2.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wildcard@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" + integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== + workerpool@^6.5.1: version "6.5.1" resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.5.1.tgz#060f73b39d0caf97c6db64da004cd01b4c099544" @@ -529,6 +2075,11 @@ ws@8.5.0: resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f" integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg== +ws@~8.17.1: + version "8.17.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" + integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== + y18n@^5.0.5: version "5.0.8" resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" @@ -549,7 +2100,7 @@ yargs-unparser@^2.0.0: flat "^5.0.2" is-plain-obj "^2.1.0" -yargs@^16.2.0: +yargs@^16.1.1, yargs@^16.2.0: version "16.2.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== diff --git a/tests/migration/build.gradle.kts b/tests/migration/build.gradle.kts index fe327b36..7beca3ba 100644 --- a/tests/migration/build.gradle.kts +++ b/tests/migration/build.gradle.kts @@ -5,8 +5,8 @@ plugins { kotlin { configureKmp( - withJs = false, - withWasm = false, + withJs = emptySet(), + withWasm = emptySet(), withAndroid = false, withApple = AppleTargets.Host, ) diff --git a/tests/models-fixtures/json/HeroAndFriendsNamesWithIDs.json b/tests/models-fixtures/json/HeroAndFriendsNamesWithIDs.json deleted file mode 100644 index 9fa71b22..00000000 --- a/tests/models-fixtures/json/HeroAndFriendsNamesWithIDs.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "data": { - "hero": { - "__typename": "Droid", - "id": "2001", - "name": "R2-D2", - "friends": [ - { - "__typename": "Human", - "id": "1000", - "name": "Luke Skywalker" - }, - { - "__typename": "Human", - "id": "1002", - "name": "Han Solo" - }, - { - "__typename": "Human", - "id": "1003", - "name": "Leia Organa" - } - ] - } - } -} diff --git a/tests/models-fixtures/json/HeroAndFriendsWithTypename.json b/tests/models-fixtures/json/HeroAndFriendsWithTypename.json deleted file mode 100644 index 9fa71b22..00000000 --- a/tests/models-fixtures/json/HeroAndFriendsWithTypename.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "data": { - "hero": { - "__typename": "Droid", - "id": "2001", - "name": "R2-D2", - "friends": [ - { - "__typename": "Human", - "id": "1000", - "name": "Luke Skywalker" - }, - { - "__typename": "Human", - "id": "1002", - "name": "Han Solo" - }, - { - "__typename": "Human", - "id": "1003", - "name": "Leia Organa" - } - ] - } - } -} diff --git a/tests/models-fixtures/json/HeroHumanOrDroid.json b/tests/models-fixtures/json/HeroHumanOrDroid.json deleted file mode 100644 index 610e2f30..00000000 --- a/tests/models-fixtures/json/HeroHumanOrDroid.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "data": { - "hero": { - "__typename": "Droid", - "name": "R2-D2", - "primaryFunction": "Astromech" - } - } -} diff --git a/tests/models-fixtures/json/HeroParentTypeDependentField.json b/tests/models-fixtures/json/HeroParentTypeDependentField.json deleted file mode 100644 index ba414a2f..00000000 --- a/tests/models-fixtures/json/HeroParentTypeDependentField.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "data": { - "hero": { - "__typename": "Droid", - "name": "R2-D2", - "friends": [ - { - "__typename": "Human", - "name": "Luke Skywalker", - "height": 1.72 - }, - { - "__typename": "Human", - "name": "Han Solo", - "height": 1.8 - }, - { - "__typename": "Human", - "name": "Leia Organa", - "height": 1.5 - } - ] - } - } -} diff --git a/tests/models-fixtures/json/MergedFieldWithSameShape_Droid.json b/tests/models-fixtures/json/MergedFieldWithSameShape_Droid.json deleted file mode 100644 index c4abfde0..00000000 --- a/tests/models-fixtures/json/MergedFieldWithSameShape_Droid.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "data": { - "hero": { - "__typename": "Droid", - "property": "Astromech" - } - } -} diff --git a/tests/models-fixtures/json/MergedFieldWithSameShape_Human.json b/tests/models-fixtures/json/MergedFieldWithSameShape_Human.json deleted file mode 100644 index 2690b25e..00000000 --- a/tests/models-fixtures/json/MergedFieldWithSameShape_Human.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "data": { - "hero": { - "__typename": "Human", - "property": "Tatooine" - } - } -} diff --git a/tests/models-fixtures/json/OperationJsonWriter.json b/tests/models-fixtures/json/OperationJsonWriter.json deleted file mode 100644 index 127745f6..00000000 --- a/tests/models-fixtures/json/OperationJsonWriter.json +++ /dev/null @@ -1,968 +0,0 @@ -{ - "data": { - "allPlanets": { - "planets": [ - { - "__typename": "Planet", - "name": "Tatooine", - "climates": null, - "surfaceWater": 1.0, - "filmConnection": null - }, - { - "__typename": "Planet", - "name": "Alderaan", - "climates": [ - "temperate" - ], - "surfaceWater": 40.0, - "filmConnection": { - "totalCount": 2, - "films": [ - { - "__typename": "Film", - "title": "A New Hope", - "producers": [ - "Gary Kurtz", - "Rick McCallum" - ] - }, - { - "__typename": "Film", - "title": "Revenge of the Sith", - "producers": [ - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Yavin IV", - "climates": [ - "temperate", - "tropical" - ], - "surfaceWater": 8.0, - "filmConnection": { - "totalCount": 1, - "films": [ - { - "__typename": "Film", - "title": "A New Hope", - "producers": [ - "Gary Kurtz", - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Hoth", - "climates": [ - "frozen" - ], - "surfaceWater": 100.0, - "filmConnection": { - "totalCount": 1, - "films": [ - { - "__typename": "Film", - "title": "The Empire Strikes Back", - "producers": [ - "Gary Kutz", - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Dagobah", - "climates": [ - "murky" - ], - "surfaceWater": 8.0, - "filmConnection": { - "totalCount": 3, - "films": [ - { - "__typename": "Film", - "title": "The Empire Strikes Back", - "producers": [ - "Gary Kutz", - "Rick McCallum" - ] - }, - { - "__typename": "Film", - "title": "Return of the Jedi", - "producers": [ - "Howard G. Kazanjian", - "George Lucas", - "Rick McCallum" - ] - }, - { - "__typename": "Film", - "title": "Revenge of the Sith", - "producers": [ - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Bespin", - "climates": [ - "temperate" - ], - "surfaceWater": 0.0, - "filmConnection": { - "totalCount": 1, - "films": [ - { - "__typename": "Film", - "title": "The Empire Strikes Back", - "producers": [ - "Gary Kutz", - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Endor", - "climates": [ - "temperate" - ], - "surfaceWater": 8.0, - "filmConnection": { - "totalCount": 1, - "films": [ - { - "__typename": "Film", - "title": "Return of the Jedi", - "producers": [ - "Howard G. Kazanjian", - "George Lucas", - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Naboo", - "climates": [ - "temperate" - ], - "surfaceWater": 12.0, - "filmConnection": { - "totalCount": 4, - "films": [ - { - "__typename": "Film", - "title": "Return of the Jedi", - "producers": [ - "Howard G. Kazanjian", - "George Lucas", - "Rick McCallum" - ] - }, - { - "__typename": "Film", - "title": "The Phantom Menace", - "producers": [ - "Rick McCallum" - ] - }, - { - "__typename": "Film", - "title": "Attack of the Clones", - "producers": [ - "Rick McCallum" - ] - }, - { - "__typename": "Film", - "title": "Revenge of the Sith", - "producers": [ - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Coruscant", - "climates": [ - "temperate" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 4, - "films": [ - { - "__typename": "Film", - "title": "Return of the Jedi", - "producers": [ - "Howard G. Kazanjian", - "George Lucas", - "Rick McCallum" - ] - }, - { - "__typename": "Film", - "title": "The Phantom Menace", - "producers": [ - "Rick McCallum" - ] - }, - { - "__typename": "Film", - "title": "Attack of the Clones", - "producers": [ - "Rick McCallum" - ] - }, - { - "__typename": "Film", - "title": "Revenge of the Sith", - "producers": [ - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Kamino", - "climates": [ - "temperate" - ], - "surfaceWater": 100.0, - "filmConnection": { - "totalCount": 1, - "films": [ - { - "__typename": "Film", - "title": "Attack of the Clones", - "producers": [ - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Geonosis", - "climates": [ - "temperate", - "arid" - ], - "surfaceWater": 5.0, - "filmConnection": { - "totalCount": 1, - "films": [ - { - "__typename": "Film", - "title": "Attack of the Clones", - "producers": [ - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Utapau", - "climates": [ - "temperate", - "arid", - "windy" - ], - "surfaceWater": 0.9, - "filmConnection": { - "totalCount": 1, - "films": [ - { - "__typename": "Film", - "title": "Revenge of the Sith", - "producers": [ - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Mustafar", - "climates": [ - "hot" - ], - "surfaceWater": 0.0, - "filmConnection": { - "totalCount": 1, - "films": [ - { - "__typename": "Film", - "title": "Revenge of the Sith", - "producers": [ - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Kashyyyk", - "climates": [ - "tropical" - ], - "surfaceWater": 60.0, - "filmConnection": { - "totalCount": 1, - "films": [ - { - "__typename": "Film", - "title": "Revenge of the Sith", - "producers": [ - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Polis Massa", - "climates": [ - "artificial temperate" - ], - "surfaceWater": 0.0, - "filmConnection": { - "totalCount": 1, - "films": [ - { - "__typename": "Film", - "title": "Revenge of the Sith", - "producers": [ - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Mygeeto", - "climates": [ - "frigid" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 1, - "films": [ - { - "__typename": "Film", - "title": "Revenge of the Sith", - "producers": [ - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Felucia", - "climates": [ - "hot", - "humid" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 1, - "films": [ - { - "__typename": "Film", - "title": "Revenge of the Sith", - "producers": [ - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Cato Neimoidia", - "climates": [ - "temperate", - "moist" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 1, - "films": [ - { - "__typename": "Film", - "title": "Revenge of the Sith", - "producers": [ - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Saleucami", - "climates": [ - "hot" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 1, - "films": [ - { - "__typename": "Film", - "title": "Revenge of the Sith", - "producers": [ - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Stewjon", - "climates": [ - "temperate" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Eriadu", - "climates": [ - "polluted" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Corellia", - "climates": [ - "temperate" - ], - "surfaceWater": 70.0, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Rodia", - "climates": [ - "hot" - ], - "surfaceWater": 60.0, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Nal Hutta", - "climates": [ - "temperate" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Dantooine", - "climates": [ - "temperate" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Bestine IV", - "climates": [ - "temperate" - ], - "surfaceWater": 98.0, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Ord Mantell", - "climates": [ - "temperate" - ], - "surfaceWater": 10.0, - "filmConnection": { - "totalCount": 1, - "films": [ - { - "__typename": "Film", - "title": "The Empire Strikes Back", - "producers": [ - "Gary Kutz", - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "unknown", - "climates": [ - "unknown" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Trandosha", - "climates": [ - "arid" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Socorro", - "climates": [ - "arid" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Mon Cala", - "climates": [ - "temperate" - ], - "surfaceWater": 100.0, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Chandrila", - "climates": [ - "temperate" - ], - "surfaceWater": 40.0, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Sullust", - "climates": [ - "superheated" - ], - "surfaceWater": 5.0, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Toydaria", - "climates": [ - "temperate" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Malastare", - "climates": [ - "arid", - "temperate", - "tropical" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Dathomir", - "climates": [ - "temperate" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Ryloth", - "climates": [ - "temperate", - "arid", - "subartic" - ], - "surfaceWater": 5.0, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Aleen Minor", - "climates": [ - "unknown" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Vulpter", - "climates": [ - "temperate", - "artic" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Troiken", - "climates": [ - "unknown" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Tund", - "climates": [ - "unknown" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Haruun Kal", - "climates": [ - "temperate" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Cerea", - "climates": [ - "temperate" - ], - "surfaceWater": 20.0, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Glee Anselm", - "climates": [ - "tropical", - "temperate" - ], - "surfaceWater": 80.0, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Iridonia", - "climates": [ - "unknown" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Tholoth", - "climates": [ - "unknown" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Iktotch", - "climates": [ - "arid", - "rocky", - "windy" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Quermia", - "climates": [ - "unknown" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Dorin", - "climates": [ - "temperate" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Champala", - "climates": [ - "temperate" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Mirial", - "climates": [ - "unknown" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Serenno", - "climates": [ - "unknown" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Concord Dawn", - "climates": [ - "unknown" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Zolan", - "climates": [ - "unknown" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Ojom", - "climates": [ - "frigid" - ], - "surfaceWater": 100.0, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Skako", - "climates": [ - "temperate" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Muunilinst", - "climates": [ - "temperate" - ], - "surfaceWater": 25.0, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Shili", - "climates": [ - "temperate" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Kalee", - "climates": [ - "arid", - "temperate", - "tropical" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Umbara", - "climates": [ - "unknown" - ], - "surfaceWater": null, - "filmConnection": { - "totalCount": 0, - "films": [] - } - } - ] - } - } -} \ No newline at end of file diff --git a/tests/models-operation-based-with-interfaces/build.gradle.kts b/tests/models-operation-based-with-interfaces/build.gradle.kts index 9c67c486..da9f19d7 100644 --- a/tests/models-operation-based-with-interfaces/build.gradle.kts +++ b/tests/models-operation-based-with-interfaces/build.gradle.kts @@ -7,8 +7,8 @@ plugins { kotlin { configureKmp( - withJs = true, - withWasm = false, + withJs = setOf(JsAndWasmEnvironment.Node), + withWasm = emptySet(), withAndroid = false, withApple = AppleTargets.Host, ) diff --git a/tests/models-operation-based-with-interfaces/src/commonTest/kotlin/Utils.kt b/tests/models-operation-based-with-interfaces/src/commonTest/kotlin/Utils.kt deleted file mode 100644 index d51db620..00000000 --- a/tests/models-operation-based-with-interfaces/src/commonTest/kotlin/Utils.kt +++ /dev/null @@ -1,4 +0,0 @@ -import com.apollographql.cache.normalized.testing.pathToUtf8 - -@Suppress("DEPRECATION") -fun testFixtureToUtf8(name: String) = pathToUtf8("models-fixtures/json/$name") diff --git a/tests/models-operation-based-with-interfaces/src/commonTest/kotlin/fixtures/fixtures.kt b/tests/models-operation-based-with-interfaces/src/commonTest/kotlin/fixtures/fixtures.kt new file mode 100644 index 00000000..dea2ca5e --- /dev/null +++ b/tests/models-operation-based-with-interfaces/src/commonTest/kotlin/fixtures/fixtures.kt @@ -0,0 +1,110 @@ +package fixtures + +const val HeroParentTypeDependentField = """ +{ + "data": { + "hero": { + "__typename": "Droid", + "name": "R2-D2", + "friends": [ + { + "__typename": "Human", + "name": "Luke Skywalker", + "height": 1.72 + }, + { + "__typename": "Human", + "name": "Han Solo", + "height": 1.8 + }, + { + "__typename": "Human", + "name": "Leia Organa", + "height": 1.5 + } + ] + } + } +} +""" + +const val HeroAndFriendsNamesWithIDs = """ +{ + "data": { + "hero": { + "__typename": "Droid", + "id": "2001", + "name": "R2-D2", + "friends": [ + { + "__typename": "Human", + "id": "1000", + "name": "Luke Skywalker" + }, + { + "__typename": "Human", + "id": "1002", + "name": "Han Solo" + }, + { + "__typename": "Human", + "id": "1003", + "name": "Leia Organa" + } + ] + } + } +} +""" + +const val MergedFieldWithSameShape_Human = """ +{ + "data": { + "hero": { + "__typename": "Human", + "property": "Tatooine" + } + } +} +""" + +const val HeroAndFriendsWithTypename = """ +{ + "data": { + "hero": { + "__typename": "Droid", + "id": "2001", + "name": "R2-D2", + "friends": [ + { + "__typename": "Human", + "id": "1000", + "name": "Luke Skywalker" + }, + { + "__typename": "Human", + "id": "1002", + "name": "Han Solo" + }, + { + "__typename": "Human", + "id": "1003", + "name": "Leia Organa" + } + ] + } + } +} +""" + +const val MergedFieldWithSameShape_Droid = """ +{ + "data": { + "hero": { + "__typename": "Droid", + "property": "Astromech" + } + } +} +""" + diff --git a/tests/models-operation-based-with-interfaces/src/commonTest/kotlin/test/BasicTest.kt b/tests/models-operation-based-with-interfaces/src/commonTest/kotlin/test/BasicTest.kt index d814e66a..27166246 100644 --- a/tests/models-operation-based-with-interfaces/src/commonTest/kotlin/test/BasicTest.kt +++ b/tests/models-operation-based-with-interfaces/src/commonTest/kotlin/test/BasicTest.kt @@ -16,7 +16,9 @@ import com.apollographql.cache.normalized.memory.MemoryCacheFactory import com.apollographql.cache.normalized.testing.runTest import com.apollographql.mockserver.MockServer import com.apollographql.mockserver.enqueueString -import testFixtureToUtf8 +import fixtures.HeroParentTypeDependentField +import fixtures.MergedFieldWithSameShape_Droid +import fixtures.MergedFieldWithSameShape_Human import kotlin.test.Test import kotlin.test.assertEquals import kotlin.test.assertFalse @@ -40,9 +42,9 @@ class BasicTest { mockServer.close() } - private fun basicTest(resourceName: String, query: Query, block: ApolloResponse.() -> Unit) = + private fun basicTest(jsonPayload: String, query: Query, block: ApolloResponse.() -> Unit) = runTest(before = { setUp() }, after = { tearDown() }) { - mockServer.enqueueString(testFixtureToUtf8(resourceName)) + mockServer.enqueueString(jsonPayload) var response = apolloClient.query(query).fetchPolicy(FetchPolicy.NetworkOnly).execute() response.block() response = apolloClient.query(query).fetchPolicy(FetchPolicy.CacheOnly).execute() @@ -52,7 +54,7 @@ class BasicTest { @Test @Throws(Exception::class) fun heroParentTypeDependentField() = basicTest( - "HeroParentTypeDependentField.json", + HeroParentTypeDependentField, HeroParentTypeDependentFieldQuery(Optional.Present(Episode.NEWHOPE)) ) { @@ -69,7 +71,7 @@ class BasicTest { @Test fun polymorphicDroidFieldsGetParsedToDroid() = basicTest( - "MergedFieldWithSameShape_Droid.json", + MergedFieldWithSameShape_Droid, MergedFieldWithSameShapeQuery(Optional.Present(Episode.NEWHOPE)) ) { assertFalse(hasErrors()) @@ -79,7 +81,7 @@ class BasicTest { @Test fun polymorphicHumanFieldsGetParsedToHuman() = basicTest( - "MergedFieldWithSameShape_Human.json", + MergedFieldWithSameShape_Human, MergedFieldWithSameShapeQuery(Optional.Present(Episode.NEWHOPE)) ) { assertFalse(hasErrors()) diff --git a/tests/models-operation-based-with-interfaces/src/commonTest/kotlin/test/StoreTest.kt b/tests/models-operation-based-with-interfaces/src/commonTest/kotlin/test/StoreTest.kt index 33ae1ea6..43b16c5e 100644 --- a/tests/models-operation-based-with-interfaces/src/commonTest/kotlin/test/StoreTest.kt +++ b/tests/models-operation-based-with-interfaces/src/commonTest/kotlin/test/StoreTest.kt @@ -15,7 +15,8 @@ import com.apollographql.cache.normalized.memory.MemoryCacheFactory import com.apollographql.cache.normalized.testing.runTest import com.apollographql.mockserver.MockServer import com.apollographql.mockserver.enqueueString -import testFixtureToUtf8 +import fixtures.HeroAndFriendsNamesWithIDs +import fixtures.HeroAndFriendsWithTypename import kotlin.test.Test import kotlin.test.assertEquals @@ -39,7 +40,7 @@ class StoreTest { @Test fun readFragmentFromStore() = runTest(before = { setUp() }, after = { tearDown() }) { - mockServer.enqueueString(testFixtureToUtf8("HeroAndFriendsWithTypename.json")) + mockServer.enqueueString(HeroAndFriendsWithTypename) apolloClient.query(HeroAndFriendsWithTypenameQuery()).execute() val heroWithFriendsFragment = cacheManager.readFragment( @@ -84,7 +85,7 @@ class StoreTest { */ @Test fun fragments() = runTest(before = { setUp() }, after = { tearDown() }) { - mockServer.enqueueString(testFixtureToUtf8("HeroAndFriendsNamesWithIDs.json")) + mockServer.enqueueString(HeroAndFriendsNamesWithIDs) val query = HeroAndFriendsWithFragmentsQuery() var response = apolloClient.query(query).execute() assertEquals(response.data?.hero?.__typename, "Droid") diff --git a/tests/models-operation-based/build.gradle.kts b/tests/models-operation-based/build.gradle.kts index 5d2df114..e082939e 100644 --- a/tests/models-operation-based/build.gradle.kts +++ b/tests/models-operation-based/build.gradle.kts @@ -5,8 +5,8 @@ plugins { kotlin { configureKmp( - withJs = true, - withWasm = false, + withJs = setOf(JsAndWasmEnvironment.Node), + withWasm = emptySet(), withAndroid = false, withApple = AppleTargets.Host, ) diff --git a/tests/models-operation-based/src/commonTest/kotlin/Utils.kt b/tests/models-operation-based/src/commonTest/kotlin/Utils.kt deleted file mode 100644 index d51db620..00000000 --- a/tests/models-operation-based/src/commonTest/kotlin/Utils.kt +++ /dev/null @@ -1,4 +0,0 @@ -import com.apollographql.cache.normalized.testing.pathToUtf8 - -@Suppress("DEPRECATION") -fun testFixtureToUtf8(name: String) = pathToUtf8("models-fixtures/json/$name") diff --git a/tests/models-operation-based/src/commonTest/kotlin/fixtures/fixtures.kt b/tests/models-operation-based/src/commonTest/kotlin/fixtures/fixtures.kt new file mode 100644 index 00000000..dea2ca5e --- /dev/null +++ b/tests/models-operation-based/src/commonTest/kotlin/fixtures/fixtures.kt @@ -0,0 +1,110 @@ +package fixtures + +const val HeroParentTypeDependentField = """ +{ + "data": { + "hero": { + "__typename": "Droid", + "name": "R2-D2", + "friends": [ + { + "__typename": "Human", + "name": "Luke Skywalker", + "height": 1.72 + }, + { + "__typename": "Human", + "name": "Han Solo", + "height": 1.8 + }, + { + "__typename": "Human", + "name": "Leia Organa", + "height": 1.5 + } + ] + } + } +} +""" + +const val HeroAndFriendsNamesWithIDs = """ +{ + "data": { + "hero": { + "__typename": "Droid", + "id": "2001", + "name": "R2-D2", + "friends": [ + { + "__typename": "Human", + "id": "1000", + "name": "Luke Skywalker" + }, + { + "__typename": "Human", + "id": "1002", + "name": "Han Solo" + }, + { + "__typename": "Human", + "id": "1003", + "name": "Leia Organa" + } + ] + } + } +} +""" + +const val MergedFieldWithSameShape_Human = """ +{ + "data": { + "hero": { + "__typename": "Human", + "property": "Tatooine" + } + } +} +""" + +const val HeroAndFriendsWithTypename = """ +{ + "data": { + "hero": { + "__typename": "Droid", + "id": "2001", + "name": "R2-D2", + "friends": [ + { + "__typename": "Human", + "id": "1000", + "name": "Luke Skywalker" + }, + { + "__typename": "Human", + "id": "1002", + "name": "Han Solo" + }, + { + "__typename": "Human", + "id": "1003", + "name": "Leia Organa" + } + ] + } + } +} +""" + +const val MergedFieldWithSameShape_Droid = """ +{ + "data": { + "hero": { + "__typename": "Droid", + "property": "Astromech" + } + } +} +""" + diff --git a/tests/models-operation-based/src/commonTest/kotlin/test/BasicTest.kt b/tests/models-operation-based/src/commonTest/kotlin/test/BasicTest.kt index d814e66a..27166246 100644 --- a/tests/models-operation-based/src/commonTest/kotlin/test/BasicTest.kt +++ b/tests/models-operation-based/src/commonTest/kotlin/test/BasicTest.kt @@ -16,7 +16,9 @@ import com.apollographql.cache.normalized.memory.MemoryCacheFactory import com.apollographql.cache.normalized.testing.runTest import com.apollographql.mockserver.MockServer import com.apollographql.mockserver.enqueueString -import testFixtureToUtf8 +import fixtures.HeroParentTypeDependentField +import fixtures.MergedFieldWithSameShape_Droid +import fixtures.MergedFieldWithSameShape_Human import kotlin.test.Test import kotlin.test.assertEquals import kotlin.test.assertFalse @@ -40,9 +42,9 @@ class BasicTest { mockServer.close() } - private fun basicTest(resourceName: String, query: Query, block: ApolloResponse.() -> Unit) = + private fun basicTest(jsonPayload: String, query: Query, block: ApolloResponse.() -> Unit) = runTest(before = { setUp() }, after = { tearDown() }) { - mockServer.enqueueString(testFixtureToUtf8(resourceName)) + mockServer.enqueueString(jsonPayload) var response = apolloClient.query(query).fetchPolicy(FetchPolicy.NetworkOnly).execute() response.block() response = apolloClient.query(query).fetchPolicy(FetchPolicy.CacheOnly).execute() @@ -52,7 +54,7 @@ class BasicTest { @Test @Throws(Exception::class) fun heroParentTypeDependentField() = basicTest( - "HeroParentTypeDependentField.json", + HeroParentTypeDependentField, HeroParentTypeDependentFieldQuery(Optional.Present(Episode.NEWHOPE)) ) { @@ -69,7 +71,7 @@ class BasicTest { @Test fun polymorphicDroidFieldsGetParsedToDroid() = basicTest( - "MergedFieldWithSameShape_Droid.json", + MergedFieldWithSameShape_Droid, MergedFieldWithSameShapeQuery(Optional.Present(Episode.NEWHOPE)) ) { assertFalse(hasErrors()) @@ -79,7 +81,7 @@ class BasicTest { @Test fun polymorphicHumanFieldsGetParsedToHuman() = basicTest( - "MergedFieldWithSameShape_Human.json", + MergedFieldWithSameShape_Human, MergedFieldWithSameShapeQuery(Optional.Present(Episode.NEWHOPE)) ) { assertFalse(hasErrors()) diff --git a/tests/models-operation-based/src/commonTest/kotlin/test/StoreTest.kt b/tests/models-operation-based/src/commonTest/kotlin/test/StoreTest.kt index 6e4b8278..a334a230 100644 --- a/tests/models-operation-based/src/commonTest/kotlin/test/StoreTest.kt +++ b/tests/models-operation-based/src/commonTest/kotlin/test/StoreTest.kt @@ -15,7 +15,8 @@ import com.apollographql.cache.normalized.memory.MemoryCacheFactory import com.apollographql.cache.normalized.testing.runTest import com.apollographql.mockserver.MockServer import com.apollographql.mockserver.enqueueString -import testFixtureToUtf8 +import fixtures.HeroAndFriendsNamesWithIDs +import fixtures.HeroAndFriendsWithTypename import kotlin.test.Test import kotlin.test.assertEquals @@ -39,7 +40,7 @@ class StoreTest { @Test fun readFragmentFromStore() = runTest(before = { setUp() }, after = { tearDown() }) { - mockServer.enqueueString(testFixtureToUtf8("HeroAndFriendsWithTypename.json")) + mockServer.enqueueString(HeroAndFriendsWithTypename) apolloClient.query(HeroAndFriendsWithTypenameQuery()).execute() val heroWithFriendsFragment = cacheManager.readFragment( @@ -84,7 +85,7 @@ class StoreTest { */ @Test fun fragments() = runTest(before = { setUp() }, after = { tearDown() }) { - mockServer.enqueueString(testFixtureToUtf8("HeroAndFriendsNamesWithIDs.json")) + mockServer.enqueueString(HeroAndFriendsNamesWithIDs) val query = HeroAndFriendsWithFragmentsQuery() var response = apolloClient.query(query).execute() assertEquals(response.data?.hero?.__typename, "Droid") diff --git a/tests/models-response-based/build.gradle.kts b/tests/models-response-based/build.gradle.kts index 9ea06cd0..1dc9febe 100644 --- a/tests/models-response-based/build.gradle.kts +++ b/tests/models-response-based/build.gradle.kts @@ -5,8 +5,8 @@ plugins { kotlin { configureKmp( - withJs = true, - withWasm = false, + withJs = setOf(JsAndWasmEnvironment.Node), + withWasm = emptySet(), withAndroid = false, withApple = AppleTargets.Host, ) diff --git a/tests/models-response-based/src/commonTest/kotlin/Utils.kt b/tests/models-response-based/src/commonTest/kotlin/Utils.kt deleted file mode 100644 index d51db620..00000000 --- a/tests/models-response-based/src/commonTest/kotlin/Utils.kt +++ /dev/null @@ -1,4 +0,0 @@ -import com.apollographql.cache.normalized.testing.pathToUtf8 - -@Suppress("DEPRECATION") -fun testFixtureToUtf8(name: String) = pathToUtf8("models-fixtures/json/$name") diff --git a/tests/models-response-based/src/commonTest/kotlin/fixtures/fixtures.kt b/tests/models-response-based/src/commonTest/kotlin/fixtures/fixtures.kt new file mode 100644 index 00000000..2e238239 --- /dev/null +++ b/tests/models-response-based/src/commonTest/kotlin/fixtures/fixtures.kt @@ -0,0 +1,122 @@ +package fixtures + +const val HeroHumanOrDroid = """ +{ + "data": { + "hero": { + "__typename": "Droid", + "name": "R2-D2", + "primaryFunction": "Astromech" + } + } +} +""" + +const val HeroParentTypeDependentField = """ +{ + "data": { + "hero": { + "__typename": "Droid", + "name": "R2-D2", + "friends": [ + { + "__typename": "Human", + "name": "Luke Skywalker", + "height": 1.72 + }, + { + "__typename": "Human", + "name": "Han Solo", + "height": 1.8 + }, + { + "__typename": "Human", + "name": "Leia Organa", + "height": 1.5 + } + ] + } + } +} +""" + +const val HeroAndFriendsNamesWithIDs = """ +{ + "data": { + "hero": { + "__typename": "Droid", + "id": "2001", + "name": "R2-D2", + "friends": [ + { + "__typename": "Human", + "id": "1000", + "name": "Luke Skywalker" + }, + { + "__typename": "Human", + "id": "1002", + "name": "Han Solo" + }, + { + "__typename": "Human", + "id": "1003", + "name": "Leia Organa" + } + ] + } + } +} +""" + +const val MergedFieldWithSameShape_Human = """ +{ + "data": { + "hero": { + "__typename": "Human", + "property": "Tatooine" + } + } +} +""" + +const val HeroAndFriendsWithTypename = """ +{ + "data": { + "hero": { + "__typename": "Droid", + "id": "2001", + "name": "R2-D2", + "friends": [ + { + "__typename": "Human", + "id": "1000", + "name": "Luke Skywalker" + }, + { + "__typename": "Human", + "id": "1002", + "name": "Han Solo" + }, + { + "__typename": "Human", + "id": "1003", + "name": "Leia Organa" + } + ] + } + } +} +""" + +const val MergedFieldWithSameShape_Droid = """ +{ + "data": { + "hero": { + "__typename": "Droid", + "property": "Astromech" + } + } +} +""" + diff --git a/tests/models-response-based/src/commonTest/kotlin/test/BasicTest.kt b/tests/models-response-based/src/commonTest/kotlin/test/BasicTest.kt index 18a02df7..c57f0eeb 100644 --- a/tests/models-response-based/src/commonTest/kotlin/test/BasicTest.kt +++ b/tests/models-response-based/src/commonTest/kotlin/test/BasicTest.kt @@ -21,7 +21,10 @@ import com.apollographql.cache.normalized.memory.MemoryCacheFactory import com.apollographql.cache.normalized.testing.runTest import com.apollographql.mockserver.MockServer import com.apollographql.mockserver.enqueueString -import testFixtureToUtf8 +import fixtures.HeroHumanOrDroid +import fixtures.HeroParentTypeDependentField +import fixtures.MergedFieldWithSameShape_Droid +import fixtures.MergedFieldWithSameShape_Human import kotlin.test.Test import kotlin.test.assertEquals import kotlin.test.assertFalse @@ -45,9 +48,9 @@ class BasicTest { mockServer.close() } - private fun basicTest(resourceName: String, query: Query, block: ApolloResponse.() -> Unit) = + private fun basicTest(jsonPayload: String, query: Query, block: ApolloResponse.() -> Unit) = runTest(before = { setUp() }, after = { tearDown() }) { - mockServer.enqueueString(testFixtureToUtf8(resourceName)) + mockServer.enqueueString(jsonPayload) var response = apolloClient.query(query).fetchPolicy(FetchPolicy.NetworkOnly).execute() response.block() response = apolloClient.query(query).fetchPolicy(FetchPolicy.CacheOnly).execute() @@ -57,7 +60,7 @@ class BasicTest { @Test @Throws(Exception::class) fun heroParentTypeDependentField() = basicTest( - "HeroParentTypeDependentField.json", + HeroParentTypeDependentField, HeroParentTypeDependentFieldQuery(Optional.Present(Episode.NEWHOPE)) ) { @@ -74,7 +77,7 @@ class BasicTest { @Test fun polymorphicDroidFieldsGetParsedToDroid() = basicTest( - "MergedFieldWithSameShape_Droid.json", + MergedFieldWithSameShape_Droid, MergedFieldWithSameShapeQuery(Optional.Present(Episode.NEWHOPE)) ) { @@ -85,7 +88,7 @@ class BasicTest { @Test fun polymorphicHumanFieldsGetParsedToHuman() = basicTest( - "MergedFieldWithSameShape_Human.json", + MergedFieldWithSameShape_Human, MergedFieldWithSameShapeQuery(Optional.Present(Episode.NEWHOPE)) ) { @@ -96,7 +99,7 @@ class BasicTest { @Test fun canUseExhaustiveWhen() = basicTest( - "HeroHumanOrDroid.json", + HeroHumanOrDroid, HeroHumanOrDroidQuery(Optional.Present(Episode.NEWHOPE)) ) { val name = when (val hero = data!!.hero!!) { diff --git a/tests/models-response-based/src/commonTest/kotlin/test/StoreTest.kt b/tests/models-response-based/src/commonTest/kotlin/test/StoreTest.kt index 75f9285a..7dacdaa4 100644 --- a/tests/models-response-based/src/commonTest/kotlin/test/StoreTest.kt +++ b/tests/models-response-based/src/commonTest/kotlin/test/StoreTest.kt @@ -16,7 +16,8 @@ import com.apollographql.cache.normalized.memory.MemoryCacheFactory import com.apollographql.cache.normalized.testing.runTest import com.apollographql.mockserver.MockServer import com.apollographql.mockserver.enqueueString -import testFixtureToUtf8 +import fixtures.HeroAndFriendsNamesWithIDs +import fixtures.HeroAndFriendsWithTypename import kotlin.test.Test import kotlin.test.assertEquals @@ -40,7 +41,7 @@ class StoreTest { @Test fun readFragmentFromStore() = runTest(before = { setUp() }, after = { tearDown() }) { - mockServer.enqueueString(testFixtureToUtf8("HeroAndFriendsWithTypename.json")) + mockServer.enqueueString(HeroAndFriendsWithTypename) apolloClient.query(HeroAndFriendsWithTypenameQuery()).execute() val heroWithFriendsFragment = cacheManager.readFragment( @@ -85,7 +86,7 @@ class StoreTest { */ @Test fun fragments() = runTest(before = { setUp() }, after = { tearDown() }) { - mockServer.enqueueString(testFixtureToUtf8("HeroAndFriendsNamesWithIDs.json")) + mockServer.enqueueString(HeroAndFriendsNamesWithIDs) val query = HeroAndFriendsWithFragmentsQuery() var response = apolloClient.query(query).execute() assertEquals(response.data?.hero?.__typename, "Droid") diff --git a/tests/normalization-tests/build.gradle.kts b/tests/normalization-tests/build.gradle.kts index 24c37f06..d5e066d2 100644 --- a/tests/normalization-tests/build.gradle.kts +++ b/tests/normalization-tests/build.gradle.kts @@ -7,8 +7,8 @@ plugins { kotlin { configureKmp( - withJs = true, - withWasm = false, + withJs = setOf(JsAndWasmEnvironment.Node), + withWasm = emptySet(), withAndroid = false, withApple = AppleTargets.Host, ) diff --git a/tests/normalized-cache/build.gradle.kts b/tests/normalized-cache/build.gradle.kts index ea14812a..d6217b50 100644 --- a/tests/normalized-cache/build.gradle.kts +++ b/tests/normalized-cache/build.gradle.kts @@ -7,8 +7,8 @@ plugins { kotlin { configureKmp( - withJs = true, - withWasm = false, + withJs = setOf(JsAndWasmEnvironment.Node), + withWasm = emptySet(), withAndroid = false, withApple = AppleTargets.Host, ) diff --git a/tests/normalized-cache/src/commonTest/kotlin/BasicTest.kt b/tests/normalized-cache/src/commonTest/kotlin/BasicTest.kt index a14bcab3..f489fd8b 100644 --- a/tests/normalized-cache/src/commonTest/kotlin/BasicTest.kt +++ b/tests/normalized-cache/src/commonTest/kotlin/BasicTest.kt @@ -12,6 +12,15 @@ import com.apollographql.cache.normalized.memory.MemoryCacheFactory import com.apollographql.cache.normalized.testing.runTest import com.apollographql.mockserver.MockServer import com.apollographql.mockserver.enqueueString +import fixtures.AllPlanetsNullableField +import fixtures.HeroAndFriendsNameResponse +import fixtures.HeroAndFriendsNameWithIdsParentOnlyResponse +import fixtures.HeroAndFriendsNameWithIdsResponse +import fixtures.HeroAppearsInResponse +import fixtures.HeroAppearsInResponseWithNulls +import fixtures.HeroNameResponse +import fixtures.SameHeroTwiceResponse +import fixtures.StarshipByIdResponse import httpcache.AllPlanetsQuery import normalizer.EpisodeHeroNameQuery import normalizer.HeroAndFriendsNamesQuery @@ -52,11 +61,11 @@ class BasicTest { } private fun basicTest( - resourceName: String, + jsonPayload: String, query: Query, block: ApolloResponse.() -> Unit, ) = runTest(before = { setUp() }, after = { tearDown() }) { - mockServer.enqueueString(testFixtureToUtf8(resourceName)) + mockServer.enqueueString(jsonPayload) var response = apolloClient.query(query) .fetchPolicy(FetchPolicy.NetworkOnly) .execute() @@ -69,7 +78,7 @@ class BasicTest { @Test fun episodeHeroName() = basicTest( - "HeroNameResponse.json", + HeroNameResponse, EpisodeHeroNameQuery(Episode.EMPIRE) ) { @@ -80,7 +89,7 @@ class BasicTest { @Test @Throws(Exception::class) fun heroAndFriendsNameResponse() = basicTest( - "HeroAndFriendsNameResponse.json", + HeroAndFriendsNameResponse, HeroAndFriendsNamesQuery(Episode.JEDI) ) { @@ -94,7 +103,7 @@ class BasicTest { @Test fun heroAndFriendsNamesWithIDs() = basicTest( - "HeroAndFriendsNameWithIdsResponse.json", + HeroAndFriendsNameWithIdsResponse, HeroAndFriendsNamesWithIDsQuery(Episode.NEWHOPE) ) { @@ -113,7 +122,7 @@ class BasicTest { @Test @Throws(Exception::class) fun heroAndFriendsNameWithIdsForParentOnly() = basicTest( - "HeroAndFriendsNameWithIdsParentOnlyResponse.json", + HeroAndFriendsNameWithIdsParentOnlyResponse, HeroAndFriendsNamesWithIDForParentOnlyQuery(Episode.NEWHOPE) ) { @@ -129,7 +138,7 @@ class BasicTest { @Test @Throws(Exception::class) fun heroAppearsInResponse() = basicTest( - "HeroAppearsInResponse.json", + HeroAppearsInResponse, HeroAppearsInQuery() ) { @@ -142,7 +151,7 @@ class BasicTest { @Test fun heroAppearsInResponseWithNulls() = basicTest( - "HeroAppearsInResponseWithNulls.json", + HeroAppearsInResponseWithNulls, HeroAppearsInQuery() ) { @@ -159,7 +168,7 @@ class BasicTest { @Test fun requestingTheSameFieldTwiceWithAnAlias() = basicTest( - "SameHeroTwiceResponse.json", + SameHeroTwiceResponse, SameHeroTwiceQuery() ) { assertFalse(hasErrors()) @@ -172,7 +181,7 @@ class BasicTest { @Test fun cacheResponseWithNullableFields() = basicTest( - "AllPlanetsNullableField.json", + AllPlanetsNullableField, AllPlanetsQuery() ) { assertFalse(hasErrors()) @@ -180,7 +189,7 @@ class BasicTest { @Test fun readList() = basicTest( - "HeroAndFriendsNameWithIdsResponse.json", + HeroAndFriendsNameWithIdsResponse, HeroAndFriendsNamesWithIDsQuery(Episode.NEWHOPE) ) { assertEquals(data?.hero?.id, "2001") @@ -196,7 +205,7 @@ class BasicTest { @Test fun listOfList() = basicTest( - "StarshipByIdResponse.json", + StarshipByIdResponse, StarshipByIdQuery("Starship1") ) { assertEquals(data?.starship?.name, "SuperRocket") diff --git a/tests/normalized-cache/src/commonTest/kotlin/CancelTest.kt b/tests/normalized-cache/src/commonTest/kotlin/CancelTest.kt index 3514befb..9be85a70 100644 --- a/tests/normalized-cache/src/commonTest/kotlin/CancelTest.kt +++ b/tests/normalized-cache/src/commonTest/kotlin/CancelTest.kt @@ -8,6 +8,7 @@ import com.apollographql.cache.normalized.normalizedCache import com.apollographql.cache.normalized.testing.runTest import com.apollographql.mockserver.MockServer import com.apollographql.mockserver.enqueueString +import fixtures.EpisodeHeroNameResponse import kotlinx.coroutines.delay import kotlinx.coroutines.flow.toList import kotlinx.coroutines.launch @@ -28,7 +29,7 @@ class CancelTest { @Test fun cancelFlow() = runTest(before = { setUp() }, after = { tearDown() }) { - mockServer.enqueueString(testFixtureToUtf8("EpisodeHeroNameResponse.json")) + mockServer.enqueueString(EpisodeHeroNameResponse) val apolloClient = ApolloClient.Builder().serverUrl(mockServer.url()).build() val job = launch { @@ -42,7 +43,7 @@ class CancelTest { @Test fun canCancelQueryCacheAndNetwork() = runTest(before = { setUp() }, after = { tearDown() }) { - mockServer.enqueueString(testFixtureToUtf8("EpisodeHeroNameResponse.json"), 500) + mockServer.enqueueString(EpisodeHeroNameResponse, 500) val apolloClient = ApolloClient.Builder().serverUrl(mockServer.url()).normalizedCache(MemoryCacheFactory()).build() val job = launch { diff --git a/tests/normalized-cache/src/commonTest/kotlin/JsonScalarTest.kt b/tests/normalized-cache/src/commonTest/kotlin/JsonScalarTest.kt index e1a832c9..834e145d 100644 --- a/tests/normalized-cache/src/commonTest/kotlin/JsonScalarTest.kt +++ b/tests/normalized-cache/src/commonTest/kotlin/JsonScalarTest.kt @@ -10,6 +10,8 @@ import com.apollographql.cache.normalized.memory.MemoryCacheFactory import com.apollographql.cache.normalized.testing.runTest import com.apollographql.mockserver.MockServer import com.apollographql.mockserver.enqueueString +import fixtures.JsonScalar +import fixtures.JsonScalarModified import normalizer.GetJsonScalarQuery import normalizer.type.Json import kotlin.test.Test @@ -37,7 +39,7 @@ class JsonScalarTest { // see https://github.com/apollographql/apollo-kotlin/issues/2854 @Test fun jsonScalar() = runTest(before = { setUp() }, after = { tearDown() }) { - mockServer.enqueueString(testFixtureToUtf8("JsonScalar.json")) + mockServer.enqueueString(JsonScalar) var response = apolloClient.query(GetJsonScalarQuery()).execute() assertFalse(response.hasErrors()) @@ -50,7 +52,7 @@ class JsonScalarTest { /** * Update the json value, it should be replaced, not merged */ - mockServer.enqueueString(testFixtureToUtf8("JsonScalarModified.json")) + mockServer.enqueueString(JsonScalarModified) apolloClient.query(GetJsonScalarQuery()).fetchPolicy(FetchPolicy.NetworkFirst).execute() response = apolloClient.query(GetJsonScalarQuery()).fetchPolicy(FetchPolicy.CacheOnly).execute() diff --git a/tests/normalized-cache/src/commonTest/kotlin/NormalizerTest.kt b/tests/normalized-cache/src/commonTest/kotlin/NormalizerTest.kt index c84fbfa5..2f66f015 100644 --- a/tests/normalized-cache/src/commonTest/kotlin/NormalizerTest.kt +++ b/tests/normalized-cache/src/commonTest/kotlin/NormalizerTest.kt @@ -1,6 +1,7 @@ package test import com.apollographql.apollo.api.Operation +import com.apollographql.apollo.api.json.jsonReader import com.apollographql.apollo.api.toApolloResponse import com.apollographql.cache.normalized.api.CacheHeaders import com.apollographql.cache.normalized.api.CacheKey @@ -14,6 +15,19 @@ import com.apollographql.cache.normalized.api.Record import com.apollographql.cache.normalized.internal.normalized import com.apollographql.cache.normalized.memory.MemoryCacheFactory import com.apollographql.cache.normalized.testing.append +import fixtures.AllPlanetsListOfObjectWithNullObject +import fixtures.EpisodeHeroNameResponse +import fixtures.HeroAndFriendsConnectionResponse +import fixtures.HeroAndFriendsNameResponse +import fixtures.HeroAndFriendsNameWithIdsParentOnlyResponse +import fixtures.HeroAndFriendsNameWithIdsResponse +import fixtures.HeroAppearsInResponse +import fixtures.HeroNameResponse +import fixtures.HeroParentTypeDependentFieldDroidResponse +import fixtures.HeroParentTypeDependentFieldHumanResponse +import fixtures.HeroTypeDependentAliasedFieldResponse +import fixtures.HeroTypeDependentAliasedFieldResponseHuman +import fixtures.SameHeroTwiceResponse import httpcache.AllPlanetsQuery import normalizer.EpisodeHeroNameQuery import normalizer.HeroAndFriendsConnectionQuery @@ -26,6 +40,7 @@ import normalizer.HeroParentTypeDependentFieldQuery import normalizer.HeroTypeDependentAliasedFieldQuery import normalizer.SameHeroTwiceQuery import normalizer.type.Episode +import okio.Buffer import kotlin.test.BeforeTest import kotlin.test.Test import kotlin.test.assertEquals @@ -47,7 +62,7 @@ class NormalizerTest { @Test @Throws(Exception::class) fun testHeroName() { - val records = records(HeroNameQuery(), "HeroNameResponse.json") + val records = records(HeroNameQuery(), HeroNameResponse) val record = records.get(CacheKey.QUERY_ROOT) val reference = record!!["hero"] as CacheKey? assertEquals(reference, CacheKey("hero")) @@ -78,7 +93,7 @@ class NormalizerTest { @Test @Throws(Exception::class) fun testHeroNameWithVariable() { - val records = records(EpisodeHeroNameQuery(Episode.JEDI), "EpisodeHeroNameResponse.json") + val records = records(EpisodeHeroNameQuery(Episode.JEDI), EpisodeHeroNameResponse) val record = records.get(CacheKey.QUERY_ROOT) val reference = record!![TEST_FIELD_KEY_JEDI] as CacheKey? assertEquals(reference, CacheKey(TEST_FIELD_KEY_JEDI)) @@ -89,7 +104,7 @@ class NormalizerTest { @Test @Throws(Exception::class) fun testHeroAppearsInQuery() { - val records = records(HeroAppearsInQuery(), "HeroAppearsInResponse.json") + val records = records(HeroAppearsInQuery(), HeroAppearsInResponse) val rootRecord = records.get(CacheKey.QUERY_ROOT)!! @@ -103,7 +118,7 @@ class NormalizerTest { @Test @Throws(Exception::class) fun testHeroAndFriendsNamesQueryWithoutIDs() { - val records = records(HeroAndFriendsNamesQuery(Episode.JEDI), "HeroAndFriendsNameResponse.json") + val records = records(HeroAndFriendsNamesQuery(Episode.JEDI), HeroAndFriendsNameResponse) val record = records.get(CacheKey.QUERY_ROOT) val heroReference = record!![TEST_FIELD_KEY_JEDI] as CacheKey? assertEquals(heroReference, CacheKey(TEST_FIELD_KEY_JEDI)) @@ -124,7 +139,7 @@ class NormalizerTest { @Test @Throws(Exception::class) fun testHeroAndFriendsNamesQueryWithIDs() { - val records = records(HeroAndFriendsNamesWithIDsQuery(Episode.JEDI), "HeroAndFriendsNameWithIdsResponse.json") + val records = records(HeroAndFriendsNamesWithIDsQuery(Episode.JEDI), HeroAndFriendsNameWithIdsResponse) val record = records.get(CacheKey.QUERY_ROOT) val heroReference = record!![TEST_FIELD_KEY_JEDI] as CacheKey? assertEquals(CacheKey("Droid:2001"), heroReference) @@ -145,7 +160,7 @@ class NormalizerTest { @Test @Throws(Exception::class) fun testHeroAndFriendsNamesWithIDForParentOnly() { - val records = records(HeroAndFriendsNamesWithIDForParentOnlyQuery(Episode.JEDI), "HeroAndFriendsNameWithIdsParentOnlyResponse.json") + val records = records(HeroAndFriendsNamesWithIDForParentOnlyQuery(Episode.JEDI), HeroAndFriendsNameWithIdsParentOnlyResponse) val record = records[CacheKey.QUERY_ROOT] val heroReference = record!![TEST_FIELD_KEY_JEDI] as CacheKey? assertEquals(CacheKey("Droid:2001"), heroReference) @@ -166,7 +181,7 @@ class NormalizerTest { @Test @Throws(Exception::class) fun testSameHeroTwiceQuery() { - val records = records(SameHeroTwiceQuery(), "SameHeroTwiceResponse.json") + val records = records(SameHeroTwiceQuery(), SameHeroTwiceResponse) val record = records.get(CacheKey.QUERY_ROOT) val heroReference = record!!["hero"] as CacheKey? val hero = records.get(heroReference!!) @@ -178,7 +193,7 @@ class NormalizerTest { @Test @Throws(Exception::class) fun testHeroTypeDependentAliasedFieldQueryDroid() { - val records = records(HeroTypeDependentAliasedFieldQuery(Episode.JEDI), "HeroTypeDependentAliasedFieldResponse.json") + val records = records(HeroTypeDependentAliasedFieldQuery(Episode.JEDI), HeroTypeDependentAliasedFieldResponse) val record = records.get(CacheKey.QUERY_ROOT) val heroReference = record!![TEST_FIELD_KEY_JEDI] as CacheKey? val hero = records.get(heroReference!!) @@ -189,7 +204,7 @@ class NormalizerTest { @Test @Throws(Exception::class) fun testHeroTypeDependentAliasedFieldQueryHuman() { - val records = records(HeroTypeDependentAliasedFieldQuery(Episode.EMPIRE), "HeroTypeDependentAliasedFieldResponseHuman.json") + val records = records(HeroTypeDependentAliasedFieldQuery(Episode.EMPIRE), HeroTypeDependentAliasedFieldResponseHuman) val record = records.get(CacheKey.QUERY_ROOT) val heroReference = record!![TEST_FIELD_KEY_EMPIRE] as CacheKey? val hero = records.get(heroReference!!) @@ -200,7 +215,7 @@ class NormalizerTest { @Test @Throws(Exception::class) fun testHeroParentTypeDependentAliasedFieldQueryHuman() { - val records = records(HeroTypeDependentAliasedFieldQuery(Episode.EMPIRE), "HeroTypeDependentAliasedFieldResponseHuman.json") + val records = records(HeroTypeDependentAliasedFieldQuery(Episode.EMPIRE), HeroTypeDependentAliasedFieldResponseHuman) val record = records.get(CacheKey.QUERY_ROOT) val heroReference = record!![TEST_FIELD_KEY_EMPIRE] as CacheKey? val hero = records.get(heroReference!!) @@ -211,7 +226,7 @@ class NormalizerTest { @Test @Throws(Exception::class) fun testHeroParentTypeDependentFieldDroid() { - val records = records(HeroParentTypeDependentFieldQuery(Episode.JEDI), "HeroParentTypeDependentFieldDroidResponse.json") + val records = records(HeroParentTypeDependentFieldQuery(Episode.JEDI), HeroParentTypeDependentFieldDroidResponse) val lukeRecord = records.get(CacheKey(TEST_FIELD_KEY_JEDI).append("friends", "0")) assertEquals(lukeRecord!!["name"], "Luke Skywalker") assertEquals(lukeRecord["height({\"unit\":\"METER\"})"], 1.72) @@ -227,7 +242,7 @@ class NormalizerTest { @Test fun list_of_objects_with_null_object() { - val records = records(AllPlanetsQuery(), "AllPlanetsListOfObjectWithNullObject.json") + val records = records(AllPlanetsQuery(), AllPlanetsListOfObjectWithNullObject) val fieldKey = CacheKey("allPlanets({\"first\":300})") var record: Record? = records[fieldKey.append("planets", "0")] @@ -242,7 +257,7 @@ class NormalizerTest { @Test @Throws(Exception::class) fun testHeroParentTypeDependentFieldHuman() { - val records = records(HeroParentTypeDependentFieldQuery(Episode.EMPIRE), "HeroParentTypeDependentFieldHumanResponse.json") + val records = records(HeroParentTypeDependentFieldQuery(Episode.EMPIRE), HeroParentTypeDependentFieldHumanResponse) val lukeRecord = records.get(CacheKey(TEST_FIELD_KEY_EMPIRE).append("friends", "0")) assertEquals(lukeRecord!!["name"], "Han Solo") @@ -263,7 +278,7 @@ class NormalizerTest { } } val records = - records(HeroAndFriendsConnectionQuery(Episode.EMPIRE), "HeroAndFriendsConnectionResponse.json", maxAgeProvider = maxAgeProvider) + records(HeroAndFriendsConnectionQuery(Episode.EMPIRE), HeroAndFriendsConnectionResponse, maxAgeProvider = maxAgeProvider) assertTrue(records[CacheKey("hero({\"episode\":\"EMPIRE\"})")]!!["friendsConnection"] == null) assertTrue(records[CacheKey("hero({\"episode\":\"EMPIRE\"})").append("friendsConnection")]!!.isEmpty()) } @@ -271,10 +286,10 @@ class NormalizerTest { companion object { internal fun records( operation: Operation, - name: String, + jsonPayload: String, maxAgeProvider: MaxAgeProvider = DefaultMaxAgeProvider, ): Map { - val response = testFixtureToJsonReader(name).toApolloResponse(operation) + val response = Buffer().writeUtf8(jsonPayload).jsonReader().toApolloResponse(operation) return response.data!!.normalized(operation, cacheKeyGenerator = IdCacheKeyGenerator(), maxAgeProvider = maxAgeProvider) } diff --git a/tests/normalized-cache/src/commonTest/kotlin/OptimisticCacheTest.kt b/tests/normalized-cache/src/commonTest/kotlin/OptimisticCacheTest.kt index a09b4122..779d29d8 100644 --- a/tests/normalized-cache/src/commonTest/kotlin/OptimisticCacheTest.kt +++ b/tests/normalized-cache/src/commonTest/kotlin/OptimisticCacheTest.kt @@ -16,6 +16,11 @@ import com.apollographql.cache.normalized.watch import com.apollographql.mockserver.MockServer import com.apollographql.mockserver.enqueueString import com.benasher44.uuid.uuid4 +import fixtures.HeroAndFriendsNameResponse +import fixtures.HeroAndFriendsNameWithIdsResponse +import fixtures.HeroNameWithIdResponse +import fixtures.ReviewsEmpireEpisodeResponse +import fixtures.UpdateReviewResponse import kotlinx.coroutines.channels.Channel import kotlinx.coroutines.launch import normalizer.HeroAndFriendsNamesQuery @@ -54,7 +59,7 @@ class OptimisticCacheTest { fun programmaticOptimisticUpdates() = runTest(before = { setUp() }, after = { tearDown() }) { val query = HeroAndFriendsNamesQuery(Episode.JEDI) - mockServer.enqueueString(testFixtureToUtf8("HeroAndFriendsNameResponse.json")) + mockServer.enqueueString(HeroAndFriendsNameResponse) apolloClient.query(query).fetchPolicy(FetchPolicy.NetworkOnly).execute() val mutationId = uuid4() @@ -106,7 +111,7 @@ class OptimisticCacheTest { fun programmaticOptimisticFragmentUpdates() = runTest(before = { setUp() }, after = { tearDown() }) { val query = HeroAndFriendsNamesQuery(Episode.JEDI) - mockServer.enqueueString(testFixtureToUtf8("HeroAndFriendsNameResponse.json")) + mockServer.enqueueString(HeroAndFriendsNameResponse) apolloClient.query(query).fetchPolicy(FetchPolicy.NetworkOnly).execute() val mutationId = uuid4() @@ -159,7 +164,7 @@ class OptimisticCacheTest { val mutationId1 = uuid4() // execute query1 from the network - mockServer.enqueueString(testFixtureToUtf8("HeroAndFriendsNameWithIdsResponse.json")) + mockServer.enqueueString(HeroAndFriendsNameWithIdsResponse) apolloClient.query(query1).fetchPolicy(FetchPolicy.NetworkOnly).execute() // now write some optimistic updates for query1 @@ -204,7 +209,7 @@ class OptimisticCacheTest { val query2 = HeroNameWithIdQuery() val mutationId2 = uuid4() - mockServer.enqueueString(testFixtureToUtf8("HeroNameWithIdResponse.json")) + mockServer.enqueueString(HeroNameWithIdResponse) apolloClient.query(query2).execute() // write optimistic data2 @@ -268,7 +273,7 @@ class OptimisticCacheTest { @Test fun mutation_and_query_watcher() = runTest(before = { setUp() }, after = { tearDown() }) { - mockServer.enqueueString(testFixtureToUtf8("ReviewsEmpireEpisodeResponse.json")) + mockServer.enqueueString(ReviewsEmpireEpisodeResponse) val channel = Channel() val job = launch { apolloClient.query(ReviewsByEpisodeQuery(Episode.EMPIRE)) @@ -300,7 +305,7 @@ class OptimisticCacheTest { * * To limit the occurence of this happening, we introduce a small delay in the network response here. */ - mockServer.enqueueString(testFixtureToUtf8("UpdateReviewResponse.json"), 100) + mockServer.enqueueString(UpdateReviewResponse, 100) val updateReviewMutation = UpdateReviewMutation( "empireReview2", ReviewInput( @@ -363,10 +368,10 @@ class OptimisticCacheTest { val query2 = HeroNameWithIdQuery() val mutationId2 = uuid4() - mockServer.enqueueString(testFixtureToUtf8("HeroAndFriendsNameWithIdsResponse.json")) + mockServer.enqueueString(HeroAndFriendsNameWithIdsResponse) apolloClient.query(query1).execute() - mockServer.enqueueString(testFixtureToUtf8("HeroNameWithIdResponse.json")) + mockServer.enqueueString(HeroNameWithIdResponse) apolloClient.query(query2).execute() val data1 = HeroAndFriendsNamesWithIDsQuery.Data( diff --git a/tests/normalized-cache/src/commonTest/kotlin/OtherCacheTest.kt b/tests/normalized-cache/src/commonTest/kotlin/OtherCacheTest.kt index bb9ed45d..b37d077f 100644 --- a/tests/normalized-cache/src/commonTest/kotlin/OtherCacheTest.kt +++ b/tests/normalized-cache/src/commonTest/kotlin/OtherCacheTest.kt @@ -15,6 +15,9 @@ import com.apollographql.cache.normalized.testing.keyToString import com.apollographql.cache.normalized.testing.runTest import com.apollographql.mockserver.MockServer import com.apollographql.mockserver.enqueueString +import fixtures.HeroAndFriendsNameResponse +import fixtures.HeroAndFriendsNameWithIdsResponse +import fixtures.HeroNameResponse import normalizer.CharacterDetailsQuery import normalizer.CharacterNameByIdQuery import normalizer.EpisodeHeroNameQuery @@ -50,7 +53,7 @@ class OtherCacheTest { @Test fun masterDetailSuccess() = runTest(before = { setUp() }, after = { tearDown() }) { // Store a query that contains all data - mockServer.enqueueString(testFixtureToUtf8("HeroAndFriendsNameWithIdsResponse.json")) + mockServer.enqueueString(HeroAndFriendsNameWithIdsResponse) apolloClient.query(HeroAndFriendsNamesWithIDsQuery(Episode.NEWHOPE)) .fetchPolicy(FetchPolicy.NetworkOnly) .execute() @@ -68,7 +71,7 @@ class OtherCacheTest { @Throws(Exception::class) fun masterDetailFailIncomplete() = runTest(before = { setUp() }, after = { tearDown() }) { // Store a query that contains all data - mockServer.enqueueString(testFixtureToUtf8("HeroAndFriendsNameWithIdsResponse.json")) + mockServer.enqueueString(HeroAndFriendsNameWithIdsResponse) apolloClient.query(HeroAndFriendsNamesWithIDsQuery(Episode.NEWHOPE)) .fetchPolicy(FetchPolicy.NetworkOnly) .execute() @@ -91,7 +94,7 @@ class OtherCacheTest { @Test @Throws(Exception::class) fun skipIncludeDirective() = runTest(before = { setUp() }, after = { tearDown() }) { - mockServer.enqueueString(testFixtureToUtf8("HeroAndFriendsNameResponse.json")) + mockServer.enqueueString(HeroAndFriendsNameResponse) apolloClient.query(HeroAndFriendsDirectivesQuery(Episode.JEDI, true, false)) .fetchPolicy(FetchPolicy.NetworkOnly) .execute() @@ -134,7 +137,7 @@ class OtherCacheTest { @Test fun skipIncludeDirectiveUnsatisfiedCache() = runTest(before = { setUp() }, after = { tearDown() }) { // Store a response that doesn't contain friends - mockServer.enqueueString(testFixtureToUtf8("HeroNameResponse.json")) + mockServer.enqueueString(HeroNameResponse) apolloClient.query(HeroAndFriendsDirectivesQuery(Episode.JEDI, true, true)) .fetchPolicy(FetchPolicy.NetworkOnly) .execute() diff --git a/tests/normalized-cache/src/commonTest/kotlin/Utils.kt b/tests/normalized-cache/src/commonTest/kotlin/Utils.kt deleted file mode 100644 index b9558258..00000000 --- a/tests/normalized-cache/src/commonTest/kotlin/Utils.kt +++ /dev/null @@ -1,10 +0,0 @@ -package test - -import com.apollographql.cache.normalized.testing.pathToJsonReader -import com.apollographql.cache.normalized.testing.pathToUtf8 - -@Suppress("DEPRECATION") -fun testFixtureToUtf8(name: String) = pathToUtf8("normalized-cache/testFixtures/$name") - -@Suppress("DEPRECATION") -fun testFixtureToJsonReader(name: String) = pathToJsonReader("normalized-cache/testFixtures/$name") diff --git a/tests/normalized-cache/src/commonTest/kotlin/WatcherErrorHandlingTest.kt b/tests/normalized-cache/src/commonTest/kotlin/WatcherErrorHandlingTest.kt index 7658a6fa..ef1b2878 100644 --- a/tests/normalized-cache/src/commonTest/kotlin/WatcherErrorHandlingTest.kt +++ b/tests/normalized-cache/src/commonTest/kotlin/WatcherErrorHandlingTest.kt @@ -17,6 +17,8 @@ import com.apollographql.cache.normalized.watch import com.apollographql.mockserver.MockServer import com.apollographql.mockserver.enqueueError import com.apollographql.mockserver.enqueueString +import fixtures.EpisodeHeroNameResponseNameChange +import fixtures.EpisodeHeroNameResponseWithId import kotlinx.coroutines.channels.Channel import kotlinx.coroutines.flow.catch import kotlinx.coroutines.flow.first @@ -104,7 +106,7 @@ class WatcherErrorHandlingTest { // The first query should get a "R2-D2" name val job = launch { - mockServer.enqueueString(testFixtureToUtf8("EpisodeHeroNameResponseWithId.json")) + mockServer.enqueueString(EpisodeHeroNameResponseWithId) apolloClient.query(query) .fetchPolicy(FetchPolicy.NetworkOnly) .refetchPolicy(FetchPolicy.NetworkOnly) @@ -119,7 +121,7 @@ class WatcherErrorHandlingTest { // Another newer call gets updated information with "Artoo" // Due to .refetchPolicy(FetchPolicy.NetworkOnly), a subsequent call will be executed in watch() // we enqueue an error so a network exception is emitted - mockServer.enqueueString(testFixtureToUtf8("EpisodeHeroNameResponseNameChange.json")) + mockServer.enqueueString(EpisodeHeroNameResponseNameChange) mockServer.enqueueError(statusCode = 500) apolloClient.query(query).fetchPolicy(FetchPolicy.NetworkOnly).execute() @@ -185,7 +187,7 @@ class WatcherErrorHandlingTest { // The first query should get a "R2-D2" name val job = launch { - mockServer.enqueueString(testFixtureToUtf8("EpisodeHeroNameResponseWithId.json")) + mockServer.enqueueString(EpisodeHeroNameResponseWithId) apolloClient.query(query) .fetchPolicy(FetchPolicy.NetworkOnly) .refetchPolicy(FetchPolicy.NetworkOnly) @@ -201,7 +203,7 @@ class WatcherErrorHandlingTest { // Another newer call gets updated information with "Artoo" // Due to .refetchPolicy(FetchPolicy.NetworkOnly), a subsequent call will be executed in watch() // we enqueue an error so a network exception is emitted - mockServer.enqueueString(testFixtureToUtf8("EpisodeHeroNameResponseNameChange.json")) + mockServer.enqueueString(EpisodeHeroNameResponseNameChange) mockServer.enqueueError(statusCode = 500) apolloClient.query(query).fetchPolicy(FetchPolicy.NetworkOnly).execute() diff --git a/tests/models-fixtures/json/AllPlanets.json b/tests/normalized-cache/src/commonTest/kotlin/fixtures/fixtures.kt similarity index 77% rename from tests/models-fixtures/json/AllPlanets.json rename to tests/normalized-cache/src/commonTest/kotlin/fixtures/fixtures.kt index 78c2b1e5..84d96fa5 100644 --- a/tests/models-fixtures/json/AllPlanets.json +++ b/tests/normalized-cache/src/commonTest/kotlin/fixtures/fixtures.kt @@ -1,3 +1,99 @@ +package fixtures + +const val HeroTypeDependentAliasedFieldResponseHuman = """ +{ + "data": { + "hero": { + "__typename": "Human", + "property": "Tatooine" + } + } +} +""" + +const val JsonScalar = """ +{ + "data": { + "json": { + "obj": { + "key": "value" + }, + "list": [ + 0, + 1, + 2 + ] + } + } +} +""" + +const val EpisodeHeroNameResponseNameChange = """ +{ + "data": { + "hero": { + "__typename": "Droid", + "id": "2001", + "name": "Artoo" + } + } +} +""" + +const val HeroParentTypeDependentFieldDroidResponse = """ +{ + "data": { + "hero": { + "__typename": "Droid", + "name": "R2-D2", + "friends": [ + { + "__typename": "Human", + "name": "Luke Skywalker", + "height": 1.72 + }, + { + "__typename": "Human", + "name": "Han Solo", + "height": 1.8 + }, + { + "__typename": "Human", + "name": "Leia Organa", + "height": 1.5 + } + ] + } + } +} +""" + +const val UpdateReviewResponse = """ +{ + "data": { + "updateReview": { + "__typename": "Review", + "id": "empireReview2", + "stars": 4, + "commentary": "Not Bad" + } + } +} +""" + +const val EpisodeHeroNameResponseWithId = """ +{ + "data": { + "hero": { + "__typename": "Droid", + "id": "2001", + "name": "R2-D2" + } + } +} +""" + +const val AllPlanetsNullableField = """ { "data": { "allPlanets": { @@ -1070,4 +1166,376 @@ ] } } -} \ No newline at end of file +}""" + +const val HeroTypeDependentAliasedFieldResponse = """ +{ + "data": { + "hero": { + "__typename": "Droid", + "property": "Astromech" + } + } +} +""" + +const val HeroAppearsInResponse = """ +{ + "data": { + "hero": { + "__typename": "Human", + "appearsIn": [ + "NEWHOPE", + "EMPIRE", + "JEDI" + ] + } + } +} +""" + +const val HeroParentTypeDependentFieldHumanResponse = """ +{ + "data": { + "hero": { + "__typename": "Human", + "name": "Luke Skywalker", + "friends": [ + { + "__typename": "Human", + "name": "Han Solo", + "height": 5.905512 + }, + { + "__typename": "Human", + "name": "Leia Organa", + "height": 4.92126 + }, + { + "__typename": "Droid", + "name": "C-3PO" + }, + { + "__typename": "Droid", + "name": "R2-D2" + } + ] + } + } +} +""" + +const val HeroAndFriendsConnectionResponse = """ +{ + "data": { + "hero": { + "__typename": "Droid", + "name": "R2-D2", + "birthDate": "1977-05-25", + "friendsConnection": { + "__typename": "FriendsConnection", + "totalCount": 3, + "edges": [ + { + "__typename": "FriendsEdge", + "node": { + "__typename": "Human", + "id": "1000" + } + }, + { + "__typename": "FriendsEdge", + "node": { + "__typename": "Human", + "id": "1002" + } + }, + { + "__typename": "FriendsEdge", + "node": { + "__typename": "Human", + "id": "1003" + } + } + ] + } + } + } +} +""" + +const val JsonScalarModified = """ +{ + "data": { + "json": { + "obj": { + "key2": "value2" + } + } + } +} +""" + +const val HeroNameWithIdResponse = """ +{ + "data": { + "hero": { + "__typename": "Human", + "id": "1000", + "name": "SuperMan" + } + } +} +""" + +const val EpisodeHeroNameResponse = """ +{ + "data": { + "hero": { + "__typename": "Droid", + "name": "R2-D2" + } + } +} +""" + +const val ReviewsEmpireEpisodeResponse = """ +{ + "data": { + "reviews": [ + { + "__typename": "Review", + "id": "empireReview1", + "stars": 1, + "commentary": "Boring" + }, + { + "__typename": "Review", + "id": "empireReview2", + "stars": 2, + "commentary": "So-so" + }, + { + "__typename": "Review", + "id": "empireReview3", + "stars": 5, + "commentary": "Amazing" + } + ] + } +} +""" + +const val AllPlanetsListOfObjectWithNullObject = """ +{ + "data": { + "allPlanets": { + "__typename": "PlanetsConnection", + "planets": [ + { + "__typename": "Planet", + "name": "Tatooine", + "climates": [ + "arid" + ], + "surfaceWater": 1, + "filmConnection": null + }, + { + "__typename": "Planet", + "name": "Alderaan", + "climates": [ + "temperate" + ], + "surfaceWater": 40, + "filmConnection": { + "__typename": "PlanetFilmsConnection", + "totalCount": 2, + "films": [ + { + "__typename": "Film", + "title": "A New Hope", + "producers": [ + "Gary Kurtz", + "Rick McCallum" + ] + }, + { + "__typename": "Film", + "title": "Revenge of the Sith", + "producers": [ + "Rick McCallum" + ] + } + ] + } + } + ] + } + } +}""" + +const val HeroAndFriendsNameResponse = """ +{ + "data": { + "hero": { + "__typename": "Droid", + "name": "R2-D2", + "friends": [ + { + "__typename": "Human", + "name": "Luke Skywalker" + }, + { + "__typename": "Human", + "name": "Han Solo" + }, + { + "__typename": "Human", + "name": "Leia Organa" + } + ] + } + } +} +""" + +const val HeroNameResponse = """ +{ + "data": { + "hero": { + "__typename": "Droid", + "name": "R2-D2" + } + }, + "extensions": { + "cost": { + "requestedQueryCost": 3, + "actualQueryCost": 3, + "throttleStatus": { + "maximumAvailable": 1000, + "currentlyAvailable": 997, + "restoreRate": 50 + } + } + } +} +""" + +const val HeroAndFriendsNameWithIdsResponse = """ +{ + "data": { + "hero": { + "__typename": "Droid", + "id": "2001", + "name": "R2-D2", + "friends": [ + { + "__typename": "Human", + "id": "1000", + "name": "Luke Skywalker" + }, + { + "__typename": "Human", + "id": "1002", + "name": "Han Solo" + }, + { + "__typename": "Human", + "id": "1003", + "name": "Leia Organa" + } + ] + } + } +} +""" + +const val StarshipByIdResponse = """ +{ + "data": { + "starship": { + "__typename": "Starship", + "id": "Starship1", + "name": "SuperRocket", + "coordinates": [ + [ + 100, + 200 + ], + [ + 300, + 400 + ], + [ + 500, + 600 + ] + ] + } + } +} +""" + +const val HeroAppearsInResponseWithNulls = """ +{ + "data": { + "hero": { + "__typename": "Human", + "appearsIn": [ + null, + "NEWHOPE", + "EMPIRE", + null, + "JEDI", + null + ] + } + } +} +""" + +const val SameHeroTwiceResponse = """ +{ + "data": { + "hero": { + "__typename": "Droid", + "name": "R2-D2" + }, + "r2": { + "__typename": "Droid", + "appearsIn": [ + "NEWHOPE", + "EMPIRE", + "JEDI" + ] + } + } +} +""" + +const val HeroAndFriendsNameWithIdsParentOnlyResponse = """ +{ + "data": { + "hero": { + "__typename": "Droid", + "id": "2001", + "name": "R2-D2", + "friends": [ + { + "__typename": "Human", + "name": "Luke Skywalker" + }, + { + "__typename": "Human", + "name": "Han Solo" + }, + { + "__typename": "Human", + "name": "Leia Organa" + } + ] + } + } +} +""" diff --git a/tests/normalized-cache/src/jvmTest/kotlin/WriteToCacheAsynchronouslyTest.kt b/tests/normalized-cache/src/jvmTest/kotlin/WriteToCacheAsynchronouslyTest.kt index 250a8330..9a5f3520 100644 --- a/tests/normalized-cache/src/jvmTest/kotlin/WriteToCacheAsynchronouslyTest.kt +++ b/tests/normalized-cache/src/jvmTest/kotlin/WriteToCacheAsynchronouslyTest.kt @@ -10,6 +10,7 @@ import com.apollographql.cache.normalized.testing.runTest import com.apollographql.cache.normalized.writeToCacheAsynchronously import com.apollographql.mockserver.MockServer import com.apollographql.mockserver.enqueueString +import fixtures.HeroAndFriendsNameResponse import kotlinx.coroutines.asCoroutineDispatcher import kotlinx.coroutines.withContext import normalizer.HeroAndFriendsNamesQuery @@ -52,7 +53,7 @@ class WriteToCacheAsynchronouslyTest { withContext(dispatcher) { val query = HeroAndFriendsNamesQuery(Episode.JEDI) - mockServer.enqueueString(testFixtureToUtf8("HeroAndFriendsNameResponse.json")) + mockServer.enqueueString(HeroAndFriendsNameResponse) apolloClient.query(query) .writeToCacheAsynchronously(true) .execute() @@ -71,7 +72,7 @@ class WriteToCacheAsynchronouslyTest { withContext(dispatcher) { val query = HeroAndFriendsNamesQuery(Episode.JEDI) - mockServer.enqueueString(testFixtureToUtf8("HeroAndFriendsNameResponse.json")) + mockServer.enqueueString(HeroAndFriendsNameResponse) apolloClient.query(query) .writeToCacheAsynchronously(false) .execute() diff --git a/tests/normalized-cache/testFixtures/AllPlanetsListOfObjectWithNullObject.json b/tests/normalized-cache/testFixtures/AllPlanetsListOfObjectWithNullObject.json deleted file mode 100644 index 02241807..00000000 --- a/tests/normalized-cache/testFixtures/AllPlanetsListOfObjectWithNullObject.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "data": { - "allPlanets": { - "__typename": "PlanetsConnection", - "planets": [ - { - "__typename": "Planet", - "name": "Tatooine", - "climates": [ - "arid" - ], - "surfaceWater": 1, - "filmConnection": null - }, - { - "__typename": "Planet", - "name": "Alderaan", - "climates": [ - "temperate" - ], - "surfaceWater": 40, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 2, - "films": [ - { - "__typename": "Film", - "title": "A New Hope", - "producers": [ - "Gary Kurtz", - "Rick McCallum" - ] - }, - { - "__typename": "Film", - "title": "Revenge of the Sith", - "producers": [ - "Rick McCallum" - ] - } - ] - } - } - ] - } - } -} \ No newline at end of file diff --git a/tests/normalized-cache/testFixtures/AllPlanetsNullableField.json b/tests/normalized-cache/testFixtures/AllPlanetsNullableField.json deleted file mode 100644 index 78c2b1e5..00000000 --- a/tests/normalized-cache/testFixtures/AllPlanetsNullableField.json +++ /dev/null @@ -1,1073 +0,0 @@ -{ - "data": { - "allPlanets": { - "__typename": "PlanetsConnection", - "planets": [ - { - "__typename": "Planet", - "name": "Tatooine", - "climates": [ - "arid" - ], - "surfaceWater": 1, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 5, - "films": [ - { - "__typename": "Film", - "title": "A New Hope", - "producers": [ - "Gary Kurtz", - "Rick McCallum" - ] - }, - { - "__typename": "Film", - "title": "Return of the Jedi", - "producers": [ - "Howard G. Kazanjian", - "George Lucas", - "Rick McCallum" - ] - }, - { - "__typename": "Film", - "title": "The Phantom Menace", - "producers": [ - "Rick McCallum" - ] - }, - { - "__typename": "Film", - "title": "Attack of the Clones", - "producers": [ - "Rick McCallum" - ] - }, - { - "__typename": "Film", - "title": "Revenge of the Sith", - "producers": [ - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Alderaan", - "climates": [ - "temperate" - ], - "surfaceWater": 40, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 2, - "films": [ - { - "__typename": "Film", - "title": "A New Hope", - "producers": [ - "Gary Kurtz", - "Rick McCallum" - ] - }, - { - "__typename": "Film", - "title": "Revenge of the Sith", - "producers": [ - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Yavin IV", - "climates": [ - "temperate", - "tropical" - ], - "surfaceWater": 8, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 1, - "films": [ - { - "__typename": "Film", - "title": "A New Hope", - "producers": [ - "Gary Kurtz", - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Hoth", - "climates": [ - "frozen" - ], - "surfaceWater": 100, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 1, - "films": [ - { - "__typename": "Film", - "title": "The Empire Strikes Back", - "producers": [ - "Gary Kutz", - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Dagobah", - "climates": [ - "murky" - ], - "surfaceWater": 8, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 3, - "films": [ - { - "__typename": "Film", - "title": "The Empire Strikes Back", - "producers": [ - "Gary Kutz", - "Rick McCallum" - ] - }, - { - "__typename": "Film", - "title": "Return of the Jedi", - "producers": [ - "Howard G. Kazanjian", - "George Lucas", - "Rick McCallum" - ] - }, - { - "__typename": "Film", - "title": "Revenge of the Sith", - "producers": [ - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Bespin", - "climates": [ - "temperate" - ], - "surfaceWater": 0, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 1, - "films": [ - { - "__typename": "Film", - "title": "The Empire Strikes Back", - "producers": [ - "Gary Kutz", - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Endor", - "climates": [ - "temperate" - ], - "surfaceWater": 8, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 1, - "films": [ - { - "__typename": "Film", - "title": "Return of the Jedi", - "producers": [ - "Howard G. Kazanjian", - "George Lucas", - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Naboo", - "climates": [ - "temperate" - ], - "surfaceWater": 12, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 4, - "films": [ - { - "__typename": "Film", - "title": "Return of the Jedi", - "producers": [ - "Howard G. Kazanjian", - "George Lucas", - "Rick McCallum" - ] - }, - { - "__typename": "Film", - "title": "The Phantom Menace", - "producers": [ - "Rick McCallum" - ] - }, - { - "__typename": "Film", - "title": "Attack of the Clones", - "producers": [ - "Rick McCallum" - ] - }, - { - "__typename": "Film", - "title": "Revenge of the Sith", - "producers": [ - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Coruscant", - "climates": [ - "temperate" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 4, - "films": [ - { - "__typename": "Film", - "title": "Return of the Jedi", - "producers": [ - "Howard G. Kazanjian", - "George Lucas", - "Rick McCallum" - ] - }, - { - "__typename": "Film", - "title": "The Phantom Menace", - "producers": [ - "Rick McCallum" - ] - }, - { - "__typename": "Film", - "title": "Attack of the Clones", - "producers": [ - "Rick McCallum" - ] - }, - { - "__typename": "Film", - "title": "Revenge of the Sith", - "producers": [ - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Kamino", - "climates": [ - "temperate" - ], - "surfaceWater": 100, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 1, - "films": [ - { - "__typename": "Film", - "title": "Attack of the Clones", - "producers": [ - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Geonosis", - "climates": [ - "temperate", - "arid" - ], - "surfaceWater": 5, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 1, - "films": [ - { - "__typename": "Film", - "title": "Attack of the Clones", - "producers": [ - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Utapau", - "climates": [ - "temperate", - "arid", - "windy" - ], - "surfaceWater": 0.9, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 1, - "films": [ - { - "__typename": "Film", - "title": "Revenge of the Sith", - "producers": [ - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Mustafar", - "climates": [ - "hot" - ], - "surfaceWater": 0, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 1, - "films": [ - { - "__typename": "Film", - "title": "Revenge of the Sith", - "producers": [ - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Kashyyyk", - "climates": [ - "tropical" - ], - "surfaceWater": 60, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 1, - "films": [ - { - "__typename": "Film", - "title": "Revenge of the Sith", - "producers": [ - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Polis Massa", - "climates": [ - "artificial temperate" - ], - "surfaceWater": 0, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 1, - "films": [ - { - "__typename": "Film", - "title": "Revenge of the Sith", - "producers": [ - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Mygeeto", - "climates": [ - "frigid" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 1, - "films": [ - { - "__typename": "Film", - "title": "Revenge of the Sith", - "producers": [ - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Felucia", - "climates": [ - "hot", - "humid" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 1, - "films": [ - { - "__typename": "Film", - "title": "Revenge of the Sith", - "producers": [ - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Cato Neimoidia", - "climates": [ - "temperate", - "moist" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 1, - "films": [ - { - "__typename": "Film", - "title": "Revenge of the Sith", - "producers": [ - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Saleucami", - "climates": [ - "hot" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 1, - "films": [ - { - "__typename": "Film", - "title": "Revenge of the Sith", - "producers": [ - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "Stewjon", - "climates": [ - "temperate" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Eriadu", - "climates": [ - "polluted" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Corellia", - "climates": [ - "temperate" - ], - "surfaceWater": 70, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Rodia", - "climates": [ - "hot" - ], - "surfaceWater": 60, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Nal Hutta", - "climates": [ - "temperate" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Dantooine", - "climates": [ - "temperate" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Bestine IV", - "climates": [ - "temperate" - ], - "surfaceWater": 98, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Ord Mantell", - "climates": [ - "temperate" - ], - "surfaceWater": 10, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 1, - "films": [ - { - "__typename": "Film", - "title": "The Empire Strikes Back", - "producers": [ - "Gary Kutz", - "Rick McCallum" - ] - } - ] - } - }, - { - "__typename": "Planet", - "name": "unknown", - "climates": [ - "unknown" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Trandosha", - "climates": [ - "arid" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Socorro", - "climates": [ - "arid" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Mon Cala", - "climates": [ - "temperate" - ], - "surfaceWater": 100, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Chandrila", - "climates": [ - "temperate" - ], - "surfaceWater": 40, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Sullust", - "climates": [ - "superheated" - ], - "surfaceWater": 5, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Toydaria", - "climates": [ - "temperate" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Malastare", - "climates": [ - "arid", - "temperate", - "tropical" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Dathomir", - "climates": [ - "temperate" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Ryloth", - "climates": [ - "temperate", - "arid", - "subartic" - ], - "surfaceWater": 5, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Aleen Minor", - "climates": [ - "unknown" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Vulpter", - "climates": [ - "temperate", - "artic" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Troiken", - "climates": [ - "unknown" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Tund", - "climates": [ - "unknown" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Haruun Kal", - "climates": [ - "temperate" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Cerea", - "climates": [ - "temperate" - ], - "surfaceWater": 20, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Glee Anselm", - "climates": [ - "tropical", - "temperate" - ], - "surfaceWater": 80, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Iridonia", - "climates": [ - "unknown" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Tholoth", - "climates": [ - "unknown" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Iktotch", - "climates": [ - "arid", - "rocky", - "windy" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Quermia", - "climates": [ - "unknown" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Dorin", - "climates": [ - "temperate" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Champala", - "climates": [ - "temperate" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Mirial", - "climates": [ - "unknown" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Serenno", - "climates": [ - "unknown" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Concord Dawn", - "climates": [ - "unknown" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Zolan", - "climates": [ - "unknown" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Ojom", - "climates": [ - "frigid" - ], - "surfaceWater": 100, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Skako", - "climates": [ - "temperate" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Muunilinst", - "climates": [ - "temperate" - ], - "surfaceWater": 25, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Shili", - "climates": [ - "temperate" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Kalee", - "climates": [ - "arid", - "temperate", - "tropical" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - }, - { - "__typename": "Planet", - "name": "Umbara", - "climates": [ - "unknown" - ], - "surfaceWater": null, - "filmConnection": { - "__typename": "PlanetFilmsConnection", - "totalCount": 0, - "films": [] - } - } - ] - } - } -} \ No newline at end of file diff --git a/tests/normalized-cache/testFixtures/EpisodeHeroNameResponse.json b/tests/normalized-cache/testFixtures/EpisodeHeroNameResponse.json deleted file mode 100644 index fbdf24a6..00000000 --- a/tests/normalized-cache/testFixtures/EpisodeHeroNameResponse.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "data": { - "hero": { - "__typename": "Droid", - "name": "R2-D2" - } - } -} diff --git a/tests/normalized-cache/testFixtures/EpisodeHeroNameResponseNameChange.json b/tests/normalized-cache/testFixtures/EpisodeHeroNameResponseNameChange.json deleted file mode 100644 index c479f59d..00000000 --- a/tests/normalized-cache/testFixtures/EpisodeHeroNameResponseNameChange.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "data": { - "hero": { - "__typename": "Droid", - "id": "2001", - "name": "Artoo" - } - } -} diff --git a/tests/normalized-cache/testFixtures/EpisodeHeroNameResponseWithId.json b/tests/normalized-cache/testFixtures/EpisodeHeroNameResponseWithId.json deleted file mode 100644 index e69a0111..00000000 --- a/tests/normalized-cache/testFixtures/EpisodeHeroNameResponseWithId.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "data": { - "hero": { - "__typename": "Droid", - "id": "2001", - "name": "R2-D2" - } - } -} diff --git a/tests/normalized-cache/testFixtures/HeroAndFriendsConnectionResponse.json b/tests/normalized-cache/testFixtures/HeroAndFriendsConnectionResponse.json deleted file mode 100644 index 9c5c62a7..00000000 --- a/tests/normalized-cache/testFixtures/HeroAndFriendsConnectionResponse.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "data": { - "hero": { - "__typename": "Droid", - "name": "R2-D2", - "birthDate": "1977-05-25", - "friendsConnection": { - "__typename": "FriendsConnection", - "totalCount": 3, - "edges": [ - { - "__typename": "FriendsEdge", - "node": { - "__typename": "Human", - "id": "1000" - } - }, - { - "__typename": "FriendsEdge", - "node": { - "__typename": "Human", - "id": "1002" - } - }, - { - "__typename": "FriendsEdge", - "node": { - "__typename": "Human", - "id": "1003" - } - } - ] - } - } - } -} diff --git a/tests/normalized-cache/testFixtures/HeroAndFriendsNameResponse.json b/tests/normalized-cache/testFixtures/HeroAndFriendsNameResponse.json deleted file mode 100644 index a7822134..00000000 --- a/tests/normalized-cache/testFixtures/HeroAndFriendsNameResponse.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "data": { - "hero": { - "__typename": "Droid", - "name": "R2-D2", - "friends": [ - { - "__typename": "Human", - "name": "Luke Skywalker" - }, - { - "__typename": "Human", - "name": "Han Solo" - }, - { - "__typename": "Human", - "name": "Leia Organa" - } - ] - } - } -} diff --git a/tests/normalized-cache/testFixtures/HeroAndFriendsNameWithIdsParentOnlyResponse.json b/tests/normalized-cache/testFixtures/HeroAndFriendsNameWithIdsParentOnlyResponse.json deleted file mode 100644 index 7e510e96..00000000 --- a/tests/normalized-cache/testFixtures/HeroAndFriendsNameWithIdsParentOnlyResponse.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "data": { - "hero": { - "__typename": "Droid", - "id": "2001", - "name": "R2-D2", - "friends": [ - { - "__typename": "Human", - "name": "Luke Skywalker" - }, - { - "__typename": "Human", - "name": "Han Solo" - }, - { - "__typename": "Human", - "name": "Leia Organa" - } - ] - } - } -} diff --git a/tests/normalized-cache/testFixtures/HeroAndFriendsNameWithIdsResponse.json b/tests/normalized-cache/testFixtures/HeroAndFriendsNameWithIdsResponse.json deleted file mode 100644 index 9fa71b22..00000000 --- a/tests/normalized-cache/testFixtures/HeroAndFriendsNameWithIdsResponse.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "data": { - "hero": { - "__typename": "Droid", - "id": "2001", - "name": "R2-D2", - "friends": [ - { - "__typename": "Human", - "id": "1000", - "name": "Luke Skywalker" - }, - { - "__typename": "Human", - "id": "1002", - "name": "Han Solo" - }, - { - "__typename": "Human", - "id": "1003", - "name": "Leia Organa" - } - ] - } - } -} diff --git a/tests/normalized-cache/testFixtures/HeroAppearsInResponse.json b/tests/normalized-cache/testFixtures/HeroAppearsInResponse.json deleted file mode 100644 index ba257ab3..00000000 --- a/tests/normalized-cache/testFixtures/HeroAppearsInResponse.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "data": { - "hero": { - "__typename": "Human", - "appearsIn": [ - "NEWHOPE", - "EMPIRE", - "JEDI" - ] - } - } -} diff --git a/tests/normalized-cache/testFixtures/HeroAppearsInResponseWithNulls.json b/tests/normalized-cache/testFixtures/HeroAppearsInResponseWithNulls.json deleted file mode 100644 index 5934160b..00000000 --- a/tests/normalized-cache/testFixtures/HeroAppearsInResponseWithNulls.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "data": { - "hero": { - "__typename": "Human", - "appearsIn": [ - null, - "NEWHOPE", - "EMPIRE", - null, - "JEDI", - null - ] - } - } -} diff --git a/tests/normalized-cache/testFixtures/HeroNameResponse.json b/tests/normalized-cache/testFixtures/HeroNameResponse.json deleted file mode 100644 index 220b90e7..00000000 --- a/tests/normalized-cache/testFixtures/HeroNameResponse.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "data": { - "hero": { - "__typename": "Droid", - "name": "R2-D2" - } - }, - "extensions": { - "cost": { - "requestedQueryCost": 3, - "actualQueryCost": 3, - "throttleStatus": { - "maximumAvailable": 1000, - "currentlyAvailable": 997, - "restoreRate": 50 - } - } - } -} diff --git a/tests/normalized-cache/testFixtures/HeroNameWithIdResponse.json b/tests/normalized-cache/testFixtures/HeroNameWithIdResponse.json deleted file mode 100644 index 2c115c71..00000000 --- a/tests/normalized-cache/testFixtures/HeroNameWithIdResponse.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "data": { - "hero": { - "__typename": "Human", - "id": "1000", - "name": "SuperMan" - } - } -} diff --git a/tests/normalized-cache/testFixtures/HeroParentTypeDependentFieldDroidResponse.json b/tests/normalized-cache/testFixtures/HeroParentTypeDependentFieldDroidResponse.json deleted file mode 100644 index ba414a2f..00000000 --- a/tests/normalized-cache/testFixtures/HeroParentTypeDependentFieldDroidResponse.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "data": { - "hero": { - "__typename": "Droid", - "name": "R2-D2", - "friends": [ - { - "__typename": "Human", - "name": "Luke Skywalker", - "height": 1.72 - }, - { - "__typename": "Human", - "name": "Han Solo", - "height": 1.8 - }, - { - "__typename": "Human", - "name": "Leia Organa", - "height": 1.5 - } - ] - } - } -} diff --git a/tests/normalized-cache/testFixtures/HeroParentTypeDependentFieldHumanResponse.json b/tests/normalized-cache/testFixtures/HeroParentTypeDependentFieldHumanResponse.json deleted file mode 100644 index 2e224e19..00000000 --- a/tests/normalized-cache/testFixtures/HeroParentTypeDependentFieldHumanResponse.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "data": { - "hero": { - "__typename": "Human", - "name": "Luke Skywalker", - "friends": [ - { - "__typename": "Human", - "name": "Han Solo", - "height": 5.905512 - }, - { - "__typename": "Human", - "name": "Leia Organa", - "height": 4.92126 - }, - { - "__typename": "Droid", - "name": "C-3PO" - }, - { - "__typename": "Droid", - "name": "R2-D2" - } - ] - } - } -} diff --git a/tests/normalized-cache/testFixtures/HeroTypeDependentAliasedFieldResponse.json b/tests/normalized-cache/testFixtures/HeroTypeDependentAliasedFieldResponse.json deleted file mode 100644 index c4abfde0..00000000 --- a/tests/normalized-cache/testFixtures/HeroTypeDependentAliasedFieldResponse.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "data": { - "hero": { - "__typename": "Droid", - "property": "Astromech" - } - } -} diff --git a/tests/normalized-cache/testFixtures/HeroTypeDependentAliasedFieldResponseHuman.json b/tests/normalized-cache/testFixtures/HeroTypeDependentAliasedFieldResponseHuman.json deleted file mode 100644 index 2690b25e..00000000 --- a/tests/normalized-cache/testFixtures/HeroTypeDependentAliasedFieldResponseHuman.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "data": { - "hero": { - "__typename": "Human", - "property": "Tatooine" - } - } -} diff --git a/tests/normalized-cache/testFixtures/JsonScalar.json b/tests/normalized-cache/testFixtures/JsonScalar.json deleted file mode 100644 index 58db69bb..00000000 --- a/tests/normalized-cache/testFixtures/JsonScalar.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "data": { - "json": { - "obj": { - "key": "value" - }, - "list": [ - 0, - 1, - 2 - ] - } - } -} diff --git a/tests/normalized-cache/testFixtures/JsonScalarModified.json b/tests/normalized-cache/testFixtures/JsonScalarModified.json deleted file mode 100644 index 50a42d7d..00000000 --- a/tests/normalized-cache/testFixtures/JsonScalarModified.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "data": { - "json": { - "obj": { - "key2": "value2" - } - } - } -} diff --git a/tests/normalized-cache/testFixtures/ReviewsEmpireEpisodeResponse.json b/tests/normalized-cache/testFixtures/ReviewsEmpireEpisodeResponse.json deleted file mode 100644 index bb6c1a37..00000000 --- a/tests/normalized-cache/testFixtures/ReviewsEmpireEpisodeResponse.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "data": { - "reviews": [ - { - "__typename": "Review", - "id": "empireReview1", - "stars": 1, - "commentary": "Boring" - }, - { - "__typename": "Review", - "id": "empireReview2", - "stars": 2, - "commentary": "So-so" - }, - { - "__typename": "Review", - "id": "empireReview3", - "stars": 5, - "commentary": "Amazing" - } - ] - } -} diff --git a/tests/normalized-cache/testFixtures/SameHeroTwiceResponse.json b/tests/normalized-cache/testFixtures/SameHeroTwiceResponse.json deleted file mode 100644 index a20119a2..00000000 --- a/tests/normalized-cache/testFixtures/SameHeroTwiceResponse.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "data": { - "hero": { - "__typename": "Droid", - "name": "R2-D2" - }, - "r2": { - "__typename": "Droid", - "appearsIn": [ - "NEWHOPE", - "EMPIRE", - "JEDI" - ] - } - } -} diff --git a/tests/normalized-cache/testFixtures/StarshipByIdResponse.json b/tests/normalized-cache/testFixtures/StarshipByIdResponse.json deleted file mode 100644 index a2e98fd6..00000000 --- a/tests/normalized-cache/testFixtures/StarshipByIdResponse.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "data": { - "starship": { - "__typename": "Starship", - "id": "Starship1", - "name": "SuperRocket", - "coordinates": [ - [ - 100, - 200 - ], - [ - 300, - 400 - ], - [ - 500, - 600 - ] - ] - } - } -} diff --git a/tests/normalized-cache/testFixtures/UpdateReviewResponse.json b/tests/normalized-cache/testFixtures/UpdateReviewResponse.json deleted file mode 100644 index b4525a43..00000000 --- a/tests/normalized-cache/testFixtures/UpdateReviewResponse.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "data": { - "updateReview": { - "__typename": "Review", - "id": "empireReview2", - "stars": 4, - "commentary": "Not Bad" - } - } -} diff --git a/tests/number-scalar/build.gradle.kts b/tests/number-scalar/build.gradle.kts index 0d47ff0e..11e7c2fc 100644 --- a/tests/number-scalar/build.gradle.kts +++ b/tests/number-scalar/build.gradle.kts @@ -5,8 +5,8 @@ plugins { kotlin { configureKmp( - withJs = true, - withWasm = false, + withJs = setOf(JsAndWasmEnvironment.Node, JsAndWasmEnvironment.Browser), + withWasm = setOf(JsAndWasmEnvironment.Node, JsAndWasmEnvironment.Browser), withAndroid = false, withApple = AppleTargets.Host, ) diff --git a/tests/number-scalar/webpack.config.d/config.js b/tests/number-scalar/webpack.config.d/config.js new file mode 100644 index 00000000..b72c8f58 --- /dev/null +++ b/tests/number-scalar/webpack.config.d/config.js @@ -0,0 +1,9 @@ +// Silence warning about references to NodeJS symbols that don't exist in the browser. +// See https://kotlinlang.org/docs/js-project-setup.html#webpack-configuration-file +config.resolve = { + fallback: { + os: false, + path: false, + fs: false + } +}; diff --git a/tests/optimistic-data/build.gradle.kts b/tests/optimistic-data/build.gradle.kts index 087d8beb..84e3a94f 100644 --- a/tests/optimistic-data/build.gradle.kts +++ b/tests/optimistic-data/build.gradle.kts @@ -5,8 +5,8 @@ plugins { kotlin { configureKmp( - withJs = true, - withWasm = false, + withJs = setOf(JsAndWasmEnvironment.Node), + withWasm = emptySet(), withAndroid = false, withApple = AppleTargets.Host, ) diff --git a/tests/pagination/build.gradle.kts b/tests/pagination/build.gradle.kts index 5967234d..48b93edd 100644 --- a/tests/pagination/build.gradle.kts +++ b/tests/pagination/build.gradle.kts @@ -7,8 +7,8 @@ plugins { kotlin { configureKmp( - withJs = false, - withWasm = false, + withJs = emptySet(), + withWasm = emptySet(), withAndroid = false, withApple = AppleTargets.Host, ) diff --git a/tests/partial-results/build.gradle.kts b/tests/partial-results/build.gradle.kts index 6756ab85..b7af741c 100644 --- a/tests/partial-results/build.gradle.kts +++ b/tests/partial-results/build.gradle.kts @@ -7,8 +7,8 @@ plugins { kotlin { configureKmp( - withJs = false, - withWasm = false, + withJs = setOf(JsAndWasmEnvironment.Node), + withWasm = emptySet(), withAndroid = false, withApple = AppleTargets.Host, ) diff --git a/tests/schema-changes/build.gradle.kts b/tests/schema-changes/build.gradle.kts index 06479c0c..31ddc88c 100644 --- a/tests/schema-changes/build.gradle.kts +++ b/tests/schema-changes/build.gradle.kts @@ -5,8 +5,8 @@ plugins { kotlin { configureKmp( - withJs = true, - withWasm = false, + withJs = setOf(JsAndWasmEnvironment.Node), + withWasm = emptySet(), withAndroid = false, withApple = AppleTargets.Host, ) diff --git a/tests/store-errors/build.gradle.kts b/tests/store-errors/build.gradle.kts index 09fd44ff..c86a8665 100644 --- a/tests/store-errors/build.gradle.kts +++ b/tests/store-errors/build.gradle.kts @@ -7,8 +7,8 @@ plugins { kotlin { configureKmp( - withJs = false, - withWasm = false, + withJs = emptySet(), + withWasm = emptySet(), withAndroid = false, withApple = AppleTargets.Host, ) From 62b054522bb51bc7a6b7f0bf2e6f320cd920da21 Mon Sep 17 00:00:00 2001 From: BoD Date: Mon, 2 Jun 2025 10:03:57 +0200 Subject: [PATCH 3/3] Fix yarn.lock --- tests/kotlin-js-store/yarn.lock | 5 ----- 1 file changed, 5 deletions(-) diff --git a/tests/kotlin-js-store/yarn.lock b/tests/kotlin-js-store/yarn.lock index 1ee8ee90..c71ad9e5 100644 --- a/tests/kotlin-js-store/yarn.lock +++ b/tests/kotlin-js-store/yarn.lock @@ -52,11 +52,6 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" -"@js-joda/core@3.2.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@js-joda/core/-/core-3.2.0.tgz#3e61e21b7b2b8a6be746df1335cf91d70db2a273" - integrity sha512-PMqgJ0sw5B7FKb2d5bWYIoxjri+QlW/Pys7+Rw82jSH0QN3rB05jZ/VrrsUdh1w4+i2kw9JOejXGq/KhDOX7Kg== - "@socket.io/component-emitter@~3.1.0": version "3.1.2" resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz#821f8442f4175d8f0467b9daf26e3a18e2d02af2"