diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt index d5ac4649f19..9b040b3de27 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt @@ -444,4 +444,14 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() { ) } } + + @Test + fun testNpmDependenciesClash() = with(Project("npm-dependencies-clash", GradleVersionRequired.AtLeast("4.10.2"))) { + setupWorkingDir() + gradleBuildScript().modify(::transformBuildScriptWithPluginsDsl) + + build("test") { + assertSuccessful() + } + } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/npm-dependencies-clash/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/npm-dependencies-clash/build.gradle.kts new file mode 100644 index 00000000000..e3cdf39b069 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/npm-dependencies-clash/build.gradle.kts @@ -0,0 +1,31 @@ +plugins { + kotlin("js") version "" +} + +group = "com.example" +version = "1.0" + +repositories { + mavenLocal() + jcenter() +} + +kotlin.sourceSets { + getByName("main") { + dependencies { + implementation(kotlin("stdlib-js")) + } + } + + getByName("test") { + dependencies { + implementation(kotlin("test-js")) + implementation(npm("mocha")) + implementation(npm("puppeteer")) + } + } +} + +kotlin.target { + nodejs() +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/npm-dependencies-clash/settings.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/npm-dependencies-clash/settings.gradle.kts new file mode 100644 index 00000000000..62f90a16ae4 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/npm-dependencies-clash/settings.gradle.kts @@ -0,0 +1,8 @@ +pluginManagement { + repositories { + mavenLocal() + gradlePluginPortal() + } +} + +rootProject.name = "npm-dependencies-clash" \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/npm-dependencies-clash/src/main/kotlin/Main.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/npm-dependencies-clash/src/main/kotlin/Main.kt new file mode 100644 index 00000000000..c57768be63f --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/npm-dependencies-clash/src/main/kotlin/Main.kt @@ -0,0 +1,10 @@ +/* + * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package com.example + +fun main() { + println("Hello, Yarn") +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/npm-dependencies-clash/src/test/kotlin/SimpleTest.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/npm-dependencies-clash/src/test/kotlin/SimpleTest.kt new file mode 100644 index 00000000000..a8dcdff8dde --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/npm-dependencies-clash/src/test/kotlin/SimpleTest.kt @@ -0,0 +1,16 @@ +/* + * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package com.example + +import kotlin.test.Test +import kotlin.test.assertTrue + +class SimpleTest { + @Test + fun simpleTest() { + assertTrue { true } + } +} \ No newline at end of file