diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinBrowserJsIr.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinBrowserJsIr.kt index b902e67dab1..82bf82f5e31 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinBrowserJsIr.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinBrowserJsIr.kt @@ -61,13 +61,13 @@ open class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) : commonWebpackConfigurations.add(body) } - override fun configureMain(compilation: KotlinJsCompilation) { + override fun configureMain(compilation: KotlinJsIrCompilation) { configureRun(compilation) configureBuild(compilation) } private fun configureRun( - compilation: KotlinJsCompilation + compilation: KotlinJsIrCompilation ) { val project = compilation.target.project @@ -117,7 +117,7 @@ open class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) : } private fun configureBuild( - compilation: KotlinJsCompilation + compilation: KotlinJsIrCompilation ) { val project = compilation.target.project val nodeJs = NodeJsRootPlugin.apply(project.rootProject) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrSubTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrSubTarget.kt index fbdc6a27d37..ef09a536e09 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrSubTarget.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrSubTarget.kt @@ -164,7 +164,7 @@ abstract class KotlinJsIrSubTarget( } } - protected abstract fun configureMain(compilation: KotlinJsCompilation) + protected abstract fun configureMain(compilation: KotlinJsIrCompilation) companion object { const val RUN_TASK_NAME = "run" diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTargetConfigurator.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTargetConfigurator.kt index 1d318db8e48..a4c75c6313a 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTargetConfigurator.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTargetConfigurator.kt @@ -5,11 +5,11 @@ package org.jetbrains.kotlin.gradle.targets.js.ir +import org.jetbrains.kotlin.gradle.dsl.KotlinJsOptions import org.jetbrains.kotlin.gradle.plugin.KotlinJsIrSourceSetProcessor import org.jetbrains.kotlin.gradle.plugin.KotlinOnlyTargetConfigurator import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSetProcessor import org.jetbrains.kotlin.gradle.plugin.KotlinTargetWithTestsConfigurator -import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation import org.jetbrains.kotlin.gradle.targets.js.KotlinJsIrReportAggregatingTestRun import org.jetbrains.kotlin.gradle.tasks.KotlinTasksProvider import org.jetbrains.kotlin.gradle.testing.internal.kotlinTestRegistry @@ -54,15 +54,26 @@ open class KotlinJsIrTargetConfigurator(kotlinPluginVersion: String) : target.compilations.all { it.compileKotlinTask.kotlinOptions { - moduleKind = "umd" - sourceMap = true - sourceMapEmbedSources = null + configureOptions(DISABLE_PRE_IR) + } - freeCompilerArgs += listOf(DISABLE_PRE_IR) + it.productionCompileTask.kotlinOptions { + configureOptions(ENABLE_DCE, GENERATE_D_TS) + } + + it.developmentCompileTask.kotlinOptions { + configureOptions(GENERATE_D_TS) } } } + private fun KotlinJsOptions.configureOptions(vararg additionalCompilerArgs: String) { + moduleKind = "umd" + sourceMap = true + + freeCompilerArgs += additionalCompilerArgs.toList() + } + override fun defineConfigurationsForTarget(target: KotlinJsIrTarget) { super.defineConfigurationsForTarget(target) implementationToApiElements(target) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinNodeJsIr.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinNodeJsIr.kt index 235fe81d404..472d677a471 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinNodeJsIr.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinNodeJsIr.kt @@ -34,7 +34,7 @@ open class KotlinNodeJsIr @Inject constructor(target: KotlinJsIrTarget) : it.useMocha { } } - override fun configureMain(compilation: KotlinJsCompilation) { + override fun configureMain(compilation: KotlinJsIrCompilation) { configureRun(compilation) }