[Gradle, JS] Add test with webpack + es modules
This commit is contained in:
+37
-1
@@ -174,7 +174,7 @@ class Kotlin2JsIrGradlePluginIT : AbstractKotlin2JsGradlePluginIT(true) {
|
||||
|
||||
assertEquals(
|
||||
setOf(
|
||||
projectPath.resolve("build/js/packages/kotlin-js-browser-app/kotlin/kotlin-js-browser-base-js-ir.js").toFile(),
|
||||
projectPath.resolve("build/js/packages/kotlin-js-browser-app/kotlin/kotlin-js-browser-base-js-ir.mjs").toFile(),
|
||||
projectPath.resolve("build/js/packages/kotlin-js-browser-app/kotlin/foo/foo.txt").toFile(),
|
||||
),
|
||||
modified.toSet()
|
||||
@@ -487,6 +487,42 @@ class Kotlin2JsIrGradlePluginIT : AbstractKotlin2JsGradlePluginIT(true) {
|
||||
}
|
||||
}
|
||||
|
||||
@DisplayName("Webpack works with ES modules")
|
||||
@GradleTest
|
||||
fun testWebpackWorksWithEsModules(gradleVersion: GradleVersion) {
|
||||
project("kotlin-js-browser-project", gradleVersion) {
|
||||
buildGradleKts.modify(::transformBuildScriptWithPluginsDsl)
|
||||
|
||||
subProject("app").buildGradleKts.modify { originalScript ->
|
||||
buildString {
|
||||
append(originalScript)
|
||||
append(
|
||||
"""
|
||||
|
|
||||
|tasks.named<org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrLink>("compileDevelopmentExecutableKotlinJs") {
|
||||
| kotlinOptions {
|
||||
| moduleKind = "es"
|
||||
| }
|
||||
|}
|
||||
|
|
||||
|tasks.named<org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrLink>("compileProductionExecutableKotlinJs") {
|
||||
| kotlinOptions {
|
||||
| moduleKind = "es"
|
||||
| }
|
||||
|}
|
||||
|
|
||||
""".trimMargin()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
build("browserProductionWebpack") {
|
||||
assertTasksExecuted(":app:browserProductionWebpack")
|
||||
assertFileExists(subProject("app").projectPath.resolve("build/${Distribution.DIST}/js/productionExecutable/app.js"))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@DisplayName("Multiple targets works without clash")
|
||||
@GradleTest
|
||||
fun testMultipleJsTargets(gradleVersion: GradleVersion) {
|
||||
|
||||
+7
@@ -1,4 +1,5 @@
|
||||
import org.jetbrains.kotlin.gradle.targets.js.NpmVersions
|
||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrLink
|
||||
import javax.inject.Inject
|
||||
|
||||
plugins {
|
||||
@@ -76,3 +77,9 @@ tasks.named<org.jetbrains.kotlin.gradle.dsl.KotlinJsCompile>("compileKotlinJs")
|
||||
tasks.named<org.jetbrains.kotlin.gradle.dsl.KotlinJsCompile>("compileTestKotlinJs") {
|
||||
kotlinOptions.freeCompilerArgs += "-Xforce-deprecated-legacy-compiler-usage"
|
||||
}
|
||||
|
||||
tasks.withType<org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrLink>().configureEach {
|
||||
kotlinOptions {
|
||||
moduleKind = "es"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user