diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/DefaultKotlinDependencyHandler.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/DefaultKotlinDependencyHandler.kt index 9c748639c26..9107a3d9f7e 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/DefaultKotlinDependencyHandler.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/DefaultKotlinDependencyHandler.kt @@ -15,6 +15,7 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinNpmDependencyHandler import org.jetbrains.kotlin.gradle.targets.js.npm.NpmDependency import org.jetbrains.kotlin.gradle.targets.js.npm.directoryNpmDependency import org.jetbrains.kotlin.gradle.targets.js.npm.moduleName +import org.jetbrains.kotlin.gradle.targets.js.npm.onlyNameNpmDependency import java.io.File class DefaultKotlinDependencyHandler( @@ -66,10 +67,6 @@ class DefaultKotlinDependencyHandler( override fun project(notation: Map): ProjectDependency = project.dependencies.project(notation) as ProjectDependency - override fun npm(name: String): Dependency { - throw IllegalArgumentException("NPM dependency '$name' doesn't have version. Please, set version explicitly.") - } - private fun addDependencyByAnyNotation( configurationName: String, dependencyNotation: Any @@ -93,6 +90,9 @@ class DefaultKotlinDependencyHandler( project.dependencies.add(configurationName, it) } + override fun npm(name: String): Dependency = + onlyNameNpmDependency(name) + override fun npm(name: String, version: String): NpmDependency = NpmDependency( project = project, diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmDependency.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmDependency.kt index d76631e7d8c..82569599617 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmDependency.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmDependency.kt @@ -145,6 +145,12 @@ internal fun directoryNpmDependency( ) } +internal fun onlyNameNpmDependency( + name: String +): Nothing { + throw IllegalArgumentException("NPM dependency '$name' doesn't have version. Please, set version explicitly.") +} + internal fun String.isFileVersion() = startsWith(FILE_VERSION_PREFIX) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmDependencyExtension.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmDependencyExtension.kt index daa3c11d9b9..547c013d1bf 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmDependencyExtension.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmDependencyExtension.kt @@ -27,7 +27,7 @@ private class DefaultNpmDependencyExtension( private val scope: NpmDependency.Scope ) : NpmDependencyExtension, Closure(project.dependencies) { override fun invoke(name: String): NpmDependency = - throw IllegalArgumentException("NPM dependency '$name' doesn't have version. Please, set version explicitly.") + onlyNameNpmDependency(name) override operator fun invoke(name: String, version: String): NpmDependency = NpmDependency(