diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmVersions.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmVersions.kt index 4f461e48ec7..2424f3b4782 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmVersions.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmVersions.kt @@ -19,6 +19,15 @@ fun versionToNpmRanges(version: String): Set { .visit(parser.rangeSet())!! } +fun includedRange( + includedVersion: String, + includedWithCaret: Boolean = false +): NpmRange = + includedRange( + listOf(includedVersion), + includedWithCaret + ) + fun includedRange( includedVersions: List, includedWithCaret: Boolean = false diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/PackageJson.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/PackageJson.kt index bcd641620aa..a25e6642198 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/PackageJson.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/PackageJson.kt @@ -157,7 +157,7 @@ private fun chooseVersion( return newVersion } - return (includedRange(listOf(oldVersion)) intersect includedRange(listOf(newVersion)))?.toString() + return (includedRange(oldVersion) intersect includedRange(newVersion))?.toString() ?: throw GradleException( """ There is already declared version of '$module' with version '$oldVersion' which does not intersects with another declared version '${newVersion}' diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnEntryRegistry.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnEntryRegistry.kt index 030acf7f526..b2d016c04bf 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnEntryRegistry.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnEntryRegistry.kt @@ -24,14 +24,12 @@ internal class YarnEntryRegistry(private val lockFile: File) { return entry } - val versionRange = includedRange(listOf(version)) - entryMap.entries .firstOrNull { (_, entry) -> if (entry.version == null) { false } else { - (versionRange intersect includedRange(listOf(entry.version))) != null + (includedRange(version) intersect includedRange(entry.version)) != null } } ?.let { return it.value }