[Gradle, JS] Fix module.exports for adapter and modulization
- semicolon should be before Function expression, because in JS Standard there is no terminated semicolons - If use output.libraryExport for Webpack, entry files for karma should export something #KT-34554 fixed #KT-34555 fixed
This commit is contained in:
+7
-6
@@ -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)
|
||||
|
||||
+1
-1
@@ -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()})")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user