diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmRange.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmRange.kt index 91352982b64..a11225d8551 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmRange.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmRange.kt @@ -31,9 +31,15 @@ val NONE_RANGE = NpmRange( infix fun NpmRange.union(other: NpmRange): List { if (!isIntersect(other)) return listOf(this, other) - val startVersion = min(this.startVersion, other.startVersion) + val startVersion = when { + this.startVersion == null || other.startVersion == null -> null + else -> min(this.startVersion, other.startVersion) + } - val endVersion = max(this.endVersion, other.endVersion) + val endVersion = when { + this.endVersion == null || other.endVersion == null -> null + else -> max(this.endVersion, other.endVersion) + } return NpmRange( startVersion = startVersion, diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/semver.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/semver.kt index 100cd7d31e6..28b39073653 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/semver.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/semver.kt @@ -182,14 +182,8 @@ fun Version.toSemVer(): SemVer = build = buildIdentifiers.joinToString(".").let { if (it.isNotEmpty()) it else null } ) -fun min(a: SemVer?, b: SemVer?): SemVer? { - if (a == null || b == null) return null +fun min(a: SemVer, b: SemVer): SemVer = + if (a < b) a else b - return if (a < b) a else b -} - -fun max(a: SemVer?, b: SemVer?): SemVer? { - if (a == null || b == null) return null - - return if (a > b) a else b -} \ No newline at end of file +fun max(a: SemVer, b: SemVer): SemVer = + if (a > b) a else b \ No newline at end of file