diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-test-webpack-config/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-test-webpack-config/build.gradle.kts index b0ad3c6e8b5..628a4a71c99 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-test-webpack-config/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-test-webpack-config/build.gradle.kts @@ -20,7 +20,6 @@ kotlin { inputFileProperty.set(provider { compilation.npmProject.require("webpack/bin/webpack.js") }.map { RegularFile { File(it) } }) dependsOn("browserDevelopmentWebpack") val configFile = tasks.named("browserDevelopmentWebpack").map { it.configFile }.get() - configFile.parentFile.listFiles().forEach { println(it)} args("configtest") args(configFile.absolutePath) } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/tasks/KotlinNpmInstallTask.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/tasks/KotlinNpmInstallTask.kt index 97c5f6286e2..ed073b2abbe 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/tasks/KotlinNpmInstallTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/tasks/KotlinNpmInstallTask.kt @@ -31,6 +31,19 @@ open class KotlinNpmInstallTask : DefaultTask() { @Input val args: MutableList = mutableListOf() + @get:Internal + val nodeModulesDir: File by lazy { + (nodeJs ?: unavailableValueError("nodeJs")) + .rootPackageDir + .resolve("node_modules") + } + + init { + outputs.upToDateWhen { + nodeModulesDir.isDirectory + } + } + @Suppress("unused") @get:PathSensitive(PathSensitivity.ABSOLUTE) @get:IgnoreEmptyDirectories