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 a2040410676..fdb51a2b031 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 @@ -108,7 +108,7 @@ private abstract class AbstractNpmDependencyExtension( DevNpmDependencyExtension, PeerNpmDependencyExtension, Closure(project.dependencies) { - private val defaultGenerateKotlinExternals: Boolean + protected val defaultGenerateKotlinExternals: Boolean get() = _defaultGenerateKotlinExternals ?: false override fun invoke(name: String): NpmDependency = @@ -277,10 +277,20 @@ private class DefaultNpmDependencyExtension( } override fun possibleVariants(): List> { - return super.possibleVariants() + listOf( + val result = super.possibleVariants() + listOf( "npm(File)" to "File.name:File", "npm('name', File)" to "name:File" ) + + if (_defaultGenerateKotlinExternals == null) { + return result + } + + return result + .map { (first, second) -> + val value = first.replace(")", ", generateKotlinExternals = $defaultGenerateKotlinExternals)") + value to second + } } }