From 028c73d959e6129136eab2053d87cde6cb6abb5a Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Fri, 22 Nov 2019 09:44:42 +0300 Subject: [PATCH] [Gradle, JS] Add compatible operators for npm dependencies --- .../gradle/targets/js/KotlinJsPlugin.kt | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsPlugin.kt index 2ff77143528..13116361528 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsPlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsPlugin.kt @@ -17,14 +17,10 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsSingleTargetPreset import org.jetbrains.kotlin.gradle.targets.js.npm.NpmDependency import org.jetbrains.kotlin.gradle.utils.checkGradleCompatibility -interface Npm : (String) -> NpmDependency +interface Npm { + operator fun invoke(packageName: String, version: String = "*"): NpmDependency -fun Npm(lambda: (name: String) -> NpmDependency): Npm { - return object : Npm { - override fun invoke(name: String): NpmDependency { - return lambda(name) - } - } + operator fun invoke(org: String, packageName: String, version: String = "*"): NpmDependency } open class KotlinJsPlugin( @@ -39,7 +35,16 @@ open class KotlinJsPlugin( checkGradleCompatibility() - val npm = Npm { name: String -> NpmDependency(project, null, name, "*") } + val npm = object : Npm { + override fun invoke(packageName: String, version: String): NpmDependency { + return NpmDependency(project, null, packageName, version) + } + + override fun invoke(org: String, packageName: String, version: String): NpmDependency { + return NpmDependency(project, org, packageName, version) + } + + } (project.dependencies as ExtensionAware) .extensions