From e1f5d2a1ff7072ba06b2fb4639219cce079489b4 Mon Sep 17 00:00:00 2001 From: Romain BOISSELLE Date: Mon, 29 Apr 2024 14:34:49 +0200 Subject: [PATCH] Kotlin 2.0 --- .github/workflows/snapshot.yml | 12 +- .gitignore | 3 + .../build.gradle.kts | 1 + .../build.gradle.kts | 15 +- gradle.properties | 4 + gradle/libs.versions.toml | 17 +- gradle/wrapper/gradle-wrapper.properties | 2 +- kodein-di/build.gradle.kts | 12 +- .../commonMain/kotlin/org/kodein/di/Copy.kt | 6 +- .../kotlin/org/kodein/di/DIAware.kt | 6 +- .../kotlin/org/kodein/di/DIContainer.kt | 6 +- .../kotlin/org/kodein/di/DirectDI.kt | 4 +- .../kotlin/org/kodein/di/Retrieving.kt | 1 - .../kotlin/org/kodein/di/SetBindings.kt | 2 - .../kotlin/org/kodein/di/bindFactory.kt | 2 +- .../org/kodein/di/bindings/BindingDI.kt | 4 +- .../kodein/di/bindings/standardBindings.kt | 3 +- .../org/kodein/di/internal/DIContainerImpl.kt | 14 +- .../kotlin/org/kodein/di/internal/DIImpl.kt | 2 +- .../kotlin/org/kodein/di/internal/DIMOdule.kt | 6 - .../org/kodein/di/internal/DITreeImpl.kt | 2 - .../org/kodein/di/internal/DirectDIImpl.kt | 7 +- .../org/kodein/di/internal/DirectDIJSImpl.kt | 10 +- .../kotlin/org/kodein/di/DirectDIJVM.kt | 3 +- .../org/kodein/di/internal/DirectDIJVMImpl.kt | 15 +- .../kodein/di/internal/DirectDIImplNative.kt | 10 +- kotlin-js-store/yarn.lock | 430 +++++++++--------- settings.gradle.kts | 6 +- test-utils/build.gradle.kts | 5 - 29 files changed, 312 insertions(+), 298 deletions(-) delete mode 100644 kodein-di/src/commonMain/kotlin/org/kodein/di/internal/DIMOdule.kt diff --git a/.github/workflows/snapshot.yml b/.github/workflows/snapshot.yml index 6d08abe76..086ef115e 100644 --- a/.github/workflows/snapshot.yml +++ b/.github/workflows/snapshot.yml @@ -14,7 +14,15 @@ on: - '!./github/workflow/snapshot.yml' jobs: - build-upload: + unit-tests: + uses: kosi-libs/kodein-internal-github-actions/.github/workflows/unit-tests.yml@main + instrumentation-tests: + uses: kosi-libs/kodein-internal-github-actions/.github/workflows/check-with-android.yml@main + + upload-snapshot: + needs: + - unit-tests + - instrumentation-tests runs-on: macOS-latest env: SONATYPE_USERNAME: ${{ secrets.sonatype_username }} @@ -22,8 +30,6 @@ jobs: steps: - name: Setup uses: kosi-libs/kodein-internal-github-actions/setup@main - - name: Check with Android - uses: kosi-libs/kodein-internal-github-actions/checkWithAndroid@main - name: Upload run: ./gradlew publishAllPublicationsToOssrhStagingRepository -PgitRef=${{ github.ref }} -Psnapshot=true shell: bash diff --git a/.gitignore b/.gitignore index 87bc3fa54..c12dc4b29 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,6 @@ package-lock.json *.a *.o *.so + +# Kotlin +.kotlin diff --git a/framework/compose/kodein-di-framework-android-x-compose/build.gradle.kts b/framework/compose/kodein-di-framework-android-x-compose/build.gradle.kts index 75078fcb4..be7e9c1a2 100644 --- a/framework/compose/kodein-di-framework-android-x-compose/build.gradle.kts +++ b/framework/compose/kodein-di-framework-android-x-compose/build.gradle.kts @@ -1,5 +1,6 @@ plugins { kodein.library.android + alias(libs.plugins.compose.compiler) alias(libs.plugins.compose) } diff --git a/framework/compose/kodein-di-framework-compose/build.gradle.kts b/framework/compose/kodein-di-framework-compose/build.gradle.kts index 31cd98f37..4862469a5 100644 --- a/framework/compose/kodein-di-framework-compose/build.gradle.kts +++ b/framework/compose/kodein-di-framework-compose/build.gradle.kts @@ -1,12 +1,15 @@ +import com.android.build.gradle.internal.lint.LintModelWriterTask +import com.android.build.gradle.internal.tasks.LintModelMetadataTask + plugins { kodein.library.mppWithAndroid + alias(libs.plugins.compose.compiler) alias(libs.plugins.compose) } kotlin.kodein { jsEnv() - - allComposeExperimental() + allComposeUi() common.mainDependencies { implementation(kotlin.compose.runtime) @@ -21,6 +24,14 @@ kotlin.kodein { } } +// https://github.com/JetBrains/compose-multiplatform/issues/4739 +tasks.withType{ + dependsOn("generateResourceAccessorsForAndroidUnitTest") +} +tasks.withType{ + dependsOn("generateResourceAccessorsForAndroidUnitTest") +} + android { namespace = "org.kodein.di.compose" } diff --git a/gradle.properties b/gradle.properties index b5b511f79..6c10768b4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,5 +6,9 @@ org.gradle.parallel=true android.enableJetifier=true android.useAndroidX=true +# Wasm +org.jetbrains.compose.experimental.wasm.enabled=true +kotlin.wasm.stability.nowarn=true + # Kosi org.kodein.native.enableCrossCompilation=true \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 73888be6f..28dfa8f1a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,21 +1,21 @@ [versions] # Core -kaverit = "2.8.2" +kaverit = "2.9.0-kotlin-2-SNAPSHOT" # Android android-appcompat = "28.0.0" androidx-appcompat = "1.6.1" androidx-fragment = "1.6.2" -androidx-lifecycle = "2.6.2" -androidx-compose = "2.7.5" +androidx-lifecycle = "2.7.0" +androidx-compose = "2.7.7" # Compose -jbCompose = "1.6.0-alpha01" -compose-compiler = "1.5.4" -compose-bom = "2023.10.01" +jbCompose = "1.6.10-beta03" +compose-compiler = "2.0.0-RC2" +compose-bom = "2024.04.01" # KSP kotlinpoet = "1.14.2" ksp = "1.9.20-1.0.14" # Ktor -ktor = "2.3.5" +ktor = "2.3.6" # JxInject javax-inject = "1" # TornadoFX @@ -25,7 +25,7 @@ tornadofx = "1.7.20" testfx = "4.0.4-alpha" # Test junit = "4.13.2" -junit-jupiter = "5.6.3" +junit-jupiter = "5.10.1" [libraries] # Core @@ -61,5 +61,6 @@ junit = { module = "junit:junit", version.ref = "junit" } [plugins] compose = { id = "org.jetbrains.compose", version.ref = "jbCompose" } +compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "compose-compiler" } ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } openjfx = { id = "org.openjfx.javafxplugin", version.ref = "openjfx" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 5e6b54271..3c85cfe05 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-all.zip diff --git a/kodein-di/build.gradle.kts b/kodein-di/build.gradle.kts index 85359e619..fd993d053 100644 --- a/kodein-di/build.gradle.kts +++ b/kodein-di/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi + plugins { id("org.kodein.library.mpp") } @@ -19,10 +21,12 @@ kotlin.kodein { } } -kotlin.sourceSets { - val jsBasedMain by getting - getByName("wasmJsMain").dependsOn(jsBasedMain) -} +//kotlin { +// @OptIn(ExperimentalKotlinGradlePluginApi::class) +// compilerOptions { +// freeCompilerArgs.add("-Xexpect-actual-classes") +// } +//} kodeinUpload { name = "Kodein" diff --git a/kodein-di/src/commonMain/kotlin/org/kodein/di/Copy.kt b/kodein-di/src/commonMain/kotlin/org/kodein/di/Copy.kt index 01ce45062..0a4d2c56a 100644 --- a/kodein-di/src/commonMain/kotlin/org/kodein/di/Copy.kt +++ b/kodein-di/src/commonMain/kotlin/org/kodein/di/Copy.kt @@ -29,7 +29,7 @@ public interface Copy { * A [Copy] spec that copies no bindings. */ public object None: Copy { - override fun keySet(tree: DITree): Set> = emptySet>() + override fun keySet(tree: DITree): Set> = emptySet() } /** @@ -113,7 +113,7 @@ public interface Copy { val ignored = ignoreSpecs.flatMap { specsToKeys(tree, it) } return copySpecs .flatMap { specsToKeys(tree, it) } - .minus(ignored) + .minus(ignored.toSet()) .toSet() } } @@ -126,7 +126,7 @@ public interface Copy { val kept = copySpecs.flatMap { specsToKeys(tree, it) } val ignored = ignoreSpecs .flatMap { specsToKeys(tree, it) } - .minus(kept) + .minus(kept.toSet()) return tree.bindings.keys.minus(ignored) } } diff --git a/kodein-di/src/commonMain/kotlin/org/kodein/di/DIAware.kt b/kodein-di/src/commonMain/kotlin/org/kodein/di/DIAware.kt index aade29478..d3a8ee952 100644 --- a/kodein-di/src/commonMain/kotlin/org/kodein/di/DIAware.kt +++ b/kodein-di/src/commonMain/kotlin/org/kodein/di/DIAware.kt @@ -2,7 +2,7 @@ package org.kodein.di -import org.kodein.di.internal.DirectDIImpl +import org.kodein.di.internal.createDirectDI import org.kodein.type.TypeToken /** @@ -43,7 +43,7 @@ public interface DIContext { internal inline val DIContext<*>.anyType get() = type as TypeToken private object Contexes { - val AnyDIContext = DIContext(TypeToken.Any, Any()) + val AnyDIContext = DIContext(TypeToken.Any, Any()) } /** @@ -272,7 +272,7 @@ public fun DIAware.InstanceOrNull( /** * Return a direct [DirectDI] instance, with its receiver and context set to this DIAware receiver and context. */ -public val DIAware.direct: DirectDI get() = DirectDIImpl(di.container, diContext) +public val DIAware.direct: DirectDI get() = createDirectDI(di.container, diContext) private class DIWrapper( private val _base: DI, diff --git a/kodein-di/src/commonMain/kotlin/org/kodein/di/DIContainer.kt b/kodein-di/src/commonMain/kotlin/org/kodein/di/DIContainer.kt index 1a1fce013..72cbda190 100644 --- a/kodein-di/src/commonMain/kotlin/org/kodein/di/DIContainer.kt +++ b/kodein-di/src/commonMain/kotlin/org/kodein/di/DIContainer.kt @@ -73,7 +73,7 @@ public interface DIContainer { * @throws DI.DependencyLoopException When calling the provider function, if the instance construction triggered a dependency loop. */ public fun provider(key: DI.Key, context: C, overrideLevel: Int = 0): () -> T = - factory(key, context).toProvider { Unit } + factory(key, context).toProvider { } /** * Retrieve a provider for the given key, or null if none is found. @@ -87,7 +87,7 @@ public interface DIContainer { * @throws DI.DependencyLoopException When calling the provider function, if the instance construction triggered a dependency loop. */ public fun providerOrNull(key: DI.Key, context: C, overrideLevel: Int = 0): (() -> T)? = - factoryOrNull(key, context)?.toProvider { Unit } + factoryOrNull(key, context)?.toProvider { } /** * Retrieve all providers that match the given key. @@ -102,7 +102,7 @@ public interface DIContainer { * @throws DI.DependencyLoopException When calling the factory function, if the instance construction triggered a dependency loop. */ public fun allProviders(key: DI.Key, context: C, overrideLevel: Int = 0): List<() -> T> = - allFactories(key, context).map { it.toProvider { Unit } } + allFactories(key, context).map { it.toProvider { } } /** * This is where you configure the bindings. diff --git a/kodein-di/src/commonMain/kotlin/org/kodein/di/DirectDI.kt b/kodein-di/src/commonMain/kotlin/org/kodein/di/DirectDI.kt index 5489d7234..c83ca22eb 100644 --- a/kodein-di/src/commonMain/kotlin/org/kodein/di/DirectDI.kt +++ b/kodein-di/src/commonMain/kotlin/org/kodein/di/DirectDI.kt @@ -15,7 +15,7 @@ public interface DirectDIAware { /** * @see [DirectDI] */ -@Suppress("FunctionName", "ClassName") +@Suppress("FunctionName") public interface DirectDIBase : DirectDIAware { /** @@ -176,8 +176,6 @@ public interface DirectDIBase : DirectDIAware { * * Note that `DirectDI` is engineered to also work with Java code. */ -// https://youtrack.jetbrains.com/issue/KT-61573 -@Suppress("EXPECT_ACTUAL_CLASSIFIERS_ARE_IN_BETA_WARNING") public expect interface DirectDI : DirectDIBase /** diff --git a/kodein-di/src/commonMain/kotlin/org/kodein/di/Retrieving.kt b/kodein-di/src/commonMain/kotlin/org/kodein/di/Retrieving.kt index 611098d36..cc4cffee4 100644 --- a/kodein-di/src/commonMain/kotlin/org/kodein/di/Retrieving.kt +++ b/kodein-di/src/commonMain/kotlin/org/kodein/di/Retrieving.kt @@ -457,7 +457,6 @@ public inline fun DirectDIAware.provider( * @return A provider, or null if no provider was found. * @throws DI.DependencyLoopException When calling the provider function, if the instance construction triggered a dependency loop. */ -@Suppress("UNCHECKED_CAST") public inline fun DirectDIAware.providerOrNull(tag: Any? = null): (() -> T)? = directDI.ProviderOrNull(generic(), tag) diff --git a/kodein-di/src/commonMain/kotlin/org/kodein/di/SetBindings.kt b/kodein-di/src/commonMain/kotlin/org/kodein/di/SetBindings.kt index 403d592ec..568186d69 100644 --- a/kodein-di/src/commonMain/kotlin/org/kodein/di/SetBindings.kt +++ b/kodein-di/src/commonMain/kotlin/org/kodein/di/SetBindings.kt @@ -19,7 +19,6 @@ import org.kodein.type.generic * @param T The created type. * @return A set binding ready to be bound. */ -@Suppress("RemoveExplicitTypeArguments") public inline fun DI.Builder.bindSet(tag: Any? = null, overrides: Boolean? = null): Unit = Bind( tag = tag, overrides = overrides, @@ -66,7 +65,6 @@ public inline fun DI.Builder.inBindSet( * @param A The argument type. * @param T The created type. */ -@Suppress("RemoveExplicitTypeArguments") public inline fun DI.Builder.bindArgSet( tag: Any? = null, overrides: Boolean? = null diff --git a/kodein-di/src/commonMain/kotlin/org/kodein/di/bindFactory.kt b/kodein-di/src/commonMain/kotlin/org/kodein/di/bindFactory.kt index 8bb3dc877..104a6381e 100644 --- a/kodein-di/src/commonMain/kotlin/org/kodein/di/bindFactory.kt +++ b/kodein-di/src/commonMain/kotlin/org/kodein/di/bindFactory.kt @@ -16,7 +16,7 @@ import org.kodein.type.generic */ public inline fun DI.BindBuilder.factory( noinline creator: BindingDI.(A) -> T -): Factory = Factory(contextType, generic(), generic(), creator) +): Factory = Factory(contextType, generic(), generic(), creator) /** * Binds a factory: each time an instance is needed, the function [creator] function will be called. diff --git a/kodein-di/src/commonMain/kotlin/org/kodein/di/bindings/BindingDI.kt b/kodein-di/src/commonMain/kotlin/org/kodein/di/bindings/BindingDI.kt index fcb1e2840..b8bf46279 100644 --- a/kodein-di/src/commonMain/kotlin/org/kodein/di/bindings/BindingDI.kt +++ b/kodein-di/src/commonMain/kotlin/org/kodein/di/bindings/BindingDI.kt @@ -105,8 +105,8 @@ public interface NoArgBindingDI : DirectDI, WithContext { } internal class NoArgBindingDIWrap(private val _di: BindingDI) : NoArgBindingDI, DirectDI by _di, WithContext by _di { - override fun overriddenProvider() = _di.overriddenFactory().toProvider { Unit } - override fun overriddenProviderOrNull() = _di.overriddenFactoryOrNull()?.toProvider { Unit } + override fun overriddenProvider() = _di.overriddenFactory().toProvider { } + override fun overriddenProviderOrNull() = _di.overriddenFactoryOrNull()?.toProvider { } override fun overriddenInstance() = overriddenProvider().invoke() override fun overriddenInstanceOrNull() = overriddenProviderOrNull()?.invoke() } diff --git a/kodein-di/src/commonMain/kotlin/org/kodein/di/bindings/standardBindings.kt b/kodein-di/src/commonMain/kotlin/org/kodein/di/bindings/standardBindings.kt index 6243f700f..42579df32 100644 --- a/kodein-di/src/commonMain/kotlin/org/kodein/di/bindings/standardBindings.kt +++ b/kodein-di/src/commonMain/kotlin/org/kodein/di/bindings/standardBindings.kt @@ -139,7 +139,7 @@ public class Singleton( public val sync: Boolean = true, public val creator: NoArgBindingDI.() -> T ) : NoArgDIBinding { - @Suppress("UNCHECKED_CAST") + private val _refMaker = refMaker ?: SingletonReference private val _scopeKey = ScopeKey(Any(), Unit) @@ -169,7 +169,6 @@ public class Singleton( override fun getFactory(key: DI.Key, di: BindingDI): (Unit) -> T { var lateInitRegistry: ScopeRegistry? = null - @Suppress("UNCHECKED_CAST") val bindingDi = if (explicitContext) di else di.onErasedContext() return { _ -> val registry = lateInitRegistry diff --git a/kodein-di/src/commonMain/kotlin/org/kodein/di/internal/DIContainerImpl.kt b/kodein-di/src/commonMain/kotlin/org/kodein/di/internal/DIContainerImpl.kt index a847c15e1..1770787e8 100644 --- a/kodein-di/src/commonMain/kotlin/org/kodein/di/internal/DIContainerImpl.kt +++ b/kodein-di/src/commonMain/kotlin/org/kodein/di/internal/DIContainerImpl.kt @@ -36,8 +36,8 @@ internal class DIContainerImpl private constructor( runCallbacks: Boolean ) : this(DITreeImpl(builder.bindingsMap, externalSources, builder.translators), null, fullDescriptionOnError, fullContainerTreeOnError) { val init: () -> Unit = { - val direct = DirectDIImpl(this, AnyDIContext) - builder.callbacks.forEach { @Suppress("UNUSED_EXPRESSION") it(direct) } + val direct = createDirectDI(this, AnyDIContext) + builder.callbacks.forEach { it(direct) } } if (runCallbacks) @@ -78,7 +78,7 @@ internal class DIContainerImpl private constructor( * * @throws DI.DependencyLoopException if the key exists in the dependency tree. */ - internal fun check(searchedKey: DI.Key<*, *, *>, searchedOverrideLevel: Int) { + fun check(searchedKey: DI.Key<*, *, *>, searchedOverrideLevel: Int) { if (!recursiveCheck(this, searchedKey, searchedOverrideLevel)) { val list = recursiveLoop(this, searchedKey, searchedOverrideLevel, emptyList()) + displayString(searchedKey, overrideLevel) val sb = StringBuilder() @@ -136,7 +136,7 @@ internal class DIContainerImpl private constructor( private fun bindingDI(key: DI.Key, context: DIContext, tree: DITree, overrideLevel: Int) : BindingDI { val container = DIContainerImpl(tree, Node(key, overrideLevel, node, fullDescriptionOnError), fullDescriptionOnError, fullContainerTreeOnError) - return BindingDIImpl(DirectDIImpl(container, context), key, overrideLevel) + return BindingDIImpl(createDirectDI(container, context), key, overrideLevel) } @Suppress("UNCHECKED_CAST") @@ -146,7 +146,7 @@ internal class DIContainerImpl private constructor( val (_, definition, translator) = it[0] node?.check(key, 0) val originalContext = DIContext(key.contextType, context) as DIContext - val kContext = translator?.toKContext(DirectDIImpl(this, originalContext), context) ?: originalContext + val kContext = translator?.toKContext(createDirectDI(this, originalContext), context) ?: originalContext key as DI.Key val bindingDI = bindingDI(key, kContext, definition.tree, overrideLevel) return definition.binding.getFactory(key, bindingDI) @@ -173,7 +173,7 @@ internal class DIContainerImpl private constructor( val (_, definition, translator) = result[0] node?.check(key, overrideLevel) val originalContext = DIContext(key.contextType, context) as DIContext - val kContext = translator?.toKContext(DirectDIImpl(this, originalContext), context) ?: originalContext + val kContext = translator?.toKContext(createDirectDI(this, originalContext), context) ?: originalContext key as DI.Key val bindingDI = bindingDI(key, kContext, definition.tree, overrideLevel) return definition.binding.getFactory(key, bindingDI) @@ -223,7 +223,7 @@ internal class DIContainerImpl private constructor( return result.map { (_, definition, translator) -> node?.check(key, overrideLevel) val originalContext = DIContext(key.contextType, context) as DIContext - val kContext = translator?.toKContext(DirectDIImpl(this, originalContext), context) ?: originalContext + val kContext = translator?.toKContext(createDirectDI(this, originalContext), context) ?: originalContext key as DI.Key val bindingDI = bindingDI(key, kContext, definition.tree, overrideLevel) definition.binding.getFactory(key, bindingDI) diff --git a/kodein-di/src/commonMain/kotlin/org/kodein/di/internal/DIImpl.kt b/kodein-di/src/commonMain/kotlin/org/kodein/di/internal/DIImpl.kt index 3b113b007..f20b3173e 100644 --- a/kodein-di/src/commonMain/kotlin/org/kodein/di/internal/DIImpl.kt +++ b/kodein-di/src/commonMain/kotlin/org/kodein/di/internal/DIImpl.kt @@ -43,7 +43,7 @@ internal open class BindingDIImpl internal const override fun overriddenFactory(): (Any?) -> Any = container.factory(key, context, overrideLevel + 1) as (Any?) -> Any override fun overriddenFactoryOrNull(): ((Any?) -> Any)? = container.factoryOrNull(key, context, overrideLevel + 1) as ((Any?) -> Any)? override val context: C get() = directDI.di.diContext.value as C - override fun onErasedContext(): BindingDI = BindingDIImpl( + override fun onErasedContext(): BindingDI = BindingDIImpl( directDI.On(ErasedContext), key, overrideLevel diff --git a/kodein-di/src/commonMain/kotlin/org/kodein/di/internal/DIMOdule.kt b/kodein-di/src/commonMain/kotlin/org/kodein/di/internal/DIMOdule.kt deleted file mode 100644 index e3a4a363b..000000000 --- a/kodein-di/src/commonMain/kotlin/org/kodein/di/internal/DIMOdule.kt +++ /dev/null @@ -1,6 +0,0 @@ -package org.kodein.di.internal - -import org.kodein.di.DI -import kotlin.reflect.KProperty - - diff --git a/kodein-di/src/commonMain/kotlin/org/kodein/di/internal/DITreeImpl.kt b/kodein-di/src/commonMain/kotlin/org/kodein/di/internal/DITreeImpl.kt index d2f963d8c..ab71f08a0 100644 --- a/kodein-di/src/commonMain/kotlin/org/kodein/di/internal/DITreeImpl.kt +++ b/kodein-di/src/commonMain/kotlin/org/kodein/di/internal/DITreeImpl.kt @@ -164,10 +164,8 @@ internal class DITreeImpl( private fun notInMap(result: DI.Key<*, *, *>, request: DI.Key<*, *, *>) = IllegalStateException("Tree returned key ${result.internalDescription} that is not in cache when searching for ${request.internalDescription}.\nKeys in cache:\n${_cache.keys.joinToString("\n") { it.internalDescription }}") - @Suppress("UNCHECKED_CAST") override fun find(search: SearchSpecs): List, List>, ContextTranslator<*, *>?>> { val result = findBySpecs(search) - @Suppress("UselessCallOnCollection") return result.map { (key, translator) -> Triple(key, _cache[key]!!.second, translator) } } diff --git a/kodein-di/src/commonMain/kotlin/org/kodein/di/internal/DirectDIImpl.kt b/kodein-di/src/commonMain/kotlin/org/kodein/di/internal/DirectDIImpl.kt index e8ec9b12f..27606d4ae 100644 --- a/kodein-di/src/commonMain/kotlin/org/kodein/di/internal/DirectDIImpl.kt +++ b/kodein-di/src/commonMain/kotlin/org/kodein/di/internal/DirectDIImpl.kt @@ -6,14 +6,13 @@ import org.kodein.type.TypeToken @Suppress("UNCHECKED_CAST") private inline val DIContext<*>.anyType get() = type as TypeToken -@Suppress("FunctionName") internal abstract class DirectDIBaseImpl protected constructor(override val container: DIContainer, val context: DIContext<*>) : DirectDI { override val directDI: DirectDI get() = this override val lazy: DI get() = DIImpl(container as DIContainerImpl).On(context = context) - override fun On(context: DIContext<*>): DirectDI = DirectDIImpl(container, context) + override fun On(context: DIContext<*>): DirectDI = createDirectDI(container, context) override fun Factory(argType: TypeToken, type: TypeToken, tag: Any?): (A) -> T = container.factory(DI.Key(context.anyType, argType, type, tag), context.value) @@ -36,6 +35,4 @@ internal abstract class DirectDIBaseImpl protected constructor(override val cont override fun InstanceOrNull(argType: TypeToken, type: TypeToken, tag: Any?, arg: A): T? = container.factoryOrNull(DI.Key(context.anyType, argType, type, tag), context.value)?.invoke(arg) } -// https://youtrack.jetbrains.com/issue/KT-61573 -@Suppress("EXPECT_ACTUAL_CLASSIFIERS_ARE_IN_BETA_WARNING") -internal expect class DirectDIImpl(container: DIContainer, context: DIContext<*>) : DirectDI +internal expect fun createDirectDI(container: DIContainer, context: DIContext<*>) : DirectDI diff --git a/kodein-di/src/jsBasedMain/kotlin/org/kodein/di/internal/DirectDIJSImpl.kt b/kodein-di/src/jsBasedMain/kotlin/org/kodein/di/internal/DirectDIJSImpl.kt index 4021f41b2..631a50117 100644 --- a/kodein-di/src/jsBasedMain/kotlin/org/kodein/di/internal/DirectDIJSImpl.kt +++ b/kodein-di/src/jsBasedMain/kotlin/org/kodein/di/internal/DirectDIJSImpl.kt @@ -4,7 +4,9 @@ import org.kodein.di.DIContainer import org.kodein.di.DIContext import org.kodein.di.DirectDI -// https://youtrack.jetbrains.com/issue/KT-61573 -@Suppress("EXPECT_ACTUAL_CLASSIFIERS_ARE_IN_BETA_WARNING") -internal actual class DirectDIImpl actual constructor(container: DIContainer, context: DIContext<*>) : DirectDIBaseImpl(container, context), - DirectDI +private class DirectDIImpl ( + container: DIContainer, + context: DIContext<*>, +) : DirectDIBaseImpl(container, context), DirectDI + +internal actual fun createDirectDI(container: DIContainer, context: DIContext<*>): DirectDI = DirectDIImpl(container, context) \ No newline at end of file diff --git a/kodein-di/src/jvmMain/kotlin/org/kodein/di/DirectDIJVM.kt b/kodein-di/src/jvmMain/kotlin/org/kodein/di/DirectDIJVM.kt index 552b26b4f..8590cfcb0 100644 --- a/kodein-di/src/jvmMain/kotlin/org/kodein/di/DirectDIJVM.kt +++ b/kodein-di/src/jvmMain/kotlin/org/kodein/di/DirectDIJVM.kt @@ -2,8 +2,7 @@ package org.kodein.di import org.kodein.type.TypeToken -// https://youtrack.jetbrains.com/issue/KT-61573 -@Suppress("FunctionName", "EXPECT_ACTUAL_CLASSIFIERS_ARE_IN_BETA_WARNING") +@Suppress("FunctionName") public actual interface DirectDI : DirectDIBase { /** * Gets all factories that can return a `T` for the given argument type, return type and tag. diff --git a/kodein-di/src/jvmMain/kotlin/org/kodein/di/internal/DirectDIJVMImpl.kt b/kodein-di/src/jvmMain/kotlin/org/kodein/di/internal/DirectDIJVMImpl.kt index a633dae8f..aed595a3a 100644 --- a/kodein-di/src/jvmMain/kotlin/org/kodein/di/internal/DirectDIJVMImpl.kt +++ b/kodein-di/src/jvmMain/kotlin/org/kodein/di/internal/DirectDIJVMImpl.kt @@ -6,18 +6,15 @@ import org.kodein.type.TypeToken @Suppress("UNCHECKED_CAST") private val DIContext<*>.anyType get() = type as TypeToken -// https://youtrack.jetbrains.com/issue/KT-61573 -@Suppress("FunctionName", "EXPECT_ACTUAL_CLASSIFIERS_ARE_IN_BETA_WARNING") -internal actual class DirectDIImpl actual constructor(container: DIContainer, context: DIContext<*>) : DirectDIBaseImpl(container, context), - DirectDI { - +private class DirectDIImpl( + container: DIContainer, + context: DIContext<*>, +) : DirectDIBaseImpl(container, context), DirectDI { override fun AllFactories(argType: TypeToken, type: TypeToken, tag: Any?): List<(A) -> T> = container.allFactories(DI.Key(context.anyType, argType, type, tag), context.value) - override fun AllProviders(type: TypeToken, tag: Any?): List<() -> T> = container.allProviders(DI.Key(context.anyType, TypeToken.Unit, type, tag), context.value) - override fun AllProviders(argType: TypeToken, type: TypeToken, tag: Any?, arg: () -> A): List<() -> T> = container.allFactories(DI.Key(context.anyType, argType, type, tag), context.value).map { it.toProvider(arg) } - override fun AllInstances(type: TypeToken, tag: Any?): List = container.allProviders(DI.Key(context.anyType, TypeToken.Unit, type, tag), context.value).map { it.invoke() } - override fun AllInstances(argType: TypeToken, type: TypeToken, tag: Any?, arg: A): List = container.allFactories(DI.Key(context.anyType, argType, type, tag), context.value).map { it.invoke(arg) } } + +internal actual fun createDirectDI(container: DIContainer, context: DIContext<*>): DirectDI = DirectDIImpl(container, context) diff --git a/kodein-di/src/nativeMain/kotlin/org/kodein/di/internal/DirectDIImplNative.kt b/kodein-di/src/nativeMain/kotlin/org/kodein/di/internal/DirectDIImplNative.kt index 4021f41b2..9018876fe 100644 --- a/kodein-di/src/nativeMain/kotlin/org/kodein/di/internal/DirectDIImplNative.kt +++ b/kodein-di/src/nativeMain/kotlin/org/kodein/di/internal/DirectDIImplNative.kt @@ -4,7 +4,9 @@ import org.kodein.di.DIContainer import org.kodein.di.DIContext import org.kodein.di.DirectDI -// https://youtrack.jetbrains.com/issue/KT-61573 -@Suppress("EXPECT_ACTUAL_CLASSIFIERS_ARE_IN_BETA_WARNING") -internal actual class DirectDIImpl actual constructor(container: DIContainer, context: DIContext<*>) : DirectDIBaseImpl(container, context), - DirectDI +private class DirectDIImpl( + container: DIContainer, + context: DIContext<*>, +) : DirectDIBaseImpl(container, context), DirectDI + +internal actual fun createDirectDI(container: DIContainer, context: DIContext<*>): DirectDI = DirectDIImpl(container, context) diff --git a/kotlin-js-store/yarn.lock b/kotlin-js-store/yarn.lock index 8adf4c22e..b9a80e7fb 100644 --- a/kotlin-js-store/yarn.lock +++ b/kotlin-js-store/yarn.lock @@ -54,10 +54,10 @@ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== -"@jridgewell/trace-mapping@^0.3.17": - version "0.3.19" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz#f8a3249862f91be48d3127c3cfe992f79b4b8811" - integrity sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw== +"@jridgewell/trace-mapping@^0.3.20": + 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" @@ -70,10 +70,10 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" -"@types/component-emitter@^1.2.10": - version "1.2.11" - resolved "https://registry.yarnpkg.com/@types/component-emitter/-/component-emitter-1.2.11.tgz#50d47d42b347253817a39709fef03ce66a108506" - integrity sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ== +"@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/cookie@^0.4.1": version "0.4.1" @@ -106,10 +106,10 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== -"@types/estree@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.1.tgz#aa22750962f3bf0e79d753d3cc067f010c95f194" - integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA== +"@types/estree@^1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== "@types/json-schema@*", "@types/json-schema@^7.0.8": version "7.0.11" @@ -121,10 +121,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.0.tgz#67c7b724e1bcdd7a8821ce0d5ee184d3b4dd525a" integrity sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA== -"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" - integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== +"@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.12.1.tgz#bb16a0e8b1914f979f45864c23819cc3e3f0d4bb" + integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg== dependencies: "@webassemblyjs/helper-numbers" "1.11.6" "@webassemblyjs/helper-wasm-bytecode" "1.11.6" @@ -139,10 +139,10 @@ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== -"@webassemblyjs/helper-buffer@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz#b66d73c43e296fd5e88006f18524feb0f2c7c093" - integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== +"@webassemblyjs/helper-buffer@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz#6df20d272ea5439bf20ab3492b7fb70e9bfcb3f6" + integrity sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw== "@webassemblyjs/helper-numbers@1.11.6": version "1.11.6" @@ -158,15 +158,15 @@ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== -"@webassemblyjs/helper-wasm-section@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz#ff97f3863c55ee7f580fd5c41a381e9def4aa577" - integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== +"@webassemblyjs/helper-wasm-section@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz#3da623233ae1a60409b509a52ade9bc22a37f7bf" + integrity sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g== dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-buffer" "1.12.1" "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-gen" "1.12.1" "@webassemblyjs/ieee754@1.11.6": version "1.11.6" @@ -187,72 +187,72 @@ resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== -"@webassemblyjs/wasm-edit@^1.11.5": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz#c72fa8220524c9b416249f3d94c2958dfe70ceab" - integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== +"@webassemblyjs/wasm-edit@^1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz#9f9f3ff52a14c980939be0ef9d5df9ebc678ae3b" + integrity sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g== dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-buffer" "1.12.1" "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/helper-wasm-section" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/wasm-opt" "1.11.6" - "@webassemblyjs/wasm-parser" "1.11.6" - "@webassemblyjs/wast-printer" "1.11.6" - -"@webassemblyjs/wasm-gen@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz#fb5283e0e8b4551cc4e9c3c0d7184a65faf7c268" - integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== - dependencies: - "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-wasm-section" "1.12.1" + "@webassemblyjs/wasm-gen" "1.12.1" + "@webassemblyjs/wasm-opt" "1.12.1" + "@webassemblyjs/wasm-parser" "1.12.1" + "@webassemblyjs/wast-printer" "1.12.1" + +"@webassemblyjs/wasm-gen@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz#a6520601da1b5700448273666a71ad0a45d78547" + integrity sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w== + dependencies: + "@webassemblyjs/ast" "1.12.1" "@webassemblyjs/helper-wasm-bytecode" "1.11.6" "@webassemblyjs/ieee754" "1.11.6" "@webassemblyjs/leb128" "1.11.6" "@webassemblyjs/utf8" "1.11.6" -"@webassemblyjs/wasm-opt@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2" - integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== +"@webassemblyjs/wasm-opt@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz#9e6e81475dfcfb62dab574ac2dda38226c232bc5" + integrity sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg== dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/wasm-parser" "1.11.6" + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-buffer" "1.12.1" + "@webassemblyjs/wasm-gen" "1.12.1" + "@webassemblyjs/wasm-parser" "1.12.1" -"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz#bb85378c527df824004812bbdb784eea539174a1" - integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== +"@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz#c47acb90e6f083391e3fa61d113650eea1e95937" + integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ== dependencies: - "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/ast" "1.12.1" "@webassemblyjs/helper-api-error" "1.11.6" "@webassemblyjs/helper-wasm-bytecode" "1.11.6" "@webassemblyjs/ieee754" "1.11.6" "@webassemblyjs/leb128" "1.11.6" "@webassemblyjs/utf8" "1.11.6" -"@webassemblyjs/wast-printer@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz#a7bf8dd7e362aeb1668ff43f35cb849f188eff20" - integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== +"@webassemblyjs/wast-printer@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz#bcecf661d7d1abdaf989d8341a4833e33e2b31ac" + integrity sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA== dependencies: - "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/ast" "1.12.1" "@xtuc/long" "4.2.2" -"@webpack-cli/configtest@^2.1.0": +"@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.1": +"@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.3": +"@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== @@ -267,11 +267,6 @@ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== -abab@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" - integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== - accepts@~1.3.4: version "1.3.8" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" @@ -280,10 +275,10 @@ accepts@~1.3.4: mime-types "~2.1.34" negotiator "0.6.3" -acorn-import-assertions@^1.7.6: - version "1.8.0" - resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" - integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== +acorn-import-assertions@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" + integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== acorn@^8.7.1: version "8.8.1" @@ -400,16 +395,15 @@ 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.14.5: - version "4.20.4" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.4.tgz#98096c9042af689ee1e0271333dbc564b8ce4477" - integrity sha512-ok1d+1WpnU24XYN7oC3QWgTyMhY/avPJ/r9T00xxvUOIparA/gc+UPUMaod3i+G6s+nI2nUb9xZ5k794uIwShw== +browserslist@^4.21.10: + version "4.23.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" + integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== dependencies: - caniuse-lite "^1.0.30001349" - electron-to-chromium "^1.4.147" - escalade "^3.1.1" - node-releases "^2.0.5" - picocolors "^1.0.0" + caniuse-lite "^1.0.30001587" + electron-to-chromium "^1.4.668" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" buffer-from@^1.0.0: version "1.1.2" @@ -434,10 +428,10 @@ camelcase@^6.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001349: - version "1.0.30001357" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001357.tgz#dec7fc4158ef6ad24690d0eec7b91f32b8cb1b5d" - integrity sha512-b+KbWHdHePp+ZpNj+RDHFChZmuN+J5EvuQUlee9jOQIUAdhv9uvAZeEtUeLAknXbkiu1uxjQ9NLp1ie894CuWg== +caniuse-lite@^1.0.30001587: + version "1.0.30001614" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001614.tgz#f894b4209376a0bf923d67d9c361d96b1dfebe39" + integrity sha512-jmZQ1VpmlRwHgdP1/uiKzgiAuGOfLEJsYFP4+GBou/QQ4U6IOJCB4NP1c+1p9RGLpwObcT94jA5/uO+F1vBbog== chalk@^4.1.0: version "4.1.2" @@ -512,11 +506,6 @@ commander@^2.20.0: resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -component-emitter@~1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -576,7 +565,7 @@ debug@2.6.9: dependencies: ms "2.0.0" -debug@4.3.4, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2: +debug@4.3.4, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2, debug@~4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -623,10 +612,10 @@ ee-first@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.4.147: - version "1.4.163" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.163.tgz#d881ad93360001e79cdc871b3a5b5cd9c74e9639" - integrity sha512-c9q94pUVqIdc8hyr7jZDB4bNEoNF3QJ7y35lnddMD+mXtiv5GsL1bT/RmfW/KEOmvlNg5Oy1qioiy4tA7e864Q== +electron-to-chromium@^1.4.668: + version "1.4.750" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.750.tgz#d278a619af727ed069de1317115187282b1131ee" + integrity sha512-9ItEpeu15hW5m8jKdriL+BQrgwDTXEL9pn4SkillWFu73ZNNNQ2BKKLS+ZHv2vC9UkNhosAeyfxOf/5OSeTCPA== emoji-regex@^8.0.0: version "8.0.0" @@ -638,15 +627,15 @@ encodeurl@~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.0.3: - version "5.0.4" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.4.tgz#0b13f704fa9271b3ec4f33112410d8f3f41d0fc0" - integrity sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg== +engine.io-parser@~5.2.1: + version "5.2.2" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.2.2.tgz#37b48e2d23116919a3453738c5720455e64e1c49" + integrity sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw== -engine.io@~6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.2.0.tgz#003bec48f6815926f2b1b17873e576acd54f41d0" - integrity sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg== +engine.io@~6.5.2: + version "6.5.4" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.5.4.tgz#6822debf324e781add2254e912f8568508850cdc" + integrity sha512-KdVSDKhVKyOi+r5uEabrDLZw2qXStVvCsEB/LN3mw4WFi6Gx50jTyuxYVCwAAC0U46FdnzP/ScKRBTXb/NiEOg== dependencies: "@types/cookie" "^0.4.1" "@types/cors" "^2.8.12" @@ -656,13 +645,13 @@ engine.io@~6.2.0: cookie "~0.4.1" cors "~2.8.5" debug "~4.3.1" - engine.io-parser "~5.0.3" - ws "~8.2.3" + engine.io-parser "~5.2.1" + ws "~8.11.0" -enhanced-resolve@^5.13.0: - version "5.15.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" - integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== +enhanced-resolve@^5.16.0: + version "5.16.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz#65ec88778083056cb32487faa9aef82ed0864787" + integrity sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -858,17 +847,16 @@ glob-to-regexp@^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.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== +glob@8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" - minimatch "^3.0.4" + minimatch "^5.0.1" once "^1.3.0" - path-is-absolute "^1.0.0" glob@^7.1.3, glob@^7.1.7: version "7.2.3" @@ -882,12 +870,12 @@ glob@^7.1.3, glob@^7.1.7: once "^1.3.0" path-is-absolute "^1.0.0" -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6: version "4.2.10" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== -graceful-fs@^4.2.10: +graceful-fs@^4.2.10, graceful-fs@^4.2.11: 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== @@ -1098,19 +1086,19 @@ karma-sourcemap-loader@0.4.0: dependencies: graceful-fs "^4.2.10" -karma-webpack@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/karma-webpack/-/karma-webpack-5.0.0.tgz#2a2c7b80163fe7ffd1010f83f5507f95ef39f840" - integrity sha512-+54i/cd3/piZuP3dr54+NcFeKOPnys5QeM1IY+0SPASwrtHsliXUiCL50iW+K9WWA7RvamC4macvvQ86l3KtaA== +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 "^3.0.4" + minimatch "^9.0.3" webpack-merge "^4.1.5" -karma@6.4.2: - version "6.4.2" - resolved "https://registry.yarnpkg.com/karma/-/karma-6.4.2.tgz#a983f874cee6f35990c4b2dcc3d274653714de8e" - integrity sha512-C6SU/53LB31BEgRg+omznBEMY4SjHU3ricV6zBcAe1EeILKkeScr+fZXtaI5WyDbkVowJxxAI6h73NcFPmXolQ== +karma@6.4.3: + version "6.4.3" + resolved "https://registry.yarnpkg.com/karma/-/karma-6.4.3.tgz#763e500f99597218bbb536de1a14acc4ceea7ce8" + integrity sha512-LuucC/RE92tJ8mlCwqEoRWXP38UMAqpnq98vktmS9SznSoUPPUJQbc91dHcxcunROvfQjdORVA/YFviH+Xci9Q== dependencies: "@colors/colors" "1.5.0" body-parser "^1.19.0" @@ -1131,7 +1119,7 @@ karma@6.4.2: qjobs "^1.2.0" range-parser "^1.2.1" rimraf "^3.0.2" - socket.io "^4.4.1" + socket.io "^4.7.2" source-map "^0.6.1" tmp "^0.2.1" ua-parser-js "^0.7.30" @@ -1226,6 +1214,20 @@ minimatch@^3.0.4, minimatch@^3.1.1: dependencies: brace-expansion "^1.1.7" +minimatch@^5.0.1: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^9.0.3: + version "9.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" + integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== + dependencies: + brace-expansion "^2.0.1" + minimist@^1.2.3, minimist@^1.2.6: version "1.2.6" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" @@ -1238,10 +1240,10 @@ mkdirp@^0.5.5: dependencies: minimist "^1.2.6" -mocha@10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.2.0.tgz#1fd4a7c32ba5ac372e03a17eef435bd00e5c68b8" - integrity sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg== +mocha@10.3.0: + version "10.3.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.3.0.tgz#0e185c49e6dccf582035c05fa91084a4ff6e3fe9" + integrity sha512-uF2XJs+7xSLsrmIvn37i/wnc91nw7XjOQB8ccyx5aEgdnohr7n+rEiZP23WkCYHjilR6+EboEnbq/ZQDz4LSbg== dependencies: ansi-colors "4.1.1" browser-stdout "1.3.1" @@ -1250,13 +1252,12 @@ mocha@10.2.0: diff "5.0.0" escape-string-regexp "4.0.0" find-up "5.0.0" - glob "7.2.0" + glob "8.1.0" he "1.2.0" js-yaml "4.1.0" log-symbols "4.1.0" minimatch "5.0.1" ms "2.1.3" - nanoid "3.3.3" serialize-javascript "6.0.0" strip-json-comments "3.1.1" supports-color "8.1.1" @@ -1280,11 +1281,6 @@ ms@2.1.3: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -nanoid@3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" - integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== - negotiator@0.6.3: version "0.6.3" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" @@ -1295,10 +1291,10 @@ neo-async@^2.6.2: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== -node-releases@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.5.tgz#280ed5bc3eba0d96ce44897d8aee478bfb3d9666" - integrity sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q== +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" @@ -1526,7 +1522,7 @@ schema-utils@^3.1.1: ajv "^6.12.5" ajv-keywords "^3.5.2" -schema-utils@^3.1.2: +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== @@ -1582,43 +1578,45 @@ side-channel@^1.0.4: get-intrinsic "^1.0.2" object-inspect "^1.9.0" -socket.io-adapter@~2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz#b50a4a9ecdd00c34d4c8c808224daa1a786152a6" - integrity sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg== +socket.io-adapter@~2.5.2: + version "2.5.4" + resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.5.4.tgz#4fdb1358667f6d68f25343353bd99bd11ee41006" + integrity sha512-wDNHGXGewWAjQPt3pyeYBtpWSq9cLE5UW1ZUPL/2eGK9jtse/FpXib7epSTsz0Q0m+6sg6Y4KtcFTlah1bdOVg== + dependencies: + debug "~4.3.4" + ws "~8.11.0" -socket.io-parser@~4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.0.4.tgz#9ea21b0d61508d18196ef04a2c6b9ab630f4c2b0" - integrity sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g== +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: - "@types/component-emitter" "^1.2.10" - component-emitter "~1.3.0" + "@socket.io/component-emitter" "~3.1.0" debug "~4.3.1" -socket.io@^4.4.1: - version "4.5.1" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.5.1.tgz#aa7e73f8a6ce20ee3c54b2446d321bbb6b1a9029" - integrity sha512-0y9pnIso5a9i+lJmsCdtmTTgJFFSvNQKDnPQRz28mGNnxbmqYg2QPtJTLFxhymFZhAIn50eHAKzJeiNaKr+yUQ== +socket.io@^4.7.2: + version "4.7.5" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.7.5.tgz#56eb2d976aef9d1445f373a62d781a41c7add8f8" + integrity sha512-DmeAkF6cwM9jSfmp6Dr/5/mfMwb5Z5qRrSXLpo3Fq5SqyU8CMF15jIN4ZhfSwu35ksM1qmHZDQ/DK5XTccSTvA== dependencies: accepts "~1.3.4" base64id "~2.0.0" + cors "~2.8.5" debug "~4.3.2" - engine.io "~6.2.0" - socket.io-adapter "~2.4.0" - socket.io-parser "~4.0.4" + engine.io "~6.5.2" + socket.io-adapter "~2.5.2" + socket.io-parser "~4.2.4" source-map-js@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== -source-map-loader@4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-4.0.1.tgz#72f00d05f5d1f90f80974eda781cbd7107c125f2" - integrity sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA== +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: - abab "^2.0.6" iconv-lite "^0.6.3" source-map-js "^1.0.2" @@ -1699,21 +1697,21 @@ tapable@^2.1.1, tapable@^2.2.0: resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== -terser-webpack-plugin@^5.3.7: - version "5.3.9" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz#832536999c51b46d468067f9e37662a3b96adfe1" - integrity sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA== +terser-webpack-plugin@^5.3.10: + version "5.3.10" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" + integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== dependencies: - "@jridgewell/trace-mapping" "^0.3.17" + "@jridgewell/trace-mapping" "^0.3.20" jest-worker "^27.4.5" schema-utils "^3.1.1" serialize-javascript "^6.0.1" - terser "^5.16.8" + terser "^5.26.0" -terser@^5.16.8: - version "5.19.2" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.19.2.tgz#bdb8017a9a4a8de4663a7983f45c506534f9234e" - integrity sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA== +terser@^5.26.0: + version "5.30.4" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.30.4.tgz#62b4d16a819424e6317fd5ceffb4ee8dc769803a" + integrity sha512-xRdd0v64a8mFK9bnsKVdoNP9GQIKUAaJPTaqEQDL4w/J8WaW4sWXXoMZ+6SimPkfT5bElreXf8m9HnmPc3E1BQ== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -1747,10 +1745,10 @@ type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" -typescript@5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.4.tgz#b217fd20119bd61a94d4011274e0ab369058da3b" - integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw== +typescript@5.4.3: + version "5.4.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.3.tgz#5c6fedd4c87bee01cd7a528a30145521f8e0feff" + integrity sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg== ua-parser-js@^0.7.30: version "0.7.31" @@ -1767,6 +1765,14 @@ unpipe@1.0.0, unpipe@~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.0.13: + version "1.0.13" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -1789,23 +1795,23 @@ void-elements@^2.0.0: resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" integrity sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung== -watchpack@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" - integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== +watchpack@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.1.tgz#29308f2cac150fa8e4c92f90e0ec954a9fed7fff" + integrity sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg== dependencies: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" -webpack-cli@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-5.1.0.tgz#abc4b1f44b50250f2632d8b8b536cfe2f6257891" - integrity sha512-a7KRJnCxejFoDpYTOwzm5o21ZXMaNqtRlvS183XzGDUPRdVEzJNImcQokqYZ8BNTnk9DkKiuWxw75+DCCoZ26w== +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.0" - "@webpack-cli/info" "^2.0.1" - "@webpack-cli/serve" "^2.0.3" + "@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" @@ -1836,34 +1842,34 @@ webpack-sources@^3.2.3: resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack@5.82.0: - version "5.82.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.82.0.tgz#3c0d074dec79401db026b4ba0fb23d6333f88e7d" - integrity sha512-iGNA2fHhnDcV1bONdUu554eZx+XeldsaeQ8T67H6KKHl2nUSwX8Zm7cmzOA46ox/X1ARxf7Bjv8wQ/HsB5fxBg== +webpack@5.91.0: + version "5.91.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.91.0.tgz#ffa92c1c618d18c878f06892bbdc3373c71a01d9" + integrity sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw== dependencies: "@types/eslint-scope" "^3.7.3" - "@types/estree" "^1.0.0" - "@webassemblyjs/ast" "^1.11.5" - "@webassemblyjs/wasm-edit" "^1.11.5" - "@webassemblyjs/wasm-parser" "^1.11.5" + "@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-assertions "^1.7.6" - browserslist "^4.14.5" + acorn-import-assertions "^1.9.0" + browserslist "^4.21.10" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.13.0" + enhanced-resolve "^5.16.0" 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.9" + 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.1.2" + schema-utils "^3.2.0" tapable "^2.1.1" - terser-webpack-plugin "^5.3.7" - watchpack "^2.4.0" + terser-webpack-plugin "^5.3.10" + watchpack "^2.4.1" webpack-sources "^3.2.3" which@^1.2.1: @@ -1904,10 +1910,10 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== -ws@~8.2.3: - version "8.2.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba" - integrity sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA== +ws@~8.11.0: + version "8.11.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143" + integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== y18n@^5.0.5: version "5.0.8" diff --git a/settings.gradle.kts b/settings.gradle.kts index 103eff9ee..034e18c57 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -8,7 +8,7 @@ buildscript { maven(url = "https://raw.githubusercontent.com/kosi-libs/kodein-internal-gradle-plugin/mvn-repo") } dependencies { - classpath("org.kodein.internal.gradle:kodein-internal-gradle-settings:8.5.1") + classpath("org.kodein.internal.gradle:kodein-internal-gradle-settings:8.7.0-kotlin-2.0.0-RC2-SNAPSHOT") } } @@ -48,6 +48,6 @@ framework("tfx").include( ) framework("compose").include( - ":framework:compose:kodein-di-framework-compose", - ":framework:compose:kodein-di-framework-android-x-compose", + ":framework:compose:kodein-di-framework-compose", + ":framework:compose:kodein-di-framework-android-x-compose", ) diff --git a/test-utils/build.gradle.kts b/test-utils/build.gradle.kts index 2aa107661..528ad58c2 100644 --- a/test-utils/build.gradle.kts +++ b/test-utils/build.gradle.kts @@ -15,8 +15,3 @@ kotlin.kodein { } } } - -kotlin.sourceSets { - val jsBasedMain by getting - getByName("wasmJsMain").dependsOn(jsBasedMain) -}