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 980f94910aa..5dc81990e78 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 @@ -165,12 +165,13 @@ class KotlinKarma(override val compilation: KotlinJsCompilation) : KotlinJsTestF //language=ES6 it.appendln( """ - (function() { + // noinspection JSUnnecessarySemicolon + ;(function(config) { const webpack = require('webpack'); config.plugins.push(new webpack.SourceMapDevToolPlugin({ moduleFilenameTemplate: "[absolute-resource-path]" })) - })(); + })(config); """.trimIndent() ) @@ -244,16 +245,16 @@ class KotlinKarma(override val compilation: KotlinJsCompilation) : KotlinJsTestF private fun createAdapterJs() { configurators.add { val npmProject = compilation.npmProject - val files = it.nodeModulesToLoad.map { npmProject.require(it) } + val file = it.nodeModulesToLoad + .map { npmProject.require(it) } + .single() val adapterJs = npmProject.dir.resolve("adapter-browser.js") adapterJs.printWriter().use { writer -> val karmaRunner = npmProject.require("kotlin-test-js-runner/kotlin-test-karma-runner.js") writer.println("require(${karmaRunner.jsQuoted()})") - files.forEach { file -> - writer.println("require(${file.jsQuoted()})") - } + writer.println("module.exports = require(${file.jsQuoted()})") } config.files.add(adapterJs.canonicalPath) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/mocha/KotlinMocha.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/mocha/KotlinMocha.kt index 777c41e356a..22f0a126ba3 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/mocha/KotlinMocha.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/mocha/KotlinMocha.kt @@ -98,7 +98,7 @@ class KotlinMocha(override val compilation: KotlinJsCompilation) : KotlinJsTestF val adapter = npmProject.require("kotlin-test-js-runner/kotlin-test-nodejs-runner.js") writer.println("require(${adapter.jsQuoted()})") - writer.println("require(${file.jsQuoted()})") + writer.println("module.exports = require(${file.jsQuoted()})") } } 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 17b37127c31..d8f010a82c9 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 @@ -227,7 +227,8 @@ data class KotlinWebpackConfig( appendln( """ // Report progress to console - (function(config) { + // noinspection JSUnnecessarySemicolon + ;(function(config) { const webpack = require('webpack'); const handler = (percentage, message, ...args) => { let p = percentage * 100;