From bbe51469eee3f61ab7f32f6b8911c7a8c07ee7bb Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Tue, 24 Sep 2019 17:33:01 +0300 Subject: [PATCH] Add devtool property for webpack - Use inline-source-map for karma-webpack --- .../gradle/targets/js/testing/karma/KotlinKarma.kt | 2 ++ .../targets/js/webpack/KotlinWebpackConfig.kt | 13 ++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/karma/KotlinKarma.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/karma/KotlinKarma.kt index beb928576b3..c2edb224192 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/karma/KotlinKarma.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/karma/KotlinKarma.kt @@ -23,6 +23,7 @@ import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin import org.jetbrains.kotlin.gradle.targets.js.npm.npmProject import org.jetbrains.kotlin.gradle.targets.js.testing.* import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig +import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig.Devtool import org.jetbrains.kotlin.gradle.testing.internal.reportsDir import org.slf4j.Logger import java.io.File @@ -252,6 +253,7 @@ class KotlinKarma(override val compilation: KotlinJsCompilation) : KotlinJsTestF val webpackConfigWriter = KotlinWebpackConfig( configDirectory = project.projectDir.resolve("webpack.config.d").takeIf { it.isDirectory }, sourceMaps = true, + devtool = Devtool.INLINE_SOURCE_MAP, export = false, progressReporter = true, progressReporterPathFilter = nodeJs.rootPackageDir.absolutePath diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpackConfig.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpackConfig.kt index 205da811ed4..56e5769c6ea 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpackConfig.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpackConfig.kt @@ -25,7 +25,8 @@ data class KotlinWebpackConfig( val configDirectory: File? = null, val bundleAnalyzerReportDir: File? = null, val reportEvaluatedConfigFile: File? = null, - var devServer: DevServer? = null, + val devServer: DevServer? = null, + val devtool: Devtool = Devtool.EVAL_SOURCE_MAP, val showProgress: Boolean = false, val sourceMaps: Boolean = false, val export: Boolean = true, @@ -75,6 +76,12 @@ data class KotlinWebpackConfig( val contentBase: List ) : Serializable + enum class Devtool(val code: String) { + EVAL_SOURCE_MAP("eval-source-map"), + SOURCE_MAP("source-map"), + INLINE_SOURCE_MAP("inline-source-map") + } + fun save(configFile: File) { configFile.writer().use { appendTo(it) @@ -173,7 +180,7 @@ data class KotlinWebpackConfig( if (devServer == null) return appendln("// dev server") - appendln("config.devServer = ${json(devServer!!)};") + appendln("config.devServer = ${json(devServer)};") appendln() } @@ -189,7 +196,7 @@ data class KotlinWebpackConfig( use: ["source-map-loader"], enforce: "pre" }); - config.devtool = 'eval-source-map'; + config.devtool = '${devtool.code}'; """.trimIndent() )