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 72b1e037924..2abf701e801 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 @@ -2,6 +2,9 @@ package org.jetbrains.kotlin.gradle import org.gradle.api.logging.LogLevel import org.jetbrains.kotlin.gradle.plugin.KotlinJsCompilerType +import org.jetbrains.kotlin.gradle.targets.js.npm.NpmProject +import org.jetbrains.kotlin.gradle.targets.js.npm.NpmProjectModules +import org.jetbrains.kotlin.gradle.targets.js.npm.fromSrcPackageJson import org.jetbrains.kotlin.gradle.tasks.USING_JS_INCREMENTAL_COMPILATION_MESSAGE import org.jetbrains.kotlin.gradle.tasks.USING_JS_IR_BACKEND_MESSAGE import org.jetbrains.kotlin.gradle.util.getFileByName @@ -570,9 +573,21 @@ abstract class AbstractKotlin2JsGradlePluginIT(private val irBackend: Boolean) : libProject.projectDir.copyRecursively(appProject.projectDir.resolve(libProject.projectDir.name)) + fun Project.asyncVersion(rootModulePath: String, moduleName: String): String = + NpmProjectModules(projectDir.resolve(rootModulePath)) + .require(moduleName) + .let { File(it).parentFile.parentFile.resolve(NpmProject.PACKAGE_JSON) } + .let { fromSrcPackageJson(it) } + .let { it!!.version } + with(appProject) { build("build") { assertSuccessful() + val appAsyncVersion = asyncVersion("build/js/node_modules/app", "async") + assertEquals("3.2.0", appAsyncVersion) + + val libAsyncVersion = asyncVersion("build/js/node_modules/lib2", "async") + assertEquals("2.6.2", libAsyncVersion) } } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-composite-build/app/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-composite-build/app/build.gradle.kts index c8f9d509a08..2aeee564f33 100755 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-composite-build/app/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-composite-build/app/build.gradle.kts @@ -16,4 +16,5 @@ kotlin.js { dependencies { implementation(kotlin("stdlib-js")) implementation("com.example:lib2") + implementation(npm("async", "3.2.0")) } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-composite-build/lib/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-composite-build/lib/build.gradle.kts index fa2da491278..da9eec6f68e 100755 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-composite-build/lib/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-composite-build/lib/build.gradle.kts @@ -14,4 +14,5 @@ kotlin.target.nodejs() dependencies { implementation(kotlin("stdlib-js")) + implementation(npm("async", "2.6.2")) } \ No newline at end of file