diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4c0da71e3..35f0df241 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -118,7 +118,7 @@ jobs: -Pandroid.experimental.testOptions.managedDevices.emulator.showKernelLogging=true - name: Upload failed instrumentation artifacts if: failure() - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: instrumentation-failures path: | @@ -152,7 +152,7 @@ jobs: -Pandroid.experimental.testOptions.managedDevices.emulator.showKernelLogging=true - name: Upload failed screenshot artifacts if: failure() - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: screenshot-failures path: | @@ -162,7 +162,7 @@ jobs: check-documentation: name: Check documentation - runs-on: ubuntu-latest + runs-on: macOS-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-java@v3 diff --git a/CHANGELOG.md b/CHANGELOG.md index 4318df4d4..86d4f0802 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ ### Changed - [#611](https://github.com/bumble-tech/appyx/pull/611) – Lower position and rotation animation default round-off thresholds +- [#620](https://github.com/bumble-tech/appyx/pull/620) – Updated Compose to 1.5.3 & Kotlin to 1.9.10 ### Added diff --git a/appyx-components/experimental/cards/common/build.gradle.kts b/appyx-components/experimental/cards/common/build.gradle.kts index 8d36020f4..18e8c27a1 100644 --- a/appyx-components/experimental/cards/common/build.gradle.kts +++ b/appyx-components/experimental/cards/common/build.gradle.kts @@ -12,7 +12,7 @@ appyx { } kotlin { - android { + androidTarget { publishLibraryVariants("release") } jvm("desktop") { diff --git a/appyx-components/experimental/modal/common/build.gradle.kts b/appyx-components/experimental/modal/common/build.gradle.kts index 658b93d18..08eed82c5 100644 --- a/appyx-components/experimental/modal/common/build.gradle.kts +++ b/appyx-components/experimental/modal/common/build.gradle.kts @@ -12,7 +12,7 @@ appyx { } kotlin { - android { + androidTarget { publishLibraryVariants("release") } @@ -43,7 +43,7 @@ kotlin { implementation(kotlin("test")) } } - val androidTest by getting { + val androidUnitTest by getting { dependencies { implementation(libs.junit) } diff --git a/appyx-components/experimental/promoter/common/build.gradle.kts b/appyx-components/experimental/promoter/common/build.gradle.kts index 9781f66f8..e134812e4 100644 --- a/appyx-components/experimental/promoter/common/build.gradle.kts +++ b/appyx-components/experimental/promoter/common/build.gradle.kts @@ -12,7 +12,7 @@ appyx { } kotlin { - android { + androidTarget { publishLibraryVariants("release") } jvm("desktop") { diff --git a/appyx-components/experimental/puzzle15/common/build.gradle.kts b/appyx-components/experimental/puzzle15/common/build.gradle.kts index d88f88de3..35bdd6788 100644 --- a/appyx-components/experimental/puzzle15/common/build.gradle.kts +++ b/appyx-components/experimental/puzzle15/common/build.gradle.kts @@ -12,7 +12,7 @@ appyx { } kotlin { - android { + androidTarget { publishLibraryVariants("release") } jvm("desktop") { diff --git a/appyx-components/experimental/puzzle15/common/src/commonMain/kotlin/com/bumble/appyx/components/experimental/puzzle15/ui/Puzzle15Ui.kt b/appyx-components/experimental/puzzle15/common/src/commonMain/kotlin/com/bumble/appyx/components/experimental/puzzle15/ui/Puzzle15Ui.kt index b289fe523..0d9cb7958 100644 --- a/appyx-components/experimental/puzzle15/common/src/commonMain/kotlin/com/bumble/appyx/components/experimental/puzzle15/ui/Puzzle15Ui.kt +++ b/appyx-components/experimental/puzzle15/common/src/commonMain/kotlin/com/bumble/appyx/components/experimental/puzzle15/ui/Puzzle15Ui.kt @@ -21,7 +21,6 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Alignment -import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.input.key.Key @@ -44,7 +43,6 @@ import com.bumble.appyx.interactions.core.ui.helper.AppyxComponentSetup import com.bumble.appyx.interactions.sample.Children @Suppress("MagicNumber", "LongMethod") -@OptIn(ExperimentalComposeUiApi::class) @Composable fun Puzzle15Ui( screenWidthPx: Int, diff --git a/appyx-components/internal/test-drive/android/screenshots/GesturesTest_drag_to_middle.png b/appyx-components/internal/test-drive/android/screenshots/GesturesTest_drag_to_middle.png index 97c8e668b..1c1727237 100644 Binary files a/appyx-components/internal/test-drive/android/screenshots/GesturesTest_drag_to_middle.png and b/appyx-components/internal/test-drive/android/screenshots/GesturesTest_drag_to_middle.png differ diff --git a/appyx-components/internal/test-drive/android/screenshots/GesturesTest_given_element_dragged_to_the_second_position_when_dragged_back_then_first_element_is_visible_1.png b/appyx-components/internal/test-drive/android/screenshots/GesturesTest_given_element_dragged_to_the_second_position_when_dragged_back_then_first_element_is_visible_1.png index c3e76de7b..d1ddb2cf7 100644 Binary files a/appyx-components/internal/test-drive/android/screenshots/GesturesTest_given_element_dragged_to_the_second_position_when_dragged_back_then_first_element_is_visible_1.png and b/appyx-components/internal/test-drive/android/screenshots/GesturesTest_given_element_dragged_to_the_second_position_when_dragged_back_then_first_element_is_visible_1.png differ diff --git a/appyx-components/internal/test-drive/android/screenshots/GesturesTest_given_element_dragged_to_the_second_position_when_dragged_back_then_first_element_is_visible_2.png b/appyx-components/internal/test-drive/android/screenshots/GesturesTest_given_element_dragged_to_the_second_position_when_dragged_back_then_first_element_is_visible_2.png index 688a0204a..3cb35703e 100644 Binary files a/appyx-components/internal/test-drive/android/screenshots/GesturesTest_given_element_dragged_to_the_second_position_when_dragged_back_then_first_element_is_visible_2.png and b/appyx-components/internal/test-drive/android/screenshots/GesturesTest_given_element_dragged_to_the_second_position_when_dragged_back_then_first_element_is_visible_2.png differ diff --git a/appyx-components/internal/test-drive/android/screenshots/GesturesTest_when_drag_past_maximum_value_then_second_at_maximum_value_is_visible.png b/appyx-components/internal/test-drive/android/screenshots/GesturesTest_when_drag_past_maximum_value_then_second_at_maximum_value_is_visible.png index c7d718d90..61a3acdad 100644 Binary files a/appyx-components/internal/test-drive/android/screenshots/GesturesTest_when_drag_past_maximum_value_then_second_at_maximum_value_is_visible.png and b/appyx-components/internal/test-drive/android/screenshots/GesturesTest_when_drag_past_maximum_value_then_second_at_maximum_value_is_visible.png differ diff --git a/appyx-components/internal/test-drive/android/screenshots/GesturesTest_when_released_after_threshold_snaps_to_destination.png b/appyx-components/internal/test-drive/android/screenshots/GesturesTest_when_released_after_threshold_snaps_to_destination.png index 688a0204a..3cb35703e 100644 Binary files a/appyx-components/internal/test-drive/android/screenshots/GesturesTest_when_released_after_threshold_snaps_to_destination.png and b/appyx-components/internal/test-drive/android/screenshots/GesturesTest_when_released_after_threshold_snaps_to_destination.png differ diff --git a/appyx-components/internal/test-drive/android/screenshots/GesturesTest_when_released_before_threshold_snaps_to_origin.png b/appyx-components/internal/test-drive/android/screenshots/GesturesTest_when_released_before_threshold_snaps_to_origin.png index 688a0204a..3cb35703e 100644 Binary files a/appyx-components/internal/test-drive/android/screenshots/GesturesTest_when_released_before_threshold_snaps_to_origin.png and b/appyx-components/internal/test-drive/android/screenshots/GesturesTest_when_released_before_threshold_snaps_to_origin.png differ diff --git a/appyx-components/internal/test-drive/android/screenshots/KeyframesTest_basic_behaviour_all_at_once.png b/appyx-components/internal/test-drive/android/screenshots/KeyframesTest_basic_behaviour_all_at_once.png index b1b464b6b..fb0d587e7 100644 Binary files a/appyx-components/internal/test-drive/android/screenshots/KeyframesTest_basic_behaviour_all_at_once.png and b/appyx-components/internal/test-drive/android/screenshots/KeyframesTest_basic_behaviour_all_at_once.png differ diff --git a/appyx-components/internal/test-drive/android/screenshots/KeyframesTest_basic_behaviour_one_segment.png b/appyx-components/internal/test-drive/android/screenshots/KeyframesTest_basic_behaviour_one_segment.png index 201836f3c..5ed6df7cc 100644 Binary files a/appyx-components/internal/test-drive/android/screenshots/KeyframesTest_basic_behaviour_one_segment.png and b/appyx-components/internal/test-drive/android/screenshots/KeyframesTest_basic_behaviour_one_segment.png differ diff --git a/appyx-components/internal/test-drive/android/screenshots/KeyframesTest_basic_behaviour_sequential.png b/appyx-components/internal/test-drive/android/screenshots/KeyframesTest_basic_behaviour_sequential.png index 1f275a87c..fcd5b09c6 100644 Binary files a/appyx-components/internal/test-drive/android/screenshots/KeyframesTest_basic_behaviour_sequential.png and b/appyx-components/internal/test-drive/android/screenshots/KeyframesTest_basic_behaviour_sequential.png differ diff --git a/appyx-components/internal/test-drive/android/screenshots/KeyframesTest_when_keyframe_is_running_then_possible_to_enqueue_more_operations.png b/appyx-components/internal/test-drive/android/screenshots/KeyframesTest_when_keyframe_is_running_then_possible_to_enqueue_more_operations.png index a09aae1ef..ecd450101 100644 Binary files a/appyx-components/internal/test-drive/android/screenshots/KeyframesTest_when_keyframe_is_running_then_possible_to_enqueue_more_operations.png and b/appyx-components/internal/test-drive/android/screenshots/KeyframesTest_when_keyframe_is_running_then_possible_to_enqueue_more_operations.png differ diff --git a/appyx-components/internal/test-drive/android/screenshots/KeyframesTest_when_passing_segment_threshold_then_no_artefacts.png b/appyx-components/internal/test-drive/android/screenshots/KeyframesTest_when_passing_segment_threshold_then_no_artefacts.png index c7d718d90..61a3acdad 100644 Binary files a/appyx-components/internal/test-drive/android/screenshots/KeyframesTest_when_passing_segment_threshold_then_no_artefacts.png and b/appyx-components/internal/test-drive/android/screenshots/KeyframesTest_when_passing_segment_threshold_then_no_artefacts.png differ diff --git a/appyx-components/internal/test-drive/android/screenshots/KeyframesToUpdateTest_when_in_segment_interrupt_with_update.png b/appyx-components/internal/test-drive/android/screenshots/KeyframesToUpdateTest_when_in_segment_interrupt_with_update.png index 644a98ead..cc708a8e1 100644 Binary files a/appyx-components/internal/test-drive/android/screenshots/KeyframesToUpdateTest_when_in_segment_interrupt_with_update.png and b/appyx-components/internal/test-drive/android/screenshots/KeyframesToUpdateTest_when_in_segment_interrupt_with_update.png differ diff --git a/appyx-components/internal/test-drive/android/screenshots/UpdateTest_basic_behaviour_multiple.png b/appyx-components/internal/test-drive/android/screenshots/UpdateTest_basic_behaviour_multiple.png index c9faab2dd..8102a6f17 100644 Binary files a/appyx-components/internal/test-drive/android/screenshots/UpdateTest_basic_behaviour_multiple.png and b/appyx-components/internal/test-drive/android/screenshots/UpdateTest_basic_behaviour_multiple.png differ diff --git a/appyx-components/internal/test-drive/android/screenshots/UpdateTest_basic_behaviour_one_update.png b/appyx-components/internal/test-drive/android/screenshots/UpdateTest_basic_behaviour_one_update.png index 330edd04e..1622e6c6c 100644 Binary files a/appyx-components/internal/test-drive/android/screenshots/UpdateTest_basic_behaviour_one_update.png and b/appyx-components/internal/test-drive/android/screenshots/UpdateTest_basic_behaviour_one_update.png differ diff --git a/appyx-components/internal/test-drive/android/screenshots/UpdateToKeyframesTest_when_animation_settles_go_back_to_keyframe_mode.png b/appyx-components/internal/test-drive/android/screenshots/UpdateToKeyframesTest_when_animation_settles_go_back_to_keyframe_mode.png index f0768483b..07db393e9 100644 Binary files a/appyx-components/internal/test-drive/android/screenshots/UpdateToKeyframesTest_when_animation_settles_go_back_to_keyframe_mode.png and b/appyx-components/internal/test-drive/android/screenshots/UpdateToKeyframesTest_when_animation_settles_go_back_to_keyframe_mode.png differ diff --git a/appyx-components/internal/test-drive/android/screenshots/UpdateToKeyframesTest_when_update_not_settled_keyframe_is_update.png b/appyx-components/internal/test-drive/android/screenshots/UpdateToKeyframesTest_when_update_not_settled_keyframe_is_update.png index 421eb24ab..e5925edc8 100644 Binary files a/appyx-components/internal/test-drive/android/screenshots/UpdateToKeyframesTest_when_update_not_settled_keyframe_is_update.png and b/appyx-components/internal/test-drive/android/screenshots/UpdateToKeyframesTest_when_update_not_settled_keyframe_is_update.png differ diff --git a/appyx-components/internal/test-drive/android/src/androidTest/kotlin/com/bumble/appyx/components/internal/testdrive/android/KeyframesTest.kt b/appyx-components/internal/test-drive/android/src/androidTest/kotlin/com/bumble/appyx/components/internal/testdrive/android/KeyframesTest.kt index 483b55991..9c863db26 100644 --- a/appyx-components/internal/test-drive/android/src/androidTest/kotlin/com/bumble/appyx/components/internal/testdrive/android/KeyframesTest.kt +++ b/appyx-components/internal/test-drive/android/src/androidTest/kotlin/com/bumble/appyx/components/internal/testdrive/android/KeyframesTest.kt @@ -1,6 +1,5 @@ package com.bumble.appyx.components.internal.testdrive.android -import androidx.compose.material.ExperimentalMaterialApi import androidx.compose.ui.test.junit4.createComposeRule import androidx.compose.ui.test.onNodeWithText import androidx.compose.ui.test.performClick @@ -103,9 +102,6 @@ class KeyframesTest { composeTestRule.snapshot("${javaClass.simpleName}_${nameRule.methodName}") } - @OptIn( - ExperimentalMaterialApi::class - ) @Test @Ignore("This test attempts to find flickers and artifacts that were fixed in the past. However the artifacts do not show up when running this test") fun validate_that_no_artefacts_appear_during_animation() { diff --git a/appyx-components/internal/test-drive/common/build.gradle.kts b/appyx-components/internal/test-drive/common/build.gradle.kts index a25f90532..7e74e206a 100644 --- a/appyx-components/internal/test-drive/common/build.gradle.kts +++ b/appyx-components/internal/test-drive/common/build.gradle.kts @@ -12,7 +12,7 @@ appyx { } kotlin { - android { + androidTarget { publishLibraryVariants("release") } jvm("desktop") { diff --git a/appyx-components/stable/backstack/common/build.gradle.kts b/appyx-components/stable/backstack/common/build.gradle.kts index 341289c11..d7430d12b 100644 --- a/appyx-components/stable/backstack/common/build.gradle.kts +++ b/appyx-components/stable/backstack/common/build.gradle.kts @@ -12,7 +12,7 @@ appyx { } kotlin { - android { + androidTarget { publishLibraryVariants("release") } jvm("desktop") { diff --git a/appyx-components/stable/spotlight/common/build.gradle.kts b/appyx-components/stable/spotlight/common/build.gradle.kts index 635bdebe2..d60bcb8f9 100644 --- a/appyx-components/stable/spotlight/common/build.gradle.kts +++ b/appyx-components/stable/spotlight/common/build.gradle.kts @@ -12,7 +12,7 @@ appyx { } kotlin { - android { + androidTarget { publishLibraryVariants("release") } jvm("desktop") { @@ -44,7 +44,7 @@ kotlin { implementation(kotlin("test")) } } - val androidTest by getting { + val androidUnitTest by getting { dependencies { implementation(libs.junit) } diff --git a/appyx-interactions/android/build.gradle.kts b/appyx-interactions/android/build.gradle.kts index 699e14580..d7dc1919c 100644 --- a/appyx-interactions/android/build.gradle.kts +++ b/appyx-interactions/android/build.gradle.kts @@ -12,7 +12,7 @@ dependencies { api(libs.compose.material3) api(project(":appyx-interactions:appyx-interactions")) - api(libs.compose.ui.test.junit4) + api(libs.compose.ui.test.junit4.android) implementation(libs.androidx.test.core) implementation(composeBom) diff --git a/appyx-interactions/common/build.gradle.kts b/appyx-interactions/common/build.gradle.kts index be9e7b627..62ca9d3d9 100644 --- a/appyx-interactions/common/build.gradle.kts +++ b/appyx-interactions/common/build.gradle.kts @@ -12,7 +12,7 @@ appyx { } kotlin { - android { + androidTarget { publishLibraryVariants("release") } jvm("desktop") { @@ -51,7 +51,7 @@ kotlin { api(libs.androidx.core) } } - val androidTest by getting { + val androidUnitTest by getting { dependencies { implementation(libs.junit) } diff --git a/appyx-interactions/common/src/commonMain/kotlin/com/bumble/appyx/interactions/core/modifiers/OnPointerEventNode.kt b/appyx-interactions/common/src/commonMain/kotlin/com/bumble/appyx/interactions/core/modifiers/OnPointerEventNode.kt index ee74a390c..64333bc34 100644 --- a/appyx-interactions/common/src/commonMain/kotlin/com/bumble/appyx/interactions/core/modifiers/OnPointerEventNode.kt +++ b/appyx-interactions/common/src/commonMain/kotlin/com/bumble/appyx/interactions/core/modifiers/OnPointerEventNode.kt @@ -1,6 +1,5 @@ package com.bumble.appyx.interactions.core.modifiers -import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier import androidx.compose.ui.input.pointer.PointerEvent import androidx.compose.ui.input.pointer.PointerEventPass @@ -9,7 +8,6 @@ import androidx.compose.ui.node.PointerInputModifierNode import androidx.compose.ui.platform.InspectorInfo import androidx.compose.ui.unit.IntSize -@OptIn(ExperimentalComposeUiApi::class) class OnPointerEventNode(var callback: (PointerEvent) -> Unit) : PointerInputModifierNode, Modifier.Node() { override fun onPointerEvent( @@ -29,14 +27,12 @@ class OnPointerEventNode(var callback: (PointerEvent) -> Unit) : } } -@OptIn(ExperimentalComposeUiApi::class) data class PointerInputElement( val callback: (PointerEvent) -> Unit ) : ModifierNodeElement() { override fun create() = OnPointerEventNode(callback) - override fun update(node: OnPointerEventNode): OnPointerEventNode { + override fun update(node: OnPointerEventNode) { node.callback = callback - return node } override fun InspectorInfo.inspectableProperties() { diff --git a/appyx-navigation/common/build.gradle.kts b/appyx-navigation/common/build.gradle.kts index bab4f458b..d1769c02c 100644 --- a/appyx-navigation/common/build.gradle.kts +++ b/appyx-navigation/common/build.gradle.kts @@ -10,7 +10,7 @@ appyx { } kotlin { - android { + androidTarget { publishLibraryVariants("release") } jvm("desktop") { diff --git a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/IosNodeHost.kt b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/IosNodeHost.kt index c77297b5c..cf0f5b289 100644 --- a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/IosNodeHost.kt +++ b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/IosNodeHost.kt @@ -15,11 +15,13 @@ import com.bumble.appyx.navigation.platform.OnBackPressedDispatcherOwner import com.bumble.appyx.navigation.platform.PlatformLifecycleRegistry import com.bumble.appyx.utils.customisations.NodeCustomisationDirectory import com.bumble.appyx.utils.customisations.NodeCustomisationDirectoryImpl +import kotlinx.cinterop.ExperimentalForeignApi import kotlinx.cinterop.useContents import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.launch import platform.UIKit.UIScreen +@OptIn(ExperimentalForeignApi::class) @Suppress("ComposableParamOrder") // detekt complains as 'factory' param isn't a pure lambda @Composable fun IosNodeHost( diff --git a/build.gradle.kts b/build.gradle.kts index 76e4b39ec..35b2a745d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -43,7 +43,10 @@ dependencyAnalysis { ":utils:testing-ui-activity", // Convenience for convention plugins to avoid needing to define this. - "org.junit.jupiter:junit-jupiter-api" + "org.junit.jupiter:junit-jupiter-api", + + // This is used in:demos:appyx-interactions:android. But raised as unused. + "androidx.compose.material:material-icons-extended", ) } } diff --git a/demos/appyx-interactions/android/build.gradle.kts b/demos/appyx-interactions/android/build.gradle.kts index 2f9235bfe..1f46a06fa 100644 --- a/demos/appyx-interactions/android/build.gradle.kts +++ b/demos/appyx-interactions/android/build.gradle.kts @@ -28,9 +28,8 @@ dependencies { implementation(libs.androidx.appcompat) implementation(libs.androidx.lifecycle.java8) implementation(libs.compose.ui.tooling) - implementation(libs.compose.ui.ui) - implementation(libs.compose.material.icons.extended) + implementation(libs.google.material) implementation(libs.compose.material3) } diff --git a/demos/appyx-interactions/desktop/src/desktopMain/kotlin/com/bumble/appyx/interactions/Main.kt b/demos/appyx-interactions/desktop/src/desktopMain/kotlin/com/bumble/appyx/interactions/Main.kt index cabe296c8..3ee7fb6f1 100644 --- a/demos/appyx-interactions/desktop/src/desktopMain/kotlin/com/bumble/appyx/interactions/Main.kt +++ b/demos/appyx-interactions/desktop/src/desktopMain/kotlin/com/bumble/appyx/interactions/Main.kt @@ -18,7 +18,6 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.BiasAlignment -import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Brush import androidx.compose.ui.graphics.Color @@ -119,7 +118,6 @@ private fun FrameWindowScope.TitleBar( } } -@OptIn(ExperimentalComposeUiApi::class) private fun onKeyEvent( keyEvent: KeyEvent, events: Channel, diff --git a/demos/appyx-interactions/ios/build.gradle.kts b/demos/appyx-interactions/ios/build.gradle.kts index 01ce1ced3..6b22db033 100644 --- a/demos/appyx-interactions/ios/build.gradle.kts +++ b/demos/appyx-interactions/ios/build.gradle.kts @@ -21,6 +21,8 @@ kotlin { baseName = "ios" isStatic = true } + license = "Apache License, Version 2.0" + authors = "https://github.com/bumble-tech/" } sourceSets { diff --git a/demos/appyx-interactions/ios/ios.podspec b/demos/appyx-interactions/ios/ios.podspec index fa139697b..2e9af6c20 100644 --- a/demos/appyx-interactions/ios/ios.podspec +++ b/demos/appyx-interactions/ios/ios.podspec @@ -3,8 +3,8 @@ Pod::Spec.new do |spec| spec.version = '1.0.0' spec.homepage = 'https://bumble-tech.github.io/appyx/interactions/' spec.source = { :http=> ''} - spec.authors = '' - spec.license = '' + spec.authors = 'https://github.com/bumble-tech/' + spec.license = 'Apache License, Version 2.0' spec.summary = 'appyx-interactions ios module' spec.vendored_frameworks = 'build/cocoapods/framework/ios.framework' spec.libraries = 'c++' @@ -35,5 +35,5 @@ Pod::Spec.new do |spec| SCRIPT } ] - + spec.resources = ['build/compose/ios/ios/compose-resources'] end \ No newline at end of file diff --git a/demos/appyx-interactions/iosApp/Podfile.lock b/demos/appyx-interactions/iosApp/Podfile.lock index ca8002ac9..c14ad6c29 100644 --- a/demos/appyx-interactions/iosApp/Podfile.lock +++ b/demos/appyx-interactions/iosApp/Podfile.lock @@ -9,7 +9,7 @@ EXTERNAL SOURCES: :path: "../ios" SPEC CHECKSUMS: - ios: 8191875220b69f28f1312f76f27ebe46e596c7d1 + ios: 757453dfdab442b1775d1835e10749060783e38d PODFILE CHECKSUM: a1e557981a2880940a401c85ea35aafdd5895941 diff --git a/demos/appyx-interactions/iosApp/iosApp.xcodeproj/project.pbxproj b/demos/appyx-interactions/iosApp/iosApp.xcodeproj/project.pbxproj index c888c0443..21c00194e 100644 --- a/demos/appyx-interactions/iosApp/iosApp.xcodeproj/project.pbxproj +++ b/demos/appyx-interactions/iosApp/iosApp.xcodeproj/project.pbxproj @@ -114,6 +114,7 @@ 7555FF77242A565900829871 /* Sources */, 7555FF79242A565900829871 /* Resources */, F85CB1118929364A9C6EFABC /* Frameworks */, + DC181123632E88DCC8F3A89D /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -192,6 +193,23 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; + DC181123632E88DCC8F3A89D /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-iosApp/Pods-iosApp-resources-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-iosApp/Pods-iosApp-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-iosApp/Pods-iosApp-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ diff --git a/demos/appyx-navigation/android/build.gradle.kts b/demos/appyx-navigation/android/build.gradle.kts index 01672c9d8..b07d8a66a 100644 --- a/demos/appyx-navigation/android/build.gradle.kts +++ b/demos/appyx-navigation/android/build.gradle.kts @@ -52,6 +52,5 @@ dependencies { implementation(libs.coil.compose) implementation(libs.compose.material3) implementation(libs.compose.ui.tooling) - implementation(libs.compose.ui.ui) implementation(libs.google.material) } diff --git a/demos/appyx-navigation/common/build.gradle.kts b/demos/appyx-navigation/common/build.gradle.kts index d9b403f23..f338617e0 100644 --- a/demos/appyx-navigation/common/build.gradle.kts +++ b/demos/appyx-navigation/common/build.gradle.kts @@ -12,7 +12,7 @@ appyx { } kotlin { - android { + androidTarget { publishLibraryVariants("release") } jvm("desktop") { diff --git a/demos/appyx-navigation/desktop/src/desktopMain/kotlin/com/bumble/appyx/navigation/Main.kt b/demos/appyx-navigation/desktop/src/desktopMain/kotlin/com/bumble/appyx/navigation/Main.kt index ae17f3f60..1e5927144 100644 --- a/demos/appyx-navigation/desktop/src/desktopMain/kotlin/com/bumble/appyx/navigation/Main.kt +++ b/demos/appyx-navigation/desktop/src/desktopMain/kotlin/com/bumble/appyx/navigation/Main.kt @@ -4,7 +4,6 @@ package com.bumble.appyx.navigation import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface import androidx.compose.runtime.remember -import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.input.key.Key import androidx.compose.ui.input.key.KeyEvent import androidx.compose.ui.input.key.KeyEventType @@ -57,7 +56,6 @@ fun main() = application { } } -@OptIn(ExperimentalComposeUiApi::class) private fun onKeyEvent( keyEvent: KeyEvent, events: Channel, diff --git a/demos/appyx-navigation/ios/build.gradle.kts b/demos/appyx-navigation/ios/build.gradle.kts index 76301066b..aaa2a76be 100644 --- a/demos/appyx-navigation/ios/build.gradle.kts +++ b/demos/appyx-navigation/ios/build.gradle.kts @@ -22,6 +22,8 @@ kotlin { baseName = "ios" isStatic = true } + license = "Apache License, Version 2.0" + authors = "https://github.com/bumble-tech/" } sourceSets { diff --git a/demos/appyx-navigation/ios/ios.podspec b/demos/appyx-navigation/ios/ios.podspec index 2ca6803f8..e50acdf15 100644 --- a/demos/appyx-navigation/ios/ios.podspec +++ b/demos/appyx-navigation/ios/ios.podspec @@ -35,5 +35,5 @@ Pod::Spec.new do |spec| SCRIPT } ] - + spec.resources = ['build/compose/ios/ios/compose-resources'] end \ No newline at end of file diff --git a/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt b/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt index 3303abada..13b46e4b6 100644 --- a/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt +++ b/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt @@ -1,7 +1,11 @@ import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.WindowInsets +import androidx.compose.foundation.layout.asPaddingValues import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.statusBars +import androidx.compose.foundation.layout.windowInsetsPadding import androidx.compose.material.Icon import androidx.compose.material.IconButton import androidx.compose.material.Scaffold @@ -12,7 +16,6 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color -import androidx.compose.ui.unit.dp import androidx.compose.ui.window.ComposeUIViewController import androidx.compose.ui.zIndex import com.bumble.appyx.navigation.integration.IosNodeHost @@ -36,10 +39,14 @@ fun MainViewController() = ComposeUIViewController { Scaffold( modifier = Modifier .background(Color.Black) - .padding(top = 60.dp) ) { Box { - BackButton(coroutineScope) + BackButton( + coroutineScope = coroutineScope, + modifier = Modifier.padding( + top = WindowInsets.statusBars.asPaddingValues().calculateTopPadding() + ) + ) Box(modifier = Modifier.fillMaxSize()) { IosNodeHost( @@ -60,14 +67,17 @@ fun MainViewController() = ComposeUIViewController { } @Composable -private fun BackButton(coroutineScope: CoroutineScope) { +private fun BackButton( + coroutineScope: CoroutineScope, + modifier: Modifier = Modifier, +) { IconButton( onClick = { coroutineScope.launch { backEvents.send(Unit) } }, - modifier = Modifier.zIndex(99f) + modifier = modifier.zIndex(99f) ) { Icon( imageVector = Icons.Default.ArrowBack, diff --git a/demos/appyx-navigation/iosApp/Podfile.lock b/demos/appyx-navigation/iosApp/Podfile.lock index 587d112ee..f59bc0534 100644 --- a/demos/appyx-navigation/iosApp/Podfile.lock +++ b/demos/appyx-navigation/iosApp/Podfile.lock @@ -9,7 +9,7 @@ EXTERNAL SOURCES: :path: "../ios" SPEC CHECKSUMS: - ios: 310d76ca95383dcf31f70ae1688b136b92834c28 + ios: 3d4757dd4a742fbd0647325e38cccbb4d4fcd140 PODFILE CHECKSUM: a1e557981a2880940a401c85ea35aafdd5895941 diff --git a/demos/appyx-navigation/iosApp/iosApp.xcodeproj/project.pbxproj b/demos/appyx-navigation/iosApp/iosApp.xcodeproj/project.pbxproj index c888c0443..af2d47b63 100644 --- a/demos/appyx-navigation/iosApp/iosApp.xcodeproj/project.pbxproj +++ b/demos/appyx-navigation/iosApp/iosApp.xcodeproj/project.pbxproj @@ -114,6 +114,7 @@ 7555FF77242A565900829871 /* Sources */, 7555FF79242A565900829871 /* Resources */, F85CB1118929364A9C6EFABC /* Frameworks */, + 5070500064C1023CB97B9B89 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -170,6 +171,23 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + 5070500064C1023CB97B9B89 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-iosApp/Pods-iosApp-resources-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-iosApp/Pods-iosApp-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-iosApp/Pods-iosApp-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; 98D614C51D2DA07C614CC46E /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; diff --git a/demos/appyx-navigation/iosApp/iosApp/iOSApp.swift b/demos/appyx-navigation/iosApp/iosApp/iOSApp.swift index 1f23b442a..ab9cb1191 100644 --- a/demos/appyx-navigation/iosApp/iosApp/iOSApp.swift +++ b/demos/appyx-navigation/iosApp/iosApp/iOSApp.swift @@ -7,7 +7,7 @@ struct iOSApp: App { ZStack { Color.white.ignoresSafeArea(.all) // status bar color ContentView() - }.preferredColorScheme(.light) + } } } -} \ No newline at end of file +} diff --git a/demos/appyx-navigation/web/src/jsMain/kotlin/com/bumble/appyx/navigation/Main.kt b/demos/appyx-navigation/web/src/jsMain/kotlin/com/bumble/appyx/navigation/Main.kt index 40840cfd5..7d5b76805 100644 --- a/demos/appyx-navigation/web/src/jsMain/kotlin/com/bumble/appyx/navigation/Main.kt +++ b/demos/appyx-navigation/web/src/jsMain/kotlin/com/bumble/appyx/navigation/Main.kt @@ -10,7 +10,6 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue -import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester @@ -78,7 +77,6 @@ fun main() { } } -@OptIn(ExperimentalComposeUiApi::class) private fun onKeyEvent( keyEvent: KeyEvent, events: Channel, diff --git a/demos/common/build.gradle.kts b/demos/common/build.gradle.kts index 2d4ae0e11..afa9c0c29 100644 --- a/demos/common/build.gradle.kts +++ b/demos/common/build.gradle.kts @@ -11,7 +11,7 @@ appyx { } kotlin { - android { + androidTarget { publishLibraryVariants("release") } jvm("desktop") { @@ -45,7 +45,7 @@ kotlin { implementation(libs.coil.compose) } } - val androidTest by getting { + val androidUnitTest by getting { dependencies { implementation(libs.junit) } diff --git a/demos/navigation-compose/build.gradle.kts b/demos/navigation-compose/build.gradle.kts index 88d89106e..e74b6aa13 100644 --- a/demos/navigation-compose/build.gradle.kts +++ b/demos/navigation-compose/build.gradle.kts @@ -17,7 +17,6 @@ dependencies { api(composeBom) api(project(":appyx-navigation:appyx-navigation")) api(project(":appyx-components:stable:backstack:backstack")) - api(libs.compose.ui.ui) implementation(composeBom) implementation(libs.androidx.navigation.compose) diff --git a/detekt.yml b/detekt.yml index 38bc362a2..df56a8b4c 100644 --- a/detekt.yml +++ b/detekt.yml @@ -17,9 +17,9 @@ style: ForbiddenComment: allowedPatterns: 'https://github.com/bumble-tech/appyx/issues/*' MagicNumber: - excludes: [ '**/test/**', '**/*Test.kt', '**/demos/**', '**/androidTest/**', '**/commonTest/**', '**/desktopTest/**' , '**/jsTest/**' ] + excludes: [ '**/test/**', '**/*Test.kt', '**/demos/**', '**/androidUnitTest/**', '**/commonTest/**', '**/desktopTest/**' , '**/jsTest/**' ] MaxLineLength: - excludes: [ '**/test/**', '**/*.Test.kt', '**/*.Spec.kt', '**/androidTest/**', '**/commonTest/**', '**/desktopTest/**' , '**/jsTest/**' ] + excludes: [ '**/test/**', '**/*.Test.kt', '**/*.Spec.kt', '**/androidUnitTest/**', '**/commonTest/**', '**/desktopTest/**' , '**/jsTest/**' ] excludeCommentStatements: true UnusedPrivateMember: # https://detekt.dev/docs/introduction/compose#unusedprivatemember diff --git a/documentation/components/backstack.md b/documentation/components/backstack.md index 57bf856ac..b4c614640 100644 --- a/documentation/components/backstack.md +++ b/documentation/components/backstack.md @@ -23,7 +23,7 @@ Class: `BackStackSlider` {{ compose_mpp_sample( - project_output_directory="demos/mkdocs/appyx-components/backstack/slider/web/build/distributions", + project_output_directory="demos/mkdocs/appyx-components/backstack/slider/web/build/dist/js/productionExecutable", compile_task=":demos:mkdocs:appyx-components:backstack:slider:web:jsBrowserDistribution", width=512, height=384, @@ -39,7 +39,7 @@ Class: `BackStackParallax` {{ compose_mpp_sample( - project_output_directory="demos/mkdocs/appyx-components/backstack/parallax/web/build/distributions", + project_output_directory="demos/mkdocs/appyx-components/backstack/parallax/web/build/dist/js/productionExecutable", compile_task=":demos:mkdocs:appyx-components:backstack:parallax:web:jsBrowserDistribution", width=512, height=384, @@ -55,7 +55,7 @@ Class: `BackStack3D` {{ compose_mpp_sample( - project_output_directory="demos/mkdocs/appyx-components/backstack/stack3d/web/build/distributions", + project_output_directory="demos/mkdocs/appyx-components/backstack/stack3d/web/build/dist/js/productionExecutable", compile_task=":demos:mkdocs:appyx-components:backstack:stack3d:web:jsBrowserDistribution", width=512, height=384, @@ -71,7 +71,7 @@ Class: `BackStackFader` {{ compose_mpp_sample( - project_output_directory="demos/mkdocs/appyx-components/backstack/fader/web/build/distributions", + project_output_directory="demos/mkdocs/appyx-components/backstack/fader/web/build/dist/js/productionExecutable", compile_task=":demos:mkdocs:appyx-components:backstack:fader:web:jsBrowserDistribution", width=512, height=384, diff --git a/documentation/components/experimental.md b/documentation/components/experimental.md index 4c7d44226..94670a444 100644 --- a/documentation/components/experimental.md +++ b/documentation/components/experimental.md @@ -15,7 +15,7 @@ Class: `CardsVisualisation` {{ compose_mpp_sample( - project_output_directory="demos/mkdocs/appyx-components/experimental/datingcards/web/build/distributions", + project_output_directory="demos/mkdocs/appyx-components/experimental/datingcards/web/build/dist/js/productionExecutable", compile_task=":demos:mkdocs:appyx-components:experimental:datingcards:web:jsBrowserDistribution", width=512, height=384, @@ -31,7 +31,7 @@ Class: `Puzzle15Visualisation` {{ compose_mpp_sample( - project_output_directory="demos/mkdocs/appyx-components/experimental/puzzle15/web/build/distributions", + project_output_directory="demos/mkdocs/appyx-components/experimental/puzzle15/web/build/dist/js/productionExecutable", compile_task=":demos:mkdocs:appyx-components:experimental:puzzle15:web:jsBrowserDistribution", width=512, height=384, diff --git a/documentation/components/index.md b/documentation/components/index.md index fb4911c5c..a2fe9a7d3 100644 --- a/documentation/components/index.md +++ b/documentation/components/index.md @@ -27,7 +27,7 @@ Check [its own page for more details](backstack.md). {{ compose_mpp_sample( - project_output_directory="demos/mkdocs/appyx-components/backstack/parallax/web/build/distributions", + project_output_directory="demos/mkdocs/appyx-components/backstack/parallax/web/build/dist/js/productionExecutable", compile_task=":demos:mkdocs:appyx-components:backstack:parallax:web:jsBrowserDistribution", width=512, height=384, @@ -45,7 +45,7 @@ Check [its own page for more details](spotlight.md). {{ compose_mpp_sample( - project_output_directory="demos/mkdocs/appyx-components/spotlight/slider/web/build/distributions", + project_output_directory="demos/mkdocs/appyx-components/spotlight/slider/web/build/dist/js/productionExecutable", compile_task=":demos:mkdocs:appyx-components:spotlight:slider:web:jsBrowserDistribution", width=512, height=384, @@ -64,7 +64,7 @@ Check [its own page for more details](experimental.md). {{ compose_mpp_sample( - project_output_directory="demos/mkdocs/appyx-components/experimental/puzzle15/web/build/distributions", + project_output_directory="demos/mkdocs/appyx-components/experimental/puzzle15/web/build/dist/js/productionExecutable", compile_task=":demos:mkdocs:appyx-components:experimental:puzzle15:web:jsBrowserDistribution", width=512, height=384, diff --git a/documentation/components/spotlight.md b/documentation/components/spotlight.md index 4b6bcb6b7..75d024bfb 100644 --- a/documentation/components/spotlight.md +++ b/documentation/components/spotlight.md @@ -17,7 +17,7 @@ Class: `SpotlightSlider` {{ compose_mpp_sample( - project_output_directory="demos/mkdocs/appyx-components/spotlight/slider/web/build/distributions", + project_output_directory="demos/mkdocs/appyx-components/spotlight/slider/web/build/dist/js/productionExecutable", compile_task=":demos:mkdocs:appyx-components:spotlight:slider:web:jsBrowserDistribution", width=512, height=384, @@ -34,7 +34,7 @@ Class: `SpotlightSliderScale` {{ compose_mpp_sample( - project_output_directory="demos/mkdocs/appyx-components/spotlight/sliderscale/web/build/distributions", + project_output_directory="demos/mkdocs/appyx-components/spotlight/sliderscale/web/build/dist/js/productionExecutable", compile_task=":demos:mkdocs:appyx-components:spotlight:sliderscale:web:jsBrowserDistribution", width=512, height=384, @@ -50,7 +50,7 @@ Class: `SpotlightSliderRotation` {{ compose_mpp_sample( - project_output_directory="demos/mkdocs/appyx-components/spotlight/sliderrotation/web/build/distributions", + project_output_directory="demos/mkdocs/appyx-components/spotlight/sliderrotation/web/build/dist/js/productionExecutable", compile_task=":demos:mkdocs:appyx-components:spotlight:sliderrotation:web:jsBrowserDistribution", width=512, height=384, @@ -66,7 +66,7 @@ Class: `SpotlightStack3D` {{ compose_mpp_sample( - project_output_directory="demos/mkdocs/appyx-components/spotlight/stack3d/web/build/distributions", + project_output_directory="demos/mkdocs/appyx-components/spotlight/stack3d/web/build/dist/js/productionExecutable", compile_task=":demos:mkdocs:appyx-components:spotlight:stack3d:web:jsBrowserDistribution", width=512, height=384, @@ -82,7 +82,7 @@ Class: `SpotlightFader` {{ compose_mpp_sample( - project_output_directory="demos/mkdocs/appyx-components/spotlight/fader/web/build/distributions", + project_output_directory="demos/mkdocs/appyx-components/spotlight/fader/web/build/dist/js/productionExecutable", compile_task=":demos:mkdocs:appyx-components:spotlight:fader:web:jsBrowserDistribution", width=512, height=384, diff --git a/documentation/index.md b/documentation/index.md index 3a52f26de..8f5b99521 100644 --- a/documentation/index.md +++ b/documentation/index.md @@ -40,7 +40,7 @@ Appyx is a collection of libraries: {{ compose_mpp_sample( - project_output_directory="demos/mkdocs/appyx-components/backstack/parallax/web/build/distributions", + project_output_directory="demos/mkdocs/appyx-components/backstack/parallax/web/build/dist/js/productionExecutable", compile_task=":demos:mkdocs:appyx-components:backstack:parallax:web:jsBrowserDistribution", width=512, height=384, @@ -63,7 +63,7 @@ Appyx is a collection of libraries: {{ compose_mpp_sample( - project_output_directory="demos/mkdocs/appyx-interactions/interactions/sample2/web/build/distributions", + project_output_directory="demos/mkdocs/appyx-interactions/interactions/sample2/web/build/dist/js/productionExecutable", compile_task=":demos:mkdocs:appyx-interactions:interactions:sample2:web:jsBrowserDistribution", width=512, height=384, @@ -84,7 +84,7 @@ Back stack, Spotlight (pager), and other UI components built using [Appyx Intera {{ compose_mpp_sample( - project_output_directory="demos/mkdocs/appyx-components/spotlight/slider/web/build/distributions", + project_output_directory="demos/mkdocs/appyx-components/spotlight/slider/web/build/dist/js/productionExecutable", compile_task=":demos:mkdocs:appyx-components:spotlight:slider:web:jsBrowserDistribution", width=512, height=384, diff --git a/documentation/interactions/gestures.md b/documentation/interactions/gestures.md index 92f101853..06fac0c19 100644 --- a/documentation/interactions/gestures.md +++ b/documentation/interactions/gestures.md @@ -138,7 +138,7 @@ Let's see how the internal demo, `TestDrive` implements its gestures: {{ compose_mpp_sample( - project_output_directory="demos/mkdocs/appyx-interactions/interactions/sample1/web/build/distributions", + project_output_directory="demos/mkdocs/appyx-interactions/interactions/sample1/web/build/dist/js/productionExecutable", compile_task=":demos:mkdocs:appyx-interactions:interactions:sample1:web:jsBrowserDistribution", width=512, height=384, @@ -201,7 +201,7 @@ A more advanced version allows every state to move to each of the other 3 states {{ compose_mpp_sample( - project_output_directory="demos/mkdocs/appyx-interactions/interactions/sample1/web/build/distributions", + project_output_directory="demos/mkdocs/appyx-interactions/interactions/sample1/web/build/dist/js/productionExecutable", compile_task=":demos:mkdocs:appyx-interactions:interactions:sample1:web:jsBrowserDistribution", width=512, height=384, @@ -280,7 +280,7 @@ The target UI state can be rendered immediately upon starting a drag. Note how t {{ compose_mpp_sample( - project_output_directory="demos/mkdocs/appyx-interactions/gestures/dragprediction/web/build/distributions", + project_output_directory="demos/mkdocs/appyx-interactions/gestures/dragprediction/web/build/dist/js/productionExecutable", compile_task=":demos:mkdocs:appyx-interactions:gestures:dragprediction:web:jsBrowserDistribution", width=512, height=384, @@ -314,7 +314,7 @@ Here's an example that uses a `completionThreshold` value of `0.15f` (15%). Noti {{ compose_mpp_sample( - project_output_directory="demos/mkdocs/appyx-interactions/gestures/incompletedrag/web/build/distributions", + project_output_directory="demos/mkdocs/appyx-interactions/gestures/incompletedrag/web/build/dist/js/productionExecutable", compile_task=":demos:mkdocs:appyx-interactions:gestures:incompletedrag:web:jsBrowserDistribution", width=512, height=384, diff --git a/documentation/interactions/index.md b/documentation/interactions/index.md index 1845db479..ccefcf75c 100644 --- a/documentation/interactions/index.md +++ b/documentation/interactions/index.md @@ -16,7 +16,7 @@ Try this interactive sample! You can either: {{ compose_mpp_sample( - project_output_directory="demos/mkdocs/appyx-interactions/interactions/sample1/web/build/distributions", + project_output_directory="demos/mkdocs/appyx-interactions/interactions/sample1/web/build/dist/js/productionExecutable", compile_task=":demos:mkdocs:appyx-interactions:interactions:sample1:web:jsBrowserDistribution", width=512, height=384, @@ -140,7 +140,7 @@ Adding this new UI property will result in the below sample **with no additional {{ compose_mpp_sample( - project_output_directory="demos/mkdocs/appyx-interactions/interactions/sample2/web/build/distributions", + project_output_directory="demos/mkdocs/appyx-interactions/interactions/sample2/web/build/dist/js/productionExecutable", compile_task=":demos:mkdocs:appyx-interactions:interactions:sample2:web:jsBrowserDistribution", width=512, height=384, @@ -178,7 +178,7 @@ Appyx supports two main operation modes: `Keyframe` and `Immediate`. The main di You can achieve a very different effect by spamming the buttons a few times: {{ compose_mpp_sample( - project_output_directory="demos/mkdocs/appyx-interactions/interactions/sample3/web/build/distributions", + project_output_directory="demos/mkdocs/appyx-interactions/interactions/sample3/web/build/dist/js/productionExecutable", compile_task=":demos:mkdocs:appyx-interactions:interactions:sample3:web:jsBrowserDistribution", width=512, height=384, diff --git a/documentation/interactions/operations.md b/documentation/interactions/operations.md index 1c87840e9..feba162cd 100644 --- a/documentation/interactions/operations.md +++ b/documentation/interactions/operations.md @@ -47,7 +47,7 @@ You can test their effects on the below sample. Try spamming the buttons: {{ compose_mpp_sample( - project_output_directory="demos/mkdocs/appyx-interactions/interactions/sample3/web/build/distributions", + project_output_directory="demos/mkdocs/appyx-interactions/interactions/sample3/web/build/dist/js/productionExecutable", compile_task=":demos:mkdocs:appyx-interactions:interactions:sample3:web:jsBrowserDistribution", width=512, height=384, diff --git a/documentation/interactions/ui-representation.md b/documentation/interactions/ui-representation.md index 1614441cd..388367c44 100644 --- a/documentation/interactions/ui-representation.md +++ b/documentation/interactions/ui-representation.md @@ -74,7 +74,7 @@ Doing so, Appyx will animate elements between these `TargetUiStates` as the abst {{ compose_mpp_sample( - project_output_directory="demos/mkdocs/appyx-interactions/interactions/sample2/web/build/distributions", + project_output_directory="demos/mkdocs/appyx-interactions/interactions/sample2/web/build/dist/js/productionExecutable", compile_task=":demos:mkdocs:appyx-interactions:interactions:sample2:web:jsBrowserDistribution", width=512, height=384, @@ -189,7 +189,7 @@ val rotationY = motionPropertyRenderValue() {{ compose_mpp_sample( - project_output_directory="demos/mkdocs/appyx-interactions/interactions/observemp/web/build/distributions", + project_output_directory="demos/mkdocs/appyx-interactions/interactions/observemp/web/build/dist/js/productionExecutable", compile_task=":demos:mkdocs:appyx-interactions:interactions:observemp:web:jsBrowserDistribution", width=512, height=384, diff --git a/documentation/navigation/index.md b/documentation/navigation/index.md index 64c9038d8..98beb3457 100644 --- a/documentation/navigation/index.md +++ b/documentation/navigation/index.md @@ -53,7 +53,7 @@ title: Appyx Navigation – Overview {{ compose_mpp_sample( - project_output_directory="demos/mkdocs/appyx-components/backstack/parallax/web/build/distributions", + project_output_directory="demos/mkdocs/appyx-components/backstack/parallax/web/build/dist/js/productionExecutable", compile_task=":demos:mkdocs:appyx-components:backstack:parallax:web:jsBrowserDistribution", width=512, height=384, diff --git a/documentation/navigation/multiplatform.md b/documentation/navigation/multiplatform.md index d15999693..b541b19f3 100644 --- a/documentation/navigation/multiplatform.md +++ b/documentation/navigation/multiplatform.md @@ -230,7 +230,6 @@ In the above [desktop](#desktop) and [web](#web) examples there is a reference t You can configure any `KeyEvent` to trigger a back event via the events `Channel`. In this example the `OnBackPressed` event is launched when the backspace key is pressed down: ```kotlin -@OptIn(ExperimentalComposeUiApi::class) private fun onKeyEvent( keyEvent: KeyEvent, events: Channel, diff --git a/gradle.properties b/gradle.properties index dc029ce8d..70af25a23 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,14 +4,11 @@ android.nonTransitiveRClass=false android.useAndroidX=true kotlin.code.style=official kotlin.mpp.androidSourceSetLayoutVersion1.nowarn=true -kotlin.native.enableDependencyPropagation=false +kotlin.mpp.stability.nowarn=true +kotlin.mpp.enableCInteropCommonization=true library.version=2.0.0-alpha08 org.gradle.caching=true org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 org.gradle.parallel=true org.jetbrains.compose.experimental.jscanvas.enabled=true - -kotlin.mpp.stability.nowarn=true -kotlin.mpp.enableCInteropCommonization=true org.jetbrains.compose.experimental.uikit.enabled=true -kotlin.native.cacheKind=none diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index efb3eebb5..928d9b33d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,22 +3,22 @@ [versions] accompanist = "0.28.0" agp = "8.1.1" -androidCompileSdk = "33" +androidCompileSdk = "34" androidMinSdk = "21" androidTargetSdk = "32" androidx-lifecycle = "2.6.1" androidx-navigation-compose = "2.5.1" coil = "2.2.1" -composePlugin = "1.4.0" +composePlugin = "1.5.3" composeBom = "2023.05.01" -composeCompiler = "1.4.4" +composeCompiler = "1.5.3" coroutines = "1.6.4" dependencyAnalysis = "1.13.1" detekt = "1.21.0" junit5 = "5.8.2" jvmTarget = "11" -kotlin = "1.8.10" -ksp = "1.8.0-1.0.8" +kotlin = "1.9.10" +ksp = "1.9.10-1.0.13" mvicore = "1.2.6" ribs = "0.39.0" serialization-json = "1.5.0" @@ -52,6 +52,7 @@ compose-material3 = { module = "androidx.compose.material3:material3" } compose-material-icons-extended = { module = "androidx.compose.material:material-icons-extended" } compose-runtime = { module = "androidx.compose.runtime:runtime" } compose-ui-test-junit4 = { module = "androidx.compose.ui:ui-test-junit4" } +compose-ui-test-junit4-android = { group = "androidx.compose.ui", name = "ui-test-junit4-android", version.ref = "composeCompiler" } compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling" } compose-ui-ui = { module = "androidx.compose.ui:ui" } compose-ui-test-manifest = { module = "androidx.compose.ui:ui-test-manifest" } diff --git a/kotlin-js-store/yarn.lock b/kotlin-js-store/yarn.lock index 1a8ba3b20..5b5f56b25 100644 --- a/kotlin-js-store/yarn.lock +++ b/kotlin-js-store/yarn.lock @@ -31,10 +31,10 @@ resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== -"@jridgewell/source-map@^0.3.2": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.3.tgz#8108265659d4c33e72ffe14e33d6cc5eb59f2fda" - integrity sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg== +"@jridgewell/source-map@^0.3.3": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91" + integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== dependencies: "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" @@ -57,6 +57,11 @@ "@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== + "@leichtgewicht/ip-codec@^2.0.1": version "2.0.4" resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" @@ -130,10 +135,10 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.1.tgz#aa22750962f3bf0e79d753d3cc067f010c95f194" integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA== -"@types/estree@^0.0.51": - version "0.0.51" - 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.2" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.2.tgz#ff02bc3dc8317cd668dfec247b750ba1f1d62453" + integrity sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA== "@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": version "4.17.34" @@ -234,148 +239,141 @@ dependencies: "@types/node" "*" -"@ungap/promise-all-settled@1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" - integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== - -"@webassemblyjs/ast@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" - integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - -"@webassemblyjs/floating-point-hex-parser@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" - integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== - -"@webassemblyjs/helper-api-error@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" - integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== - -"@webassemblyjs/helper-buffer@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" - integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== - -"@webassemblyjs/helper-numbers@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" - integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" +"@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== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + +"@webassemblyjs/floating-point-hex-parser@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" + integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== + +"@webassemblyjs/helper-api-error@1.11.6": + version "1.11.6" + 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-numbers@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" + integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" "@xtuc/long" "4.2.2" -"@webassemblyjs/helper-wasm-bytecode@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" - integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== +"@webassemblyjs/helper-wasm-bytecode@1.11.6": + version "1.11.6" + 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.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" - integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== +"@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== dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" -"@webassemblyjs/ieee754@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" - integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== +"@webassemblyjs/ieee754@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" + integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/leb128@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" - integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== +"@webassemblyjs/leb128@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" + integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== dependencies: "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" - integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== - -"@webassemblyjs/wasm-edit@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" - integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/helper-wasm-section" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-opt" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - "@webassemblyjs/wast-printer" "1.11.1" - -"@webassemblyjs/wasm-gen@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" - integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wasm-opt@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" - integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - -"@webassemblyjs/wasm-parser@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" - integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wast-printer@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" - integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== - dependencies: - "@webassemblyjs/ast" "1.11.1" +"@webassemblyjs/utf8@1.11.6": + version "1.11.6" + 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== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@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-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== + 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/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== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@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== + dependencies: + "@webassemblyjs/ast" "1.11.6" "@xtuc/long" "4.2.2" -"@webpack-cli/configtest@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.2.0.tgz#7b20ce1c12533912c3b217ea68262365fa29a6f5" - integrity sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg== +"@webpack-cli/configtest@^2.1.0": + 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@^1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.5.0.tgz#6c78c13c5874852d6e2dd17f08a41f3fe4c261b1" - integrity sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ== - dependencies: - envinfo "^7.7.3" +"@webpack-cli/info@^2.0.1": + 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@^1.7.0": - version "1.7.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.7.0.tgz#e1993689ac42d2b16e9194376cfb6753f6254db1" - integrity sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q== +"@webpack-cli/serve@^2.0.3": + 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" @@ -405,11 +403,16 @@ acorn-import-assertions@^1.7.6: resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== -acorn@^8.5.0, acorn@^8.7.1: +acorn@^8.7.1: version "8.8.2" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== +acorn@^8.8.2: + version "8.10.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5" + integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== + ajv-formats@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" @@ -693,16 +696,16 @@ colorette@^2.0.10, colorette@^2.0.14: 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== -commander@^7.0.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - compressible@~2.0.16: version "2.0.18" resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" @@ -885,14 +888,6 @@ dom-serialize@^2.2.1: extend "^3.0.0" void-elements "^2.0.0" -dukat@0.5.8-rc.4: - version "0.5.8-rc.4" - resolved "https://registry.yarnpkg.com/dukat/-/dukat-0.5.8-rc.4.tgz#90384dcb50b14c26f0e99dae92b2dea44f5fce21" - integrity sha512-ZnMt6DGBjlVgK2uQamXfd7uP/AxH7RqI0BL9GLrrJb2gKdDxvJChWy+M9AQEaL+7/6TmxzJxFOsRiInY9oGWTA== - dependencies: - google-protobuf "3.12.2" - typescript "3.9.5" - ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" @@ -934,10 +929,10 @@ engine.io@~6.4.1: engine.io-parser "~5.0.3" ws "~8.11.0" -enhanced-resolve@^5.10.0: - version "5.13.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.13.0.tgz#26d1ecc448c02de997133217b5c1053f34a0a275" - integrity sha512-eyV8f0y1+bzyfh8xAwW/WTSZpLbjhqc4ne9eGSH4Zo2ejdyiNG9pU6mf9DG8a7+Auk6MFTlNOT4Y2y/9k8GKVg== +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== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -952,10 +947,10 @@ envinfo@^7.7.3: resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== -es-module-lexer@^0.9.0: - version "0.9.3" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" - integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== +es-module-lexer@^1.2.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.3.1.tgz#c1b0dd5ada807a3b3155315911f364dc4e909db1" + integrity sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q== escalade@^3.1.1: version "3.1.1" @@ -1155,7 +1150,7 @@ follow-redirects@^1.0.0: resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== -format-util@1.0.5: +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== @@ -1254,12 +1249,7 @@ glob@^7.1.3, glob@^7.1.7: once "^1.3.0" path-is-absolute "^1.0.0" -google-protobuf@3.12.2: - version "3.12.2" - resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.12.2.tgz#50ce9f9b6281235724eb243d6a83e969a2176e53" - integrity sha512-4CZhpuRr1d6HjlyrxoXoocoGFnRYgKULgMtikMddA9ztRyYR59Aondv2FioyxWVamRo0rF2XpYawkTCBEQOSkA== - -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.10, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: 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== @@ -1402,10 +1392,10 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== -interpret@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" - integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== +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== ipaddr.js@1.9.1: version "1.9.1" @@ -1424,10 +1414,10 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" -is-core-module@^2.11.0: - version "2.12.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.0.tgz#36ad62f6f73c8253fd6472517a12483cf03e7ec4" - integrity sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ== +is-core-module@^2.13.0: + version "2.13.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db" + integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== dependencies: has "^1.0.3" @@ -1550,10 +1540,10 @@ jsonfile@^4.0.0: optionalDependencies: graceful-fs "^4.1.6" -karma-chrome-launcher@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz#baca9cc071b1562a1db241827257bfe5cab597ea" - integrity sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ== +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" @@ -1564,12 +1554,12 @@ karma-mocha@2.0.1: dependencies: minimist "^1.2.3" -karma-sourcemap-loader@0.3.8: - version "0.3.8" - resolved "https://registry.yarnpkg.com/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.8.tgz#d4bae72fb7a8397328a62b75013d2df937bdcf9c" - integrity sha512-zorxyAakYZuBcHRJE+vbrK2o2JXLFWK8VVjiT/6P+ltLBUGUvqTEkUiQ119MGdOrK7mrmxXHZF1/pfT6GgIZ6g== +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.1.2" + graceful-fs "^4.2.10" karma-webpack@5.0.0: version "5.0.0" @@ -1580,10 +1570,10 @@ karma-webpack@5.0.0: minimatch "^3.0.4" webpack-merge "^4.1.5" -karma@6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/karma/-/karma-6.4.0.tgz#82652dfecdd853ec227b74ed718a997028a99508" - integrity sha512-s8m7z0IF5g/bS5ONT7wsOavhW4i4aFkzD4u4wgzAQWT4HGUeWI3i21cK2Yz6jndMAeHETp5XuNsRoyGJZXVd4w== +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== dependencies: "@colors/colors" "1.5.0" body-parser "^1.19.0" @@ -1615,6 +1605,14 @@ kind-of@^6.0.2: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== +launch-editor@^2.6.0: + version "2.6.1" + resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.6.1.tgz#f259c9ef95cbc9425620bbbd14b468fcdb4ffe3c" + integrity sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw== + dependencies: + picocolors "^1.0.0" + shell-quote "^1.8.1" + loader-runner@^4.2.0: version "4.3.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" @@ -1751,12 +1749,11 @@ mkdirp@^0.5.5: dependencies: minimist "^1.2.6" -mocha@10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.0.0.tgz#205447d8993ec755335c4b13deba3d3a13c4def9" - integrity sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA== +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== dependencies: - "@ungap/promise-all-settled" "1.1.2" ansi-colors "4.1.1" browser-stdout "1.3.1" chokidar "3.5.3" @@ -2075,12 +2072,12 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" -rechoir@^0.7.0: - version "0.7.1" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.1.tgz#9478a96a1ca135b5e88fc027f03ee92d6c645686" - integrity sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg== +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.9.0" + resolve "^1.20.0" require-directory@^2.1.1: version "2.1.1" @@ -2109,12 +2106,12 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve@^1.9.0: - version "1.22.2" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" - integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== +resolve@^1.20.0: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== dependencies: - is-core-module "^2.11.0" + is-core-module "^2.13.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" @@ -2150,7 +2147,7 @@ safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -schema-utils@^3.1.0, schema-utils@^3.1.1: +schema-utils@^3.1.1: version "3.1.2" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.2.tgz#36c10abca6f7577aeae136c804b0c741edeadc99" integrity sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg== @@ -2159,6 +2156,15 @@ schema-utils@^3.1.0, schema-utils@^3.1.1: ajv "^6.12.5" ajv-keywords "^3.5.2" +schema-utils@^3.1.2: + 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.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.0.1.tgz#eb2d042df8b01f4b5c276a2dfd41ba0faab72e8d" @@ -2174,7 +2180,7 @@ select-hose@^2.0.0: resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== -selfsigned@^2.0.1: +selfsigned@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.1.1.tgz#18a7613d714c0cd3385c48af0075abf3f266af61" integrity sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ== @@ -2266,6 +2272,11 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== +shell-quote@^1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" + integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== + side-channel@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" @@ -2321,10 +2332,10 @@ source-map-js@^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.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-4.0.0.tgz#bdc6b118bc6c87ee4d8d851f2d4efcc5abdb2ef5" - integrity sha512-i3KVgM3+QPAHNbGavK+VBq03YoJl24m9JWNbLgsjTj8aJzXG9M61bantBTNBt7CNwY2FYf+RJRYJ3pzalKjIrw== +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== dependencies: abab "^2.0.6" iconv-lite "^0.6.3" @@ -2449,24 +2460,24 @@ 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.1.3: - version "5.3.7" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz#ef760632d24991760f339fe9290deb936ad1ffc7" - integrity sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw== +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== dependencies: "@jridgewell/trace-mapping" "^0.3.17" jest-worker "^27.4.5" schema-utils "^3.1.1" serialize-javascript "^6.0.1" - terser "^5.16.5" + terser "^5.16.8" -terser@^5.16.5: - version "5.17.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.17.1.tgz#948f10830454761e2eeedc6debe45c532c83fd69" - integrity sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw== +terser@^5.16.8: + version "5.22.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.22.0.tgz#4f18103f84c5c9437aafb7a14918273310a8a49d" + integrity sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw== dependencies: - "@jridgewell/source-map" "^0.3.2" - acorn "^8.5.0" + "@jridgewell/source-map" "^0.3.3" + acorn "^8.8.2" commander "^2.20.0" source-map-support "~0.5.20" @@ -2502,15 +2513,10 @@ type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" -typescript@3.9.5: - version "3.9.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.5.tgz#586f0dba300cde8be52dd1ac4f7e1009c1b13f36" - integrity sha512-hSAifV3k+i6lEoCJ2k6R2Z/rp/H3+8sdmcn5NrS3/3kE7+RyZXm9aqvxWqjEXHAd8b0pShatpcdMTvEdvAJltQ== - -typescript@4.7.4: - version "4.7.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" - integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== +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== ua-parser-js@^0.7.30: version "0.7.35" @@ -2587,22 +2593,23 @@ wbuf@^1.1.0, wbuf@^1.7.3: dependencies: minimalistic-assert "^1.0.0" -webpack-cli@4.10.0: - version "4.10.0" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.10.0.tgz#37c1d69c8d85214c5a65e589378f53aec64dab31" - integrity sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w== +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== dependencies: "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/configtest" "^1.2.0" - "@webpack-cli/info" "^1.5.0" - "@webpack-cli/serve" "^1.7.0" + "@webpack-cli/configtest" "^2.1.0" + "@webpack-cli/info" "^2.0.1" + "@webpack-cli/serve" "^2.0.3" colorette "^2.0.14" - commander "^7.0.0" + commander "^10.0.1" cross-spawn "^7.0.3" + envinfo "^7.7.3" fastest-levenshtein "^1.0.12" import-local "^3.0.2" - interpret "^2.2.0" - rechoir "^0.7.0" + interpret "^3.1.1" + rechoir "^0.8.0" webpack-merge "^5.7.3" webpack-dev-middleware@^5.3.1: @@ -2616,10 +2623,10 @@ webpack-dev-middleware@^5.3.1: range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-server@4.9.3: - version "4.9.3" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.9.3.tgz#2360a5d6d532acb5410a668417ad549ee3b8a3c9" - integrity sha512-3qp/eoboZG5/6QgiZ3llN8TUzkSpYg1Ko9khWX1h40MIEUNS2mDoIa8aXsPfskER+GbTvs/IJZ1QTBBhhuetSw== +webpack-dev-server@4.15.0: + version "4.15.0" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.15.0.tgz#87ba9006eca53c551607ea0d663f4ae88be7af21" + integrity sha512-HmNB5QeSl1KpulTBQ8UT4FPrByYyaLxpJoQ0+s7EvUrMc16m0ZS1sgb1XGqzmgCPk0c9y+aaXxn11tbLzuM7NQ== dependencies: "@types/bonjour" "^3.5.9" "@types/connect-history-api-fallback" "^1.3.5" @@ -2640,16 +2647,17 @@ webpack-dev-server@4.9.3: html-entities "^2.3.2" http-proxy-middleware "^2.0.3" ipaddr.js "^2.0.1" + launch-editor "^2.6.0" open "^8.0.9" p-retry "^4.5.0" rimraf "^3.0.2" schema-utils "^4.0.0" - selfsigned "^2.0.1" + selfsigned "^2.1.1" serve-index "^1.9.1" sockjs "^0.3.24" spdy "^4.0.2" webpack-dev-middleware "^5.3.1" - ws "^8.4.2" + ws "^8.13.0" webpack-merge@^4.1.5: version "4.2.2" @@ -2671,22 +2679,22 @@ 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.74.0: - version "5.74.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.74.0.tgz#02a5dac19a17e0bb47093f2be67c695102a55980" - integrity sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA== +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== dependencies: "@types/eslint-scope" "^3.7.3" - "@types/estree" "^0.0.51" - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/wasm-edit" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" + "@types/estree" "^1.0.0" + "@webassemblyjs/ast" "^1.11.5" + "@webassemblyjs/wasm-edit" "^1.11.5" + "@webassemblyjs/wasm-parser" "^1.11.5" acorn "^8.7.1" acorn-import-assertions "^1.7.6" browserslist "^4.14.5" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.10.0" - es-module-lexer "^0.9.0" + enhanced-resolve "^5.13.0" + es-module-lexer "^1.2.1" eslint-scope "5.1.1" events "^3.2.0" glob-to-regexp "^0.4.1" @@ -2695,9 +2703,9 @@ webpack@5.74.0: loader-runner "^4.2.0" mime-types "^2.1.27" neo-async "^2.6.2" - schema-utils "^3.1.0" + schema-utils "^3.1.2" tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" + terser-webpack-plugin "^5.3.7" watchpack "^2.4.0" webpack-sources "^3.2.3" @@ -2753,10 +2761,10 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== -ws@^8.4.2: - version "8.13.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" - integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== +ws@^8.13.0: + version "8.14.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.14.2.tgz#6c249a806eb2db7a20d26d51e7709eab7b2e6c7f" + integrity sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g== ws@~8.11.0: version "8.11.0" diff --git a/utils/customisations/build.gradle.kts b/utils/customisations/build.gradle.kts index e814865d6..06605fb95 100644 --- a/utils/customisations/build.gradle.kts +++ b/utils/customisations/build.gradle.kts @@ -13,7 +13,7 @@ publishingPlugin { } kotlin { - android { + androidTarget { publishLibraryVariants("release") } jvm("desktop") { diff --git a/utils/interop-ribs/build.gradle.kts b/utils/interop-ribs/build.gradle.kts index fc05f83f2..0a31cfddc 100644 --- a/utils/interop-ribs/build.gradle.kts +++ b/utils/interop-ribs/build.gradle.kts @@ -27,7 +27,6 @@ dependencies { implementation(libs.androidx.core) implementation(libs.androidx.lifecycle.java8) implementation(libs.androidx.activity.compose) - implementation(libs.compose.ui.ui) androidTestImplementation(composeBom) androidTestImplementation(libs.androidx.activity.compose) diff --git a/utils/material3/build.gradle.kts b/utils/material3/build.gradle.kts index a370433bd..7720afeec 100644 --- a/utils/material3/build.gradle.kts +++ b/utils/material3/build.gradle.kts @@ -14,7 +14,7 @@ publishingPlugin { } kotlin { - android { + androidTarget { publishLibraryVariants("release") } jvm("desktop") { diff --git a/utils/multiplatform/build.gradle.kts b/utils/multiplatform/build.gradle.kts index 352d148b9..8bb8b4545 100644 --- a/utils/multiplatform/build.gradle.kts +++ b/utils/multiplatform/build.gradle.kts @@ -15,7 +15,7 @@ publishingPlugin { } kotlin { - android { + androidTarget { publishLibraryVariants("release") } jvm("desktop") { diff --git a/utils/testing-ui/build.gradle.kts b/utils/testing-ui/build.gradle.kts index 268bc9a7c..c209ef394 100644 --- a/utils/testing-ui/build.gradle.kts +++ b/utils/testing-ui/build.gradle.kts @@ -22,7 +22,7 @@ dependencies { api(project(":appyx-navigation:appyx-navigation")) api(project(":utils:testing-ui-activity")) api(libs.androidx.test.rules) - api(libs.compose.ui.test.junit4) + api(libs.compose.ui.test.junit4.android) implementation(libs.androidx.lifecycle.java8) }