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 b967f3e0224..55f1b5861a7 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 @@ -207,14 +207,23 @@ data class KotlinWebpackConfig( private fun Appendable.appendEntry() { if (entry == null || outputPath == null) return + val multiEntryOutput = "${outputFileName!!.removeSuffix(".js")}-[name].js" + //language=JavaScript 1.8 appendln( """ // entry - config.entry = ${entry.canonicalPath.jsQuoted()}; + config.entry = { + main: [${entry.canonicalPath.jsQuoted()}] + }; + config.output = { path: ${outputPath.canonicalPath.jsQuoted()}, - filename: ${outputFileName!!.jsQuoted()} + filename: (chunkData) => { + return chunkData.chunk.name === 'main' + ? ${outputFileName.jsQuoted()} + : ${multiEntryOutput.jsQuoted()}; + } }; """.trimIndent()