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 fdb51a2b031..6c2b6463218 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 @@ -63,10 +63,6 @@ internal fun Project.addNpmDependencyExtension() { values() .forEach { scope -> - val scopePrefix = scope.name - .removePrefix(NORMAL.name) - .toLowerCase() - val type = when (scope) { NORMAL, OPTIONAL -> NpmDependencyExtension::class.java DEV -> DevNpmDependencyExtension::class.java @@ -94,12 +90,20 @@ internal fun Project.addNpmDependencyExtension() { extensions .add( TypeOf.typeOf(type), - lowerCamelCaseName(scopePrefix, "npm"), + scopePrefix(scope), extension ) } } +private fun scopePrefix(scope: NpmDependency.Scope): String { + val scopePrefix = scope.name + .removePrefix(NORMAL.name) + .toLowerCase() + + return lowerCamelCaseName(scopePrefix, "npm") +} + private abstract class AbstractNpmDependencyExtension( protected val project: Project, protected val scope: NpmDependency.Scope, @@ -204,7 +208,7 @@ private abstract class AbstractNpmDependencyExtension( protected fun npmDeclarationException(args: Array): Nothing { throw IllegalArgumentException( """ - |Unable to add NPM dependency with scope '$scope' by ${args.joinToString()} + |Unable to add NPM dependency with scope '${scope.name.toLowerCase()}' by ${args.joinToString()} |Possible variants: |${possibleVariants().joinToString("\n") { "- ${it.first} -> ${it.second}" }} """.trimMargin() @@ -212,7 +216,7 @@ private abstract class AbstractNpmDependencyExtension( } protected open fun possibleVariants(): List> { - return listOf("npm('name', 'version')" to "name:version") + return listOf("${scopePrefix(scope)}('name', 'version')" to "name:version") } protected fun generateKotlinExternalsIfPossible(vararg args: Any?): Boolean { @@ -278,8 +282,8 @@ private class DefaultNpmDependencyExtension( override fun possibleVariants(): List> { val result = super.possibleVariants() + listOf( - "npm(File)" to "File.name:File", - "npm('name', File)" to "name:File" + "${scopePrefix(scope)}(File)" to "File.name:File", + "${scopePrefix(scope)}('name', File)" to "name:File" ) if (_defaultGenerateKotlinExternals == null) {